Integration with Other Applications > Managing CAD Data > Common CAD Data Management Activities > Collecting Related Objects Overview > Dependency Processing
  
Dependency Processing
Dependency Processing Overview
Dependency processing refers to the tracing of the object-to-object relationships among the objects considered for inclusion in the configuration you specify for collecting objects for an action. A key distinction is between part-centric and CAD document-centric dependency processing. Essentially, part-centric processing traces a product structure for dependencies (Part Dependency Processing), while CAD document-centric processing traces a CAD document model structure (CAD Dependency Processing).
Windchill also supports Document Dependency Processing for Windchill documents.
By default, when an object is initially selected for an action, the dependency processing is based on the type of the initially selected object, as described in the following table:
Initially Selected Objects
Default Dependency Processing
CAD documents
CAD Dependency Processing
Windchill parts
Part Dependency Processing
Windchill documents
Document Dependency Processing
Mixed set of objects containing one or more CAD documents
CAD Dependency Processing
Mixed set of objects containing one or more parts and no CAD documents
Part Dependency Processing
You can see the type of dependency processing specified for the current action page by clicking the current filter icon to open the Current Filter window, seen in the following figure showing CAD Dependency Processing.
You can also specify the type of dependency processing to be used—regardless of the type of the initially selected object—by first enabling explicit selection of a dependency processing type, and then editing the configuration specification filter for the action. Specifying dependency processing by either part or CAD document structure is enabled by setting the server preference Display > Configuration Specification > Enable Dependency Processing Type to Yes in the Preference Management utility. When set to Yes (default is No), this preference adds a field to the Edit Filter window on the action page.
* 
Even though the default setting for Enable Dependency Processing Type is false, all PDM actions that use the collector collect with dependency processing enabled, as described by the preceding table.
Either method can be selected, whether the initially selected object is a part or a CAD document, so long as there is an active association between the part and CAD document. For example, if Part Structure is selected as the dependency processing type, and a part object is initially selected, then the configuration includes the children of the initially selected part object. If, however, the initially selected object is a CAD document, then Part Structure processing first finds the associated part for that CAD document. It then traces the part structure, and collects the CAD documents that are associated to the parts in that structure. In this case, the initially selected CAD document and the CAD documents associated to dependent parts of its peer part are added to the Object List.
Examined in more detail, the process is the following:
The initially selected CAD document remains in the Object List
Its associated part object is included in the Object List
The associated part becomes the "root" object for:
Setting configuration (latest, managed baseline names, view, effectivity)
Collecting dependents (all, none)
For example, if:
configuration = managed baseline
dependents = all
Then only the part dependents that are also part of the managed baseline are included in the object list.
Of the possible related objects to be included (CAD documents, documents),
Any CAD document that is included is the version (revision/iteration) that is peer to the gathered part version.
If a managed baseline for parts is selected, the CAD documents do not need to be part of the baseline.
* 
When a workspace specification has dependency processing set to part centric, a CAD document is considered out-of-date if the version in the workspace does not have an association link to the part version included in the specified baseline for parts.
Conversely, if CAD Structure is selected as the dependency processing type in the Edit Filter window, dependency processing traces the structure of an initially selected CAD Document. When processing an initially selected part, the part’s peer CAD document is found and the CAD structure is traced. The Object List is populated with the associated parts of the CAD structure.
* 
When you collect from the Windchill UI the Method Server saves collections to a cache to improve performance. For very large structures with many dependents and related objects, the site administrator might want to change the amount of time that cache is retained. This can be configured using the wt.properties setting com.ptc.core.collectionsrv.engine.cache_expiration_time. This property will ONLY affect collections made from the Windchill UI and not the APIs called via the Windchill REST Services. For more details see article CS73935.
Dependency Processing Examples
This section gives examples of collection behavior for a sample data set, based on initially selected objects are and dependency processing type.
Consider the following data set.
The following table shows dependency processing results for collection actions when all initially selected objects are of the same type.
Initially Selected
Dependency Processing Type
Dependents Setting
Resulting Object List
Comments
CADAsm1
CAD Document Structure
CAD document: All
CADAsm1, CADComponent1a, CADComponent1b
Collection traverses the CAD Document (EPMDocument) structure.
CADAsm1
Part Structure
Part: All
CADAsm1, CADComponent1a
1. Dependency processing type is Part Structure. Initially selected CADAsm1's associated object PartAsm1 is traversed.
2. CAD documents associated to dependents of PartAsm1 are collected.
3. The collector returns the initially selected CADAsm1 and CADComponent1a as an associated object to PartComponent1a (not as a dependent of CADAsm1).
CADAsm1, CADAsm2
Part Structure
Part: All
CADAsm1, CADComponent1a
CADAsm2, CADComponent2a
1. Dependency processing type is Part Structure. CAD documents associated to dependents of PartAsm1 and PartAsm2 are traversed
2. CAD documents associated to dependents of PartAsm1 and PartAsm2 are collected.
3. The collector returns the initially selected CADAsm1 and CADAsm2, plus CADComponent1a and CADComponent2a as associated objects to PartComponent1a and PartCompponent2a, respectively (not as dependents of CADAsm1 and CADAsm2).
CADAsm3
Part Structure
Part: All
CADAsm3
CADDocument3
1. Dependency processing type is Part Structure. Initially selected CADAsm3's associated object PartAsm1 is traversed.
2. CAD documents associated to dependents of PartAsm3 are collected.
3. The collector returns the initially selected CADAsm3, and CADDocument3 as an associated object to PartComponent3a.
PartAsm3
CAD Document Structure
CAD document: All
PartAsm3
Dependents of associated CAD document have no associated parts.
The following table shows dependency processing results for collection actions when initially selected objects are of multiple types.
Initially Selected
Dependency Processing Type
Dependents Setting
Results
Comments
CADAsm1, PartAsm2
CAD Document Structure
CAD document: All
CADAsm1, CADComponent1a, CADComponent1b
PartAsm2, PartComponent2a
1. Dependency processing type is CAD Document Structure. Initially selected PartAsm2's associated object CADAsm2 is traversed; and initially selected CADAsm1 is traversed
2. Parts associated to dependents of the CADAsm2 are collected; and dependents of CADAsm1 are collected.
3. The collector returns the initially selected objects(CADAsm1, PartAsm2) and CADAsm1 dependents (CADComponent1a, CADComponent1b). Plus, the parts associated to the dependents of CADAsm2 are returned.
CADAsm1, PartAsm2
Part Structure
Part: All
CADAsm1, CADComponent1a
PartAsm2, PartComponent2a
1. Dependency processing type is Part Structure. Initially selected CADAsm1's associated object PartAsm1 is traversed; and initially selected PartAsm2 is traversed.
2. CAD documents associated to dependents of PartAsm1 are collected; and dependents of PartAsm2 are collected.
3. The collector returns the initially selected (CADAsm1, PartAsm2) and the PartAsm2 dependents (PartComponent2a). In addition, the CAD documents associated to the dependents of PartAsm1 (CADComponent1a) are returned.
CADAsm1, PartAsm3
CAD Document Structure
CAD document: All
CADAsm1, CADComponent1a, CADComponent1b
PartAsm3
1. Dependency processing type is CAD Document Structure. Initially selected PartAsm3's associated object CADAsm3 is traversed; and initially selected CADAsm1 is traversed.
2. Parts associated to dependents of CADAsm3 are collected; and dependents of CADAsm1 are collected.
3. The collector returns the initially selected objects (CADAsm1, PartAsm3) and CADAsm1’s dependents (CADComponent1a, CADComponent1b). There are no objects associated to CADAsm3 dependents, so no additional parts are returned.