Selection of layers in Layer states

zxcutt
edited February 2021 in 2D Drafting

This is my first post, hello all!!!
First of all, say that the layer states video is very good and I could understand perfectly how to show different states and to customize the toolbar.
The tool is very powerful and I was looking to be able to do so for ages.
However, I feel that selecting layers for each layer state is a tedious labour, as I have no means of filtering layers to select them, other than the letter order. I would love to have a properties filter, or being able to copy paste layers from somewhere I could filter them.

To understand it fully, I worked with an autocad plugin DDCAD(extinct), which organized layers with stacked floors with the floor number at the end (like door1-01), so making properties filters is quite easy (*-01) but to make a layer state to only see this floor takes too much time as I have to go through more than 400 layers checking one by one and deleting all the other ones.
Is there an easier way to do it?
Thanks

Comments

  • Anthony Apostolaros
    edited February 2021

    I have my F9 key set up as a macro to make the selected object's layer the active layer.
    <SHIFT>-LAYMCUR<ENTER>
    And I have my F10 key set up as a macro to turn off all layers except the active layer.
    -LAYER<ENTER>OFF<ENTER><SHIFTD>8<SHIFTU><ENTER><ENTER><ENTER>
    So by combining F9 & F10 I get all layers turned off except the layer of a selected object.
    I use Macro Express, but I think you can do the same thing with the Keyboard tab of the Customize palette.

  • Hello all,
    thanks for your replies. I have managed to solve the problem. I was using the layers state editor wrongly.

    @Roy Klein Gebbinck said:
    Have you tried using layer filters instead?:
    https://help.bricsys.com/hc/en-us/articles/360006704813-ExpLayers#about-layer-filters

    The steps to correctly set up a layer state based on a layer filter is to have that filter active.
    If I want to make a filter for my second floor layers:

    1- I create a layer filter with all the second floor layers (*-02)
    2- I invert the filter so it shows all the other layers and I freeze all that layers in the drawing explorer.
    With this layer setting:
    3- I create my layer state for the second floor ( i.e. LS02).
    4- When I enter the editor of the LS02 layer state, I see all layers, but those that aren't from the second floor are frozen, so I don't need to delete them (from the layer state, not from the drawing).

    Now when I want to display any floor, I have created a toolbar with two controllers, layer state controller that shows a layer state that activates only the desired floor layers and freezes the other layers, and filter layer controller for the layer filter of the desired floor, to select layers of that floor.

    They can be found in the layer palette but they come by handy as a toolbar.

    The v21 version of bricscad includes layers in a palette, and I leave it open. May not be as practical as jtb's, but it is enough for my needs.

    @Anthony Apostolaros said:
    I have my F9 key set up as a macro to make the selected object's layer the active layer.
    <SHIFT>-LAYMCUR<ENTER>
    And I have my F10 key set up as a macro to turn off all layers except the active layer.
    -LAYER<ENTER>OFF<ENTER><SHIFTD>8<SHIFTU><ENTER><ENTER><ENTER>
    So by combining F9 & F10 I get all layers turned off except the layer of a selected object.
    I use Macro Express, but I think you can do the same thing with the Keyboard tab of the Customize palette.

    Practical tip, thanks!

  • Anthony Apostolaros
    edited February 2021

    There's a really neat thing that Layer States do in connection with Viewports. I'm not sure if I can say in detail exactly what all the rules are, but this is how I use it:

    I create a layer state in model space, to show only the layers I want visible in a particular drawing, for example "Ceiling Plan." Then, any time I want to see just the ceiling plan in model space, I can restore that layer state in model space.

    But I also go into the viewport for the ceiling plan, and restore that layer state there. That sets VP Freeze, in that viewport only, for all the layers that are off in that layer state. But it doesn't affect layer visibility in any other viewport or in model space.

    If I later change which layers are included in the ceiling plan, I make the change to the layer state (using Overwrite), and then I go back into the viewport and restore that layer state again. That adjusts all the VP Freeze settings to match the revised layer state.

    Once all the viewports are configured in that way, I just have to turn all layers on in model space before printing. A layer is visible in a particular viewport only if it's on in model space and also not frozen in that viewport.

  • Nicely explained - Will look for ways to use that, instead of what dodges I use presently.

  • zxcutt
    edited May 2021

    @Anthony Apostolaros said:
    There's a really neat thing that Layer States do in connection with Viewports. I'm not sure if I can say in detail exactly what all the rules are, but this is how I use it:

    I create a layer state in model space, to show only the layers I want visible in a particular drawing, for example "Ceiling Plan." Then, any time I want to see just the ceiling plan in model space, I can restore that layer state in model space.

    But I also go into the viewport for the ceiling plan, and restore that layer state there. That sets VP Freeze, in that viewport only, for all the layers that are off in that layer state. But it doesn't affect layer visibility in any other viewport or in model space.

    If I later change which layers are included in the ceiling plan, I make the change to the layer state (using Overwrite), and then I go back into the viewport and restore that layer state again. That adjusts all the VP Freeze settings to match the revised layer state.

    Once all the viewports are configured in that way, I just have to turn all layers on in model space before printing. A layer is visible in a particular viewport only if it's on in model space and also not frozen in that viewport.

    This is a great piece of advice. Thanks