AutoCAD/Block won't show up on it's layer.
Expert: Bill DeShawn - 2/5/2008
QuestionI have a drawing with multiple layers depicting several different configurations of a structure. On one layer, I created a block. Then I realized I needed this block on another layer as well.
I used the Express tools to "Copy to new layer." That seemed to go well. But when I turned off the original layer and turned on the layer I wished the block to appear on, it wasn't there. Went bakc to the original layer, listed entities by crosssing window (it found 2), and got this:
BLOCK REFERENCE Layer: "teloc"
Space: Model space
Handle = 9ef
Block Name: "stick"
<snip><snip>
BLOCK REFERENCE Layer: "eemod"
Space: Model space
Handle = 5f8
Block Name: "stick"
-----
So as you can see, the blocks are assigned to two different layers, but are being drawn only on the original layer.
Back in the day, I did a fair amount of LISP programming, and understand the concept of the database fairly well (I think) but this doens't make any sense to me.
Current version is Autocad Mechanical 2006 Service Pack 0.
Thanks for any help you can provide.
AnswerThe objects that you put within the block, should be placed on layer "0". If you do that, then whatever layer you place the block on, it will take on the properties of that layer as long as each of the nested objects are of the color "bylayer". I believe that their color properties are already "bylayer", so probably all you have to do is to remake the blocks with the objects on the 0 layer. If you look on my website under the AutoLISP and VLISP section, you will find a routine that redefines your block for you with all the objects within placed on layer "0". The name of the routine is called BF0.lsp. You place it in your working folder or a folder in the Support File Search Path. Then you type:
(load "bf0")
and remember that's a zero - not letter "o".
Then you type:
BF0
select a block and VOILÁ. It´s fixed. If for some odd reason it doesn't work, do a follow-up message on this forum and let me know.
And please! Unless there is a REAL GOOD reason for putting objects in blocks on a layer other than "0", then don't. Let "0" be the default layer for EVERYTHING in a block.
Keep in touch
Bill DeShawn
http://my.sterling.net/~bdeshawn