PDM-UG: Multiple Individual Component Occurrences

From WikiSTEP

Jump to: navigation, search

This page belongs to the PDM Usage Guide.

The basic explicit assembly represents a single occurrence of the component definition within the assembly definition. Multiple occurrences of a constituent used within an assembly are represented in one of two ways in the PDM Schema:

  • quantified usage occurrence,
  • multiple individual usage occurrences.

The quantified usage occurrence identifies the component quantity, but does not allow independent identification of the individual occurrences when a component definition is used multiple times (see Quantified Component Usage).

The PDM Schema uses separate single usage occurrences to represent multiple occurrences of a component within an assembly when the various components must be distinguished individually. Multiple occurrences of a component within an assembly must be individually identified to allow separate ids, display names, reference designation, or related property information, including shape and orientation/transformation information.

For example, consider a component that is a flexible pipe. The geometrical representation assigned to the definition of that component may be a simple I shaped tube. The geometrical representation associated with one occurrence of the pipe positioned in a parent assembly may be an S shape, as constrained by the assembly environment. A second occurrence of the pipe definition may be used in the same parent assembly, but in a different position. The geometrical representation assigned to this occurrence may be an L shape due to different constraints from the different position of the component within the parent assembly.

This structure corresponds to a basic indentured parts list with the associated part quantity values where the individual component occurrences are individually identified (see Figure 5).

Figure 5 Indentured Parts List with Multiple Individual Components.png
Figure 5: Indentured Parts List with Multiple Individual Components

The Instance Model: EXPRESS entities and attributes

The EXPRESS entities and attributes used to support the requirements of individually distinguished occurrences of a constituent in an assembly structure are illustrated in Diagram 22.

Diagram 22 Multiple Individual Component Usage Instance Diagram.png
Diagram 22: Multiple Individual Component Usage Instance Diagram

==Preprocessor Recommendations== The entity next_assembly_usage_occurrence (see Next assembly usage occurrence) should be instantiated once for each individual occurrence of a component definition used in the parent assembly. The value of the attribute id must be unique for each instance. The description attribute may contain a unique display name for presentation of the assembly structure.

==Postprocessor Recommendations== The sum of single instances of next_assembly_usage_occurrence that exist between an assembly definition and a component definition represents the total quantity of component occurrences used in the parent assembly.

==Related Entities== None specified.

The Instance Model: STEP exchange file format (ISO10303 Part 21 syntax)

/* primary application context and life cycle stage */
#10 = APPLICATION_CONTEXT('mechanical design');
#220 = PRODUCT_CONTEXT('', #10, '');
#230 = PRODUCT_DEFINITION_CONTEXT('part definition', #10, 'design');

/* optional AP214 specific characterization for assembly definition */
#340 = PRODUCT_DEFINITION_CONTEXT_ROLE('part definition type', $);
#350 = PRODUCT_DEFINITION_CONTEXT('assembly definition', #10, ''<nowiki>);
 #520 = PRODUCT_DEFINITION_CONTEXT_ASSOCIATION(#460, #350, #340);
 
 /* type discriminator for part as product */
 #100 = PRODUCT_RELATED_PRODUCT_CATEGORY('part', $, (#380, #440));
 
 /* part master for component definition */
 #360 = PRODUCT_RELATED_PRODUCT_CATEGORY('detail', $, (#380));
 #380 = PRODUCT('g1', 'gasket', $, (#220));
 #390 = PRODUCT_DEFINITION_FORMATION('A',<nowiki>'',#380);
#400 = PRODUCT_DEFINITION('gv1', 'design view on gasket', #390, #230);

/* part master for assembly definition */
#420 = PRODUCT_RELATED_PRODUCT_CATEGORY('assembly', $, (#440));
#440 = PRODUCT('s1', 'sleeve assembly', $, (#220));
#450 = PRODUCT_DEFINITION_FORMATION('A','',#440);
#460 = PRODUCT_DEFINITION('sv1', 'design view on sleeve assembly', #450, #230);

/* multiple single occurrences of component defn in assembly defn */
#530 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('gu-1', 'single instance usage', 
   'gu1 left', #460, #400, $);
#540 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('gu-2', 'single instance usage', 
   'gu2 right', #460, #400, $);
Example 18: exchange file for multiple individual component usages
Personal tools