Insert blocks in layer problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Insert blocks in layer problem

Jaluman
Librecad 2.0.9
Ubuntu 16.04

I have a drawing with various layers when  inserting an item from Library blocks to X layer
can’t see the item on the specified layer it gets inserted in “0” layer.
How do do this properly?
Than you
Reply | Threaded
Open this post in threaded view
|

Re: Insert blocks in layer problem

dellus
If the block originally was drawn on layer 0, it will be inserted on the active layer. If it was drawn on one or several other layers, these layers will be imported if not already existing, and the various elements will be on those layers.
The insertion information is saved on the insertion/active layer, even if the block elements are lying on others. If you switch the insertion layer off, the block elements on those other layers disappear too.

So it shouldn't be what you describe. I suspect you have checked the layer status of your block with "Edit the active block in a separate window". With that window the original block layer is shown, probably 0, as this is preferable for a block drawing.
Reply | Threaded
Open this post in threaded view
|

Re: Insert blocks in layer problem

Charles Tucker
I am having the exact same problem....When I insert a block, either from the block list or library, into layer x, it does not show on that layer's view.  If I enable all layers I can then see the inserted block.  If I check the blocks properties, is shows the correct layer, layer x.  if I turn off layer x the block disapears, as expected.  If I turn off all layers and then turn layer x back on the block does not appear in layer x.  If I turn all blocks back on, it's there.  The edit block in new window is not enabled! So what is causing this issue?  Is this a unreported error?  Any help would be appreciated.
Reply | Threaded
Open this post in threaded view
|

Re: Insert blocks in layer problem

LordOfBikes
Administrator
I recommend to follow these steps for better understanding of blocks:

- start a new drawing, it has only layer 0
- from library browser insert misc/screw
- check layer list, layers _strech_lr_2 and auxiliary are added from the block
- create new layer 1, with different color or line type
- activate layer 1 and insert misc/screw from library browser again
- see differences in the inserted blocks and what happens when you toggle layer visibility

You will recognize, that what is layer 0 in the block editor becomes the layer in the drawing, to which the block was added. All other layers of the block are preserved.
When you add a block to a drawing it is done with an INSERT entity. That means, a reference to the block is added to the active layer.
Thus when you toggle layer 0 or 1 visibility, the whole block disappears, because the INSERT entity becomes invisible.
What is layer 0 in the block is translated to the INSERT's layer and it inherits properties, when they are set to BY_BLOCK or BY_LAYER in the block editor.
But when you toggle layers _strech_lr_2 or auxiliary visibility, parts of both added blocks disappear, from layer 0 block and layer 1 block.
When block properties are set different from BY_BLOCK or BY_LAYER, they are not modified on insert. This is possible, but does not make much sense, especially for libraries.

So this is the intended implementation of blocks in LibreCAD.
The libraries from library browser are presumably mostly community contributions and I can't say if they are all following this implementation or if they possibly cause issues.

We can check this, when you tell us which library and part is concerned or when you post a test case dxf file.
investing less than half an hour into Search function can save hours or days of waiting for a solution
Reply | Threaded
Open this post in threaded view
|

Re: Insert blocks in layer problem

Charles Tucker
Thank you for the quick and detailed response.  I tried what you suggested and things began to make sense.  I am by no means a engineer or draftsmen, so perhaps if you wouldn't mind you can help me figure out what I need to do.  I'm trying to create a design drawing for a steel-frame bbq I am to build.  At first, I laid the entire thing out on layer 0 then wanted to brake it down into modules for clarity; Sideburner_mod on Layer 1, Grill_mod layer 2, etc.  

When I couldn't copy and paste respective sections from layer 0 to there other layers, I tried creating Blocks and and then inserting them into the new layer, thus my problem.  It became a "phantom" block that could only be seen if I enabled both layers, the one from which the block was created, and the one on which I attempted the insert - strange but it sorta makes sense now.  What I found it that if I "explode" the block I can then move/copy to another layer.  Is this correct or am I going to find everything disapears again at some point.  Is there a better way???
Reply | Threaded
Open this post in threaded view
|

Re: Insert blocks in layer problem

dellus
To move entities to a different layer you don't have to use blocks at all. This only makes things complicated.
Use tools - Modify - Attributes instead. You can select several entities and change their layer. If you trigger the tool first and then do the selection, you have to close the selection with "Enter".
Reply | Threaded
Open this post in threaded view
|

Re: Insert blocks in layer problem

LordOfBikes
Administrator
Another option is to use this:

Goto Application Preferences, Defaults tab.
Set the option Modify layer of selected entities, at layer activation checked.
Now select multiple entities to move and then click on the target layer in the layer list.
This will change the layer of all selected entities.

In the manual: https://librecad.readthedocs.io/en/latest/getstart/configure.html?highlight=preferences#defaults

But this option can also be annoying, when entities are selected and are moved by accident on layer change.
So it depends on your general workflow, if you can keep this option always on or if you only activate it when needed.
investing less than half an hour into Search function can save hours or days of waiting for a solution
Reply | Threaded
Open this post in threaded view
|

Re: Insert blocks in layer problem

Charles Tucker
This is getting so frustrating....As best as I can tell the Attributes freature allows me to "move" entities only.  I need to "Copy" an entity to several layers.  I know that everything I've heard and read so far, this is not allowed in librecad.  But it seems strange to me that if your building a house and each level of the house is a different layer, that you can't copy a toilet and place it each bathroom on each floor (layer).  What am I missing?
Reply | Threaded
Open this post in threaded view
|

Re: Insert blocks in layer problem

perepujal
modify->move/copy by default keeps the entities in their original layer,
instead, if you check the "Use current layer" in the dialog box that appears when you place the copied entities,
then they are also moved/copied to the current layer.

HTH
Pere
Reply | Threaded
Open this post in threaded view
|

Re: Insert blocks in layer problem

Gary S
This post was updated on .
In reply to this post by Charles Tucker
Be careful copying blocks.  Each time you do so will add a block to the "Block List" and you will end up with multple versions of the block.  It is a problem in that if the block needs to be edited, there will be multiple versions to edit and it will result in a larger file. (*slower loading / saving, redrawing, ...)  If it only a couple of blocks it isn't a big deal...

If you require multple instances of the same block it is better to insert the block from the "Block List" each time.  Each instance remains linked to the "block insert" (parent block?  origin block?).

Check this thread: https://forum.librecad.org/Librecad-keeps-adding-blocks-to-block-list-td5715315.html

Also see: https://librecad.readthedocs.io/en/latest/guides/blocks.html


I thnk block behaviour is governed by quantum mechanics