|
This task shows you what are the effects
when changing graphic properties such as Hide/Show, Colors, Opacity,
Width and Line Types: About
Graphic Properties,
Using Instance / Reference
inheritance,
Using Parent / Child inheritance,
Combination of Instance / Reference and
Parent / Child inheritance,
New behavior of the Hide / Show functionality.
Modifications of the graphical properties on an assembly node (or on a
root product) are not propagated on all children nodes in the
Specification tree.
When an object has a specific graphical property, the property is only
set on this object (assembly node or root product) and its children get
the property of their parent by inheritance, which can be seen in the
geometry. |
|
For more information about this graphical
changes, please refer to
Displaying and Editing Graphic Properties, in the Infrastructure
User's Guide. |
|
About Graphic Properties
|
|
Before:
No Instance / Reference inheritance:
Catia Product Model is a full instance reference model.
When inserting a sub-assembly in a product, the structure, and graphic properties
are duplicated.
If a graphical property is then modified on the reference, it is not
taken into account in the instance. If a graphical property is then set
on the reference, it is not taken into account in the instance.
Any modification of the graphical properties on an assembly node is
propagated on all the children nodes.
Now:
Instance / Reference for All:
Graphical properties are not duplicated during
instantiation, propagated on all children nodes (in the specification
tree) and if a graphical property is then set on the reference, it is
taken into account in the instance (if the instance has not properties
set). Children inherit graphical properties, which can be seen in the
geometry.
The behavior of all graphic properties is now kept and
there is:
-
an instance / reference inheritance for all graphic
properties.
-
a parent / child inheritance for all graphic
properties. When an object has the Hide property, we set the property
only on this object and its children inherit the property from its
parent because of the parent/child inheritance. Therefore they are
not displayed even though the property has not been set on them.
-
modification of the Hide/Show in order to answer the
two previous inheritances.
|
|
Here are examples with the Hide/Show
graphic property. However, it is also true with the other properties available
in the following toolbar:
|
|
More precisely, these graphic properties are:
-
Colors,
-
Opacity,
-
Width,
-
Line Types.
Like the Hide/Show property, these graphic properties
have instance/reference
and parent/child inheritance,
and sometimes both. |
|
About Layers:
You cannot assign a layer number to a product. This
property is unavailable in the graphic property toolbar:
|
|
|
|
Using
Instance/Reference Inheritance
|
|
Instance / reference inheritance exists
when a product (the instance) has been created from another product (the
reference) and the instance keeps pointing to the reference. |
|
Open
Product1bis.CATroduct and
Assembly.CATProduct. The
Assembly.CATProduct is made out of a root product called Assembly
containing two products (Product1 is instantiated twice) and an
Application node.
|
|
-
In Product1bis.CATProduct, set the Hide
property on Part1.1 in the context of Product1, the result is as
follows:
Product1 in Product1bis.CATProduct is the reference of the
instance Product 1 in Assembly.CATProduct. As a consequence, both
instances of Part1 (Part1.1) have inherited the Hide property of
its reference. Both Part1 (Part1.2) have inherited the yellow color
of the reference.
-
Set the color to green on Part1 (Part1.2) in Product1
(Product 1.1).
The green color is not inherited by the reference:
-
In Product1bis.CATProduct, set the color to purple on
Part1 (Part1.2) in Product1 (Product 1.1), the result is as follows:
|
|
Part1 (Part1.2) in Product1 (Product1.2)
inherits the color property of the reference (in Product1bis.CATProduct)
because no color attributes were set. Yet, Part1 (Part1.2) in Product1
(Product1.1) does not turn into purple because the green color had
already been set. The Hide property has been propagated in Part1 (as
shows its icon in the specification tree) and Part1 is not displayed in
the geometry.
In Assembly, Part1 is also instantiated in the second Product1
(Product1.2) and is also set to Hide. If you set Part1.1 to Show in
Assembly.CATProduct, Part1.1 is displayed but not its reference in
Product1. |
|
- There is an instance/reference inheritance:
when the reference's graphic properties are changed, its instances
automatically get the same property, only if no property has been set on
the instance, and whatever the original graphic property of Product1 in
Assembly is.
- If a CATPart is UI active, it is possible to apply Show / No
Show on it.
|
|
|
|
|
|
Using Parent/Child
Inheritance
|
|
Parent/child inheritance is when
sub-products inherit the graphic property of their root product or
parent. |
|
Open
Assembly.CATProduct. |
|
-
Select Assembly and set it to Hide.
You will note that there is no propagation of the Hide/Show
property on the children in Specification Tree.
|
|
- The Hide/Show inheritance exists between
the product and its sub-products. You cannot display the children
geometry, if the parent is in No Show. If you want to bring the geometry
in Show mode, you need to set the root product (that is the product that
owns the Hide property) to Show.
- Parent/child inheritance has priority
on the local properties set on the instance. This is the same for other
graphic properties: colors, opacity, etc.
-
When Show/No Show is applied on any object inside the
CATPart (Tools, Features, etc), this modification is rejected in the 3D
(and the SpecTree too) on all the instances of the same part, in all
windows if :
-
the Product is the UIActivated object,
-
the instance of the Part containing the object on
which the Show/No Show is applied is the UIActivated object,
-
the Part containing the object on which the Show/No
Show is applied is the UIActivated object When a Part is the UIActivated object, the Show/No Show is not
applied to the selected object but it is applied to the instance of
the part containing the selected object.
|
|
-
Select the first Product.1 and set it to Hide. You can
only set this product to Hide and its geometry remains hidden.
-
Select Product1 and select Show.
You will note that the geometry remains hidden:
-
If you want Product1 and all the sub-products to be in
Show mode, you have to set the root product Assembly to Show.
|
|
The parent Hide property is not propagated
on children (sub-products), including Application. For your information,
you can set the Application node to Hide. Even if there is no icon in
Hide mode in the specification tree, you can see that the Hide property
is effective in the geometry since measures are not displayed anymore. |
|
|
|
In case you select a part from the geometry
area or from the specification tree and modify its graphical properties,
the modification is propagated to the product instance.
For instance, set Part1 under Part1(Part 1.2) to Hide.
You will note that the Hide property is set on Part1(Part1.2) since it
is applied to the assembly, not to the selected geometry.
|
|
|
|
|
|
Combination of Instance/Reference and
Parent/Child Inheritance
This scenario will show you when both an instance/reference and
parent/child inheritance is applied for Graphic Properties. |
|
Open
Assembly.CATProduct and
Product1bis.CATProduct. |
|
-
In Product1bis (the reference), select Part1 and set it
to Hide. Part1 in Product1bis is the Reference of Part1 in
Assembly.CATProduct, therefore Part1 is now in No Show mode in both
products.
|
|
The parent/children inheritance has always
priority on local properties or on the property inherited from the
reference. |
|
-
Set Product1.1 (in Assembly) to Hide and you notice
that everything is hidden under Product1.1. Part1.2 is also hidden as a
result of the parent/children inheritance.
-
Select Part1.1 under Product1 in Assembly.CATProduct
and set it to Show: the icon of Part1.1 is modified but you cannot see
its Geometry because of the parent/children inheritance.
-
In Assembly.CATProduct, set Product1.1 to Show: both
instances of Part1.2 and Part1.1 are displayed in the geometry:
|
|
|
|
|
|
New behavior of the Hide/Show functionality
|
|
The possible combinations are:
- Three states:
- Unset: (Show by default) allows instance/reference inheritance.
- Two overloaded states:
- 4 possible transitions:
- Unset > Show,
- Unset > No Show,
- Show > No Show,
- No Show > Show.
- 2 transitions that are not possible:
- Show > Unset,
- No Show > Unset.
The following table illustrates the result of all possible
combinations.
Instance |
Reference |
Parent |
Icon |
3D |
Show |
Show or unset |
Show or unset |
Not dimmed |
Available |
Hide |
Dimmed |
Not available |
Unset |
Not dimmed |
Available |
Show |
Hide |
Not dimmed |
Available |
Hide |
Dimmed |
Not available |
Unset |
Dimmed |
Not available |
Show |
Show or unset |
Hide |
Not dimmed |
Not available |
Hide |
Dimmed |
Not available |
Unset |
Not dimmed |
Not available |
Show |
Hide |
Not dimmed |
Not available |
Hide |
Dimmed |
Not available |
Unset |
Dimmed |
Not available |
|
|