Many of the classes in the VEC are used for the defintion of the general properties of a component (Part Master Data). This is done with specifications (VEC Naming Convention “XXXSpecification”). A specification defines all properties of a component that are that are independant of a specific usage of the component (e.g. the number of cavities of connector or the cross section area of a wire). The type of the component, and thereby the available properties, is defined by the classification of the specification (e.g. ConnectorHousingSpecification for a connector housing). The PDM Information of a component (e.g. the part number) is defined by a PartVersion.
Since a component can have properties of different classifications (e.g. a connector can also have properties of a fixing) it is possible in the VEC to define multiple different specifications for a single part. The attribute “primaryPartType” defines which the primary character of the component is.
If a component should be used in the VEC it must be instantiated. This can be done in two ways. The first way is used if a concrete part number is known. The second way is used if a part number is unknown and only requirements for a component should be defined.
The first case is illustrated in this diagram and is quite similar to the way how components have been used in the KBL. The part is identified by a PartVersion with a PartNumber, Version and the issuing Company. The general properties of the component are defined by a specification (a FixingSpecification in the example). The use of the component is expressed by a “PartOccurrence”. All usage specific properties of component (e.g. the length of a wire) are defined by a Role. The used role must correspond to a specification. The VEC Naming Convention is XXXRole corresponds to XXXSpecification.
In object oriented terms, one can say the PartVersion and Specification are defining the type (or classification) of a component, the PartOccurrence and the Role are defining the instance of a component.
As mentioned in the example before, there are use cases where it is necessary to define properties of component (instance), without having a concrete part number. This is quite common for example in the electrological design, where for example the cross section area of a wire is specified, but the colouring of the wire is not yet known. In these cases the requirements for component have to be defined without having a concrete PartVersion.
For these cases, the VEC offers the concept of PartUsages. A PartUsage behaves like a PartOccurrence (it has instance specific attributes and can define Roles), but it is not necessary to reference a PartVersion. Instead it is possible to directly reference the needed specifications, which represent the requirements on the concrete component, selected later in the process.