Relationship Definitions - Integration - Update 44 - Help - Hexagon

Integration Help

Language
English
Product
Integration
Search by Category
Help
Smart 3D Version
12.1 (2019)
Smart Construction Version
2019(7.0)
SmartPlant Foundation / SDx Version
10
Smart Electrical Version
2019 (9.0)
Smart Materials/Smart Reference Data Version
2020 (10.0)
Smart P&ID Version
9 (2019)
Smart Review Version
2020 (15.0)
Smart Engineering Manager Version
10 (2019)
Smart Interop Publisher Version
13.1 (2019 R1)
Smart Isometrics Version
7.0(2019)
Spoolgen Version
9.0(2019)

Relationship definitions are associations between interface definitions. They identify two specific objects that fulfill the roles on each end of the relationship.

All relationship definitions in the schema are of class RelDef, which is part of the meta schema. A relationship definition has two ends, End1 and End2. The positive direction for navigating this relationship is from End1 to End2. The reverse direction is from End2 to End1. A relationship can only exist between objects that support (realize) the interface definitions at each end of the relationship definition.

Relationship definitions also define cardinalities on each end of the relationship. Cardinalities provide the constraints for relationships by defining the minimum and maximum numbers of participants at each end of a relationship. For example, in the EquipmentComponentComposition relationship there can be zero to many (0..*) objects that have the role of Equipment Components but only zero or one (0..1) object that can have the role of Equipment in each instance of the relationship.

The following graphic shows the UML for the EquipmentComponetComposition relationship definition:

Link Attributes on Relationships

Relationships can also have link attributes or properties. Link attributes are defined by relating link interfaces to the relationship definition when you create the relationship definition in the New Relationship Definition dialog box in the Schema Editor. Because interfaces expose properties, you can use interfaces to define the properties that you want on or about the relationship definition.

LinkAttributes

For example, if you create a relationship between a company and employee, you could use the IEmployee interface to expose link attributes (properties) like employee number, salary, office number, and e-mail address on the relationship.

See Also

Schema modification rules
Create a Relationship Definition