Exclusion Mechanism

Excluding an object from the save scope has an impact on its children.

This page discusses:

Basic Concepts

The exclusion command allows any new, modified, or deleted object to be excluded from the save scope, which contains all the objects that are intended to be saved.

Exclusion can be applied to references, instances, or representations.

To exclude an object, select it then click Exclude from Save Scope .

Notes:
  • A new instance cannot be saved without its reference if the aggregating reference is not already in database.
  • A new instance cannot be saved without its aggregating reference if the reference is not already in database.
  • Exclusion is not persistent: when the Save dialog box is closed (using OK or Cancel), the list of excluded objects is lost, except if the save has been stopped because of an error.

References

When excluding a reference, all its new, modified, or deleted direct child representations, instances, ports, and connections are also excluded.

Notes:
  • Child representations and instances can be individually restored afterward (except 3D part representations).
  • Child ports and connections cannot be restored afterward.

Aggregated Representations

A reference can be excluded independently of its representation if the representation is not new. A new aggregated representation cannot be saved without its reference and therefore, it is also directly impacted by its reference exclusion.Save Scope

An aggregated representation can be excluded independently of its reference, except for 3D Parts.

Instances

The way instances are excluded depends on the status of their reference.

For example, if a R1 reference aggregating an instance of another R2 reference:

  • R1 reference can be excluded independently of R2 reference. In addition, if R1 is not new it can be excluded independently of R2 instance. If R1 is new, the exclusion of R1 implies the automatic exclusion of R2 instance.
  • R2 instance can be excluded independently of R1 and R2 references.
  • R2 reference can be excluded independently of R1 reference. In addition, if R2 is not new, R2 can be excluded independently of R2 instance. If R2 is new, the exclusion of R2 implies the automatic exclusion of R2 instance.

Reusable Representations

The way references are excluded depends on their representation. When a representation is reusable instead of being aggregated, the aggregating reference can be excluded independently of its representation.

3D Parts

3D Parts can be excluded from the save scope. The reference and the representation of a 3D Part are both excluded.

Ports and Connections

Ports and connections cannot be directly excluded, only indirectly through their aggregating reference. Any port or connection is excluded as soon as its aggregating reference is excluded.

Exclude Dialog Box

Any new, modified, or deleted object can be manually excluded from the save scope and the exclusion can be applied to its children through the Exclude dialog box.

Important: The Exclude dialog box is not displayed when:
  • The selected object has no new, modified, or deleted children at any level.
  • All the modified objects in the scope are children of the selected object. In that case, using the Apply to children option would lead to an error because there would be nothing to save anymore.

Apply to Children

You can apply the exclusion of an object to its children at all levels.

In the example below, a new child ("NewProduct") has been created under "AJT_Product2, and a 3D Part ("New3DPart") has been created under "NewProduct".

When "AJT_Product2" is excluded from the save scope with the Apply to children option selected, both new children are excluded as well:

Reference

When the exclusion is applied to a reference, it is automatically applied to all its direct child representations and object instances, even if the Apply to children option has not been selected in the Exclude dialog box.

In the example below, when "AJT_Product2" is excluded from the save scope, the exclusion is also applied to its new direct child ("Excluded child data" is displayed in the Comment column):

When zooming in, you can see the excluded child data:

Exclusion can be applied to any unchanged reference when at least one of its direct children (instance, representation, port, or connection) is to be saved. In that case, all the direct children to be saved are excluded as well:

In the example below, the representation under "AJT_Product3" has been modified and is to be saved:

If "AJT_Product3" is excluded from the save scope, the result is as follows:

When zooming in, the result is as follows:

As all the children of "AJT_Product3" are now excluded, the symbol displayed in the Modification column for "AJT_Product3" is now instead of .