Jump to content

Inserting a Block with Multiple Layers Behaviour Query


churchill

Recommended Posts

Hi all,

 

Query regarding layer control with blocks and stuff.

 

Traditionally to represent a computer on a drawing we would place two blocks, one would be the computer symbol itself, and one would be a unique reference (that we could attribute extract) directly above it. These two blocks, the symbol and the reference, would go onto their own two individual layers in the final drawing so that we could control the visibility and the colour of both the symbols and the references individually. The layers, for example, would be called:

 

  • Computer Symbols
  • Computer References

 

Both of these blocks would be drawn in BEDIT on Layer 0, such that they take the properties of the layer that they are eventually inserted on.

 

I'm looking to combine the two blocks into one, but would still like the individual layer control.

 

Is there a way I can combine the two blocks while still maintaining this individual layer control? I'm thinking that I'd have to draw the symbols and references on the above layers as opposed to Layer 0 in BEDIT, and then my 'new block' will probably have to go on a new 'total' layer like:

 

  • Computers
  • Computer Symbols
  • Computer References

 

So then I'd insert my 'symbols+references' block onto the 'Computers' layer. I don't really like this idea too much because it seems like I'm overcomplicating things (highly likely!). I guess what I'm really after is a 'symbol+references' block that moves as a group, but I can control in my traditional two layer approach.

 

Maybe this is the only way. Any thoughts? TIA!

Link to comment
Share on other sites

There are two options that i can see here. 3 including yours.

 

In the block draw the computer geometry on layer 0 and the attribute reference on layer Computer Reference

Insert the block on layer Computer Symbols and the geometry drawn on layer 0 will take on the properties of this layer assumeing all properties are set to by layer.

 

Second option is to create a dynamic block with visibilty parameters.

Draw computer geometry and the attribute on layer 0. Add a 2 visibility parameters. One called computer, one called computer with Reference (Or whatever you wish to dsitinguish between them)

Set the "Computer" visibility current. Then select the attribute, right click and select visibilty and change it so objects are not visible in current visibility.

Link to comment
Share on other sites

Hi feargt, many thanks for the input.

 

I had toyed with the idea of your first suggestion before, and have used it in the past for other use cases. I fear I may be about to throw a spanner in the works though!

 

I need to be able to 'freeze' the 'Computer Symbols' layer in a Viewport on a layout, but I still need the 'Computer References' layer to be visible in the viewport. This may seem like a peculiar request, but my actual use case doesn't relate to computers at all, I just used them as an abstract example!

 

If I had the option to 'turn off' per viewport I think I may have been alright, but it appears that ACAD 2011 only gives me the option to freeze per vport, and given the block composition if I freeze the 'Computer Symbols' layer then that in turn will hide my 'Computer References'.

 

I know I could do things the opposite way, i.e. create and insert the blocks on the opposite layer but then I'll run into the problem vice versa, which I need to avoid.

 

This has traditionally been why we treated the symbols and references as two distinct objects, so that we could get this control, but the need to enforce positioning consistency dictates that we combine them!

Link to comment
Share on other sites

i haven't thought it through, but would some sort of block and 'explode on insertion' do anything useful?

 

Yeah, sort of. Ideally a kind of explode on insert, and then the ability to still remain as one movable unit would be ideal.

 

The key thing I want to achieve is keeping the symbol and the reference in uniform positions, and 'as one unit', i.e. the reference is ALWAYS vertically and centrally positioned above the symbol, and I fear that this rule could be lost with the explode method as the reference could be accidentally moved around.

 

I know this is a real sod of a problem, but all your thoughts are very much appreciated!

Link to comment
Share on other sites

Given that your layers are similar to what you stated, freezing the layer in the viewport should work as expected, letting you show either the symbol or the attribute. Could you post a sample block?

Link to comment
Share on other sites

If you use your three layers: Computers; computer Symbols; Computer References.

Create your block objects (which will be nothing) on Layer 0, the geometry on layer 'Computer Symbol' and the reference on layer 'Computer Reference'. All entities having the colour 'from layer'.

Insert your block on layer 'Computer'.

Freezing layer 'Computer' will hide everything.

Freezing layer 'Computer Symbol' will just hide the geometry.

Freezing layer 'Computer Reference' will just hide the reference.

Moving any one of the objects in the block will move all of them together, regardless of whether any of the layers are frozen.

Changing the colour of any of the layers will be reflected in all references of the block.

 

That should do what you are looking for.

Link to comment
Share on other sites

If you use your three layers: Computers; computer Symbols; Computer References.

Create your block objects (which will be nothing) on Layer 0, the geometry on layer 'Computer Symbol' and the reference on layer 'Computer Reference'. All entities having the colour 'from layer'.

Insert your block on layer 'Computer'.

Freezing layer 'Computer' will hide everything.

Freezing layer 'Computer Symbol' will just hide the geometry.

Freezing layer 'Computer Reference' will just hide the reference.

Moving any one of the objects in the block will move all of them together, regardless of whether any of the layers are frozen.

Changing the colour of any of the layers will be reflected in all references of the block.

 

That should do what you are looking for.

I think that the above suggestion will be the most suitable for this scenario. Thanks all for the suggestions!

Link to comment
Share on other sites

I think that the above suggestion will be the most suitable for this scenario. Thanks all for the suggestions!

 

You are more than welcome. Let's hope it works for you.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...