Assemblies, Modules and Harness (Configurations)
The VEC composite part concept has four key classes: the PartStructureSpecification, the PartWithSubComponentsRole, the CompositionSpecification and the PartUsageSpecification.
As mentioned in the example before, the PartStructureSpecification is used to define the bill of material for a composite part based on occurrences. Specific occurrences are used in favour of just referencing parts, to define not only quantities of material, but also the details of the composition. The PartWithSubComponentsRole is the corresponding instance of such a composite part.
Composite parts consist of OccurrenceOrUsages, so they can contain PartOccurrences (instances of a specific PartVersion) as well as PartUsages (instances of components where a specific PartVersion is not yet known). From a pure bill of material point of view this seems counter intuitive, since all materials in a bill of material should be well defined. However, there are scenarios where this is necessary. For instance, if a pre-assembled part (e.g. a cable) shall be used in a certain context, it is necessary, as mentioned before, to be able to reference the subcomponents. But if the subcomponents are not known in detail (no specific part number) PartOccurrences could not be used. Therefore, it is necessary to allow PartUsages in a composite part.
The OccurrenceOrUsages used for a composite part are just referenced and not owned (contained) by the PartStructureSpecification and PartWithSubComponentsRole. As a result, they can be shared among them. This is especially useful in scenarios where a 150% product specification is done. Different variants of the product can reuse the same OccurrenceOrUsages without the need to copy them. The available OccurrenceOrUsages are defined by a CompositionSpecification (in case of PartOccurrences) or by a PartUsageSpecification (in case of PartUsages).
Note: A PartVersion without a separate PartStructureSpecification shall be regarded as one atomic part out of a bill of material perspective even if it is referenced by a DocumentVersion containing a CompositionSpecificiation with several occurrences.