Introduction
The concepts of reference, instance, and occurrence describe how product data is structured, stored, and interacted with. These terms relate to how components are defined, reused, and visualized in assemblies.
Definitions
Reference
A reference is the abstract definition of a component (kind of a ‘template’).
It is a logical entity that represents the generic, reusable design of a part or assembly but does not exist physically in a product structure until the reference is instantiated.
Examples:
Car wheel
Axel Assembly
Example:
A "Front Axle Assembly" is a reference defining its geometry, attributes, and sub-components (e.g., wheels, bearings). This reference can be reused across multiple vehicle models.
Instance
Is a concrete usage of a reference:
It represents the actual usage of the reference in a particular context (e.g., a assembly), inheriting all properties from its parent reference while allowing local modifications (e.g., position, attributes). Each instance can be positioned differently but shares the same core design (originated at the reference).
Examples:
Left front wheel
Right front wheel
Instances can be shared across references!
Inheritance:
The reference content is the original or primary content that can be replicated in one or more instances. If the reference content is modified, every instance of that content is updated accordingly.
However, changes to the instance do not affect the reference content.
Content inheritance (from reference to instance) is maintained until there is a change of an attribute in the instance content. Modifying an instance attribute stops the automatic update from the reference to the instance
Occurrence
An occurrence represents the path of an instance in a specific assembly.
Example:
Car → Front Axle → Left Wheel
(Car: root, left wheel: instance)
Usage:
Occurrences can be used for navigation, selection, display, and graphic overrides (e.g., hiding a wheel occurrence or changing its color)
Example: In a car’s 3D model, the "Left Front Wheel" is an occurrence created by traversing the path: Car (root) → Front Axle Assembly (instance) → Left Wheel (instance)
This occurrence can be selected, modified, or analyzed in the session without affecting the underlying reference or other instances.
How They Work Together
- Design Phase:
- A reference (e.g., "Wheel") is created and stored in the database.
- Assembly Phase:
- Instances of the reference are added to an assembly (e.g., 4 wheel instances for a car).
- Session Phase:
- The system generates occurrences for each instance path (e.g., 4 wheel occurrences in the 3D view).
- Users interact with occurrences (e.g., selecting, modifying display properties).
Added values
- Efficiency: References and instances minimize data duplication (e.g., one "Wheel" reference for all instances).
- Flexibility: Instances allow local modifications (e.g., repositioning a wheel) without altering the reference.
- Usability: Occurrences enable intuitive interaction in 3D environments (e.g., selecting a specific wheel in a complex assembly).
