How to load component directly on specific layer?
-
Hy! I made a component, I put it on a layer, then Saved As the component. When I inserted it from Component Browser, it loaded on my Current Layer (which was Layer 0). So, it seems that a saved component will not preserve the layer. BUT, the nested entities will be imported with their layers.
Question: is it possible to load a component on a specific layer, but without manually creating that layer and making it Current? I often load many components from my library I can't keep track of what layer is needed for each one.
If this is not possible with native sketchup resources, maybe a plugin that have an observer that watches on what layer the component is, then creates an Attribute Dictionary entry that contains the layer name. Then, when importing that component, it creates the layer and assign it? Possible? Better Ideas, anyone?
Thank you. -
The only manual workaround I can think of is to group everything inside the component and put that group onto a specific layer [say 'LayerX']. Then [re]load the component and place an instance of it on any layer, switch off 'LayerX' and it should vanish irrespective of the component-instance's later?
However, you can quickly select 'normal' instances with their contents on Layer0 and then change the instances' layers... which is more flexible - whereas the alternative outlined approach is quite limiting, BUT it does preset/import the 'LayerX' etc as you want...
-
Not sure what you mean, TIG. Let me explain better:
I have furniture to load, that should be on "furniture" layer. Also, I have Light Fixtures to load, that should be in Fixtures layer. But, when I load them, all are loaded them on Layer 0.
As I understand, is to have everything on Layer0, but the content, inside the component to be on my custom layer. So the component itself will load on Layer 0, but also will load the content's layer ? -
Let's say you make a 'chair' component.
Traditionally you make all of your geometry inside of the component on Layer0.
You them place instances of the 'chair', using layers to control their visibility.
So the chairs on the first-floor can go on layer 0001-FURN and on the second-floor on 0002-FURN.
That way you can switch off the FURNiture on each floor-plate separately.
If you put all of your furniture on one layer called FURN then all chairs are either on or off - unless you nest everything so the whole of the second-floor is inside a group or component that itself is on layer 0002 which can then be off, independently of layer 0001 for the first floor's things...If you want to go down your preferred route where the component is 'pre-layered' I suggest that you make your component with its internal geometry on Layer0 as normal. Then within the edit-session of the component select-all and group the geometry. Give the new group layer 'FURN'.
Save-as the 'chair' component and whenever you load and/or insert it into a SKP - be it either on FURN or 0001 or Layer0 it will only be visible if layer 'FURN' is 'on'...
If layer FURN isn't preexisting in your new SKP the import will add it for you, if that layer is off when placing the component you'll get weird affects too... -
When you put a component on a layer in your model, that layer will not be part of your component (this way you could not put different instances of the same component definition on different layers). This is something you assign to it "from outside". So the component definition itself will not inherit this layer just the instance you put on this layer - and it cannot be saved with the component since it is not a feature of it.
Let's have a more extreme example: you paint a component with a certain material (from outside, so not by editing it and painting its faces). When you save this component and import it into another file, this material will not be assigned to it as you did not include it into the definition.
So if you want to get layers from one model to another, you need to put the content of the component onto that layer (or paint the content with your material). Inside, while editing it.
-
Select your layer or create a new one then paste it in from another window
-
@chedda said:
Select your layer or create a new one then paste it in from another window
Well, I was hoping that it can be done somehow automatically. I'll group the component's content and put it on a layer. It's about LOTS of components... and is very time consuming to manually select/create, and so on... And there is the risk to lost consistency. All models must have same layer structure.
Thanks all for clearing this out to me !
Advertisement