Parent/Child Relationships among settings

I have never really followed what “By Parent” means in fields, even in years of AutoCad use, but I have managed to just luck out and get what I need.

  1. If the “By Parent” option is chosen for the fill colour for Layer 1 in Wall Style A, for example, shouldn’t Layer 1’s fill colour display and print as set in the fill setting for Wall Style A? Wall Style A contains Layer 1 and so is the Parent, right?

  2. But what does the “By Parent” option for the fill colour of Wall Style A refer to? It seems to be at the top of the heirarchy with no Parent above it to refer to. Isn’t “By Parent” the same as “By Layer” in that case? Why are there two separate settings in many fields?

In Revit it would be the whole wall category… (not helping, just drawing parallels for others)


  1. That’s correct.
  2. When Wall Style A has its attributes “By Parent”, it will take the attributes assigned directly to a wall object in the model. In case the attributes of this wall object are set “By Parent” too, they will take the attributes of the layer where it is located. In this case there is no difference of setting the attributes By Parent or By Layer, but it may matter if that object is inserted in a block.

VisualARQ just adapts the way Rhino performs with “By Parent” - “By Layer” hierarchy. VisualARQ styles perform as blocks where its components (like wall layers) may take the attributes By component, By parent or By layer.

A: So the Layer is Parent to the Wall Style… B.: But if Wall Style A has a fill type set, then I understand that takes precedence over every other setting - at least it does for a by layer setting for the wall, I understand. C: So in that case the child is taking precedence over the Parent? D: But in most instances, the Parent takes precedence over the child?

B and C. Which case? The Fill type (I guess you mean the “Pattern”) is an attribute that can’t be assigned “By Layer” but only by the style attributes or “by Parent” (which will take the pattern assigned from the Section attributes icon, in the Properties panel). And the “Pattern color” works as the rest of attributes. It takes an specific color assigned, or it takes the color “By Layer” or “By Parent”.
D. The “Parent” settings always rule over the Child settings as long as the Child attributes are set “By Parent”, otherwise the Child attributes are those that prevail.

Francesc, have you considered to add some upper classes for VA elements? It would be really fine to have, for example, a general wall class from which other elements can inherit arguments. Now, we have to add all detailed information for quite a lot of elements, with upper class they could be used as “by parent”.
Regards, Jaro

1 Like

@jerry.bakowski do you mean a kind of new “parent” style or folder that stores a list of styles and can get common attributes?

What we have considered is adding a “Material” property that every style and component may have, that had specific attributes assigned. That means that objects could take their section attributes or material by this “Material” property.

We have also considered assigning section attributes to layers, so VisualARQ and Rhino objects can get them by layer. How does that sound?

1 Like

A “material” attribute sounds great, but I meant something different. Let’s imagine we have a “two-layered wall” class, with a structure layer and a isolation one. It is defined as usual, there could be a lot of parameters added, a display attributes set and so on. Then we want to add another wall of similiar type, varying with width of one layer only. Now we have to prepare a new style and add again lots of info. This way we could have several walls with only one different parameter, but each one requires starting from a scratch (ok, we also can copy a style). If we could set a parent style for such walls it would be much easier to control any changes in these styles. Now, when we want to change a parameter this has to be done for every one style. The parent style would allow to keep all repeated data in one place only. I hope this explains what I meant :wink:
Regards, Jaro

Hi Jaro,
Take into account that you can also “duplicate” one style to create a new one with identical attributes, but I understand that what you are asking for is a fast way to edit them later on at once. We will consider this request for the future development.

Exactly, the problem is not with creating styles but with changing and managing them :wink:
Thanks for your reply, Francesc!
Regards, Jaro

So in the case of a WallStyle’s Fill Colour, “By Layer” or “By Parent” are the same, if I am following you correctly? If so, then I understand my confusion - I have always thought they were both there because they would have different outcome.

Do you mean the Section Color (A)? or the Hatch pattern (B)?

The “Section Color” affects to the contour of the sectioned area (well, due to a bug this is not showing it properly now), and the sectioned area in Shaded display modes. That means that in Wireframe, Hidden or Technical display modes, this color is not visible, as an object color is not visible either on object surfaces in those Display modes.
So answering your question, and assuming you meant the “Section Color”, if you set this value “By Parent”, it will take the color of the object. If it’s set “By Layer”, it will take the color of the layer where that style (or component) is located.

Thanks. That really helps.
In the case of the colour of the Pattern (B), can you explain the difference between Parent and Layer?
(I’m going to need to figure out what by display refers to at some point, too.)

The Pattern is an attribute that can’t be assigned by Layer. So you will see that there is no “By Layer” option in that list, but only “By Parent”.
When we allow assigning section hatch patterns to Layers, we will include also the “By Layer” option inside that Section Pattern drop-down list.

The Pattern doesn’t have the Layer option, but it’s colour does (further down) Aren’t they the same?

The pattern is the hatch assigned to the sectioned area. The pattern color is the color of this hatch pattern, that may take the layer color or not. Obviously, this color is only visible when there is a pattern assigned.

Of course. What I’m hoping I understand correctly is a confusing detail; that - with a Pattern assigned - the result will always be identical with the Pattern colour set to either “By Layer” and “By Parent” because in that setting, the Layer is also the Parent.

This is the current behavior of Rhino. If an object has its color By Parent, it takes the Layer color.
Setting the Pattern color “By Layer” or “By Parent” may not give always the same result since you could assign a different Pattern color to a VisualARQ object, from the Section Attributes in the Properties panel.

Thanks, this is the thing that has previously hindered my understanding. And now I appreciate how the Section colour differs.

Hi Francesc,
just trying to figure out some issues…isn’t there any video about this? Explaining differences between section/projection, how the hierarchy works etc.? I would find it very useful :smiley: just wondering


1 Like