A ConnectorHousingSpecification defines the technical properties of a connector housing or similar items (e.g. modular connectors, contact modules, connector shells). A connector is normally plugged into a mating connector in order to create some kind of connectivity (this is in most cases electrical connectivity, but not limited to it). The actual contact is normally created by terminals, which are placed in cavities. The VEC supports two primary types of connectors: normal (conventional) connectors and modular connectors.
A conventional connector defines a fixed number of Cavities, which are grouped into a fixed number of Slots. A modular connector defines a geometrical shape into which another component (a contact module) can be placed. The cavities are then defined by the used contact module. The combination of both is possible as well.
Therefore the ConnectorHousingSpecification consists of a number of AbstractSlots, which either can be Slots or ModularSlots in an arbitrary combination.
A Slot is used if the cavities are part of the connector housing. Therefore a Slot consists of a number of Cavities. A Cavity is defined in detail with a CavitySpecification. Normally all Cavities in a Slot satisfy the same CavitySpecification.
A ModularSlot is used if the slot is just a geometrical shape into which different inserts can be placed. The insert itself is again defined by a ConnectorHousingSpecification. So it is possible to create recursive structures. A ModularSlot can reference more than one insert, because different variants of e.g. contact modules that fit into this particular ModularSlot might exist.
A SegmentConnectionPoint can be used if a connector housing has more than one entry point for wires (segments). The SegmentConnectionPoint is used to define which Cavity is reachable through which entry point. In the latter this is a necessary information to support auto routing for connectors with more than one SegmentConnectionPoint.