Class 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)

A class definition is a named description of a set of objects that support or realize the same interface definitions and share the same property definitions and relationships. In the schema, class definitions can represent physical things, such as pumps, or conceptual things, such as projects.

Class definitions have the following characteristics:

  • Every class definition belongs to one and only one component schema.

  • Every class definition has a primary interface definition that defines the set of possible roles (interface definitions) for the class definition.

  • Every instance of a class definition is instantiated by a class factory.

Class Definitions and Interface Definitions

Class definitions offer different roles with which the software can interact. Class definitions expose or realize their roles through abstract entities called interface definitions.

Class definitions have a Realizes relationship with interface definitions. This means that instances of a particular class definition support or implement the realized interface definitions. For example, the Vessel class definition realizes the IVessel interface definition. The IVessel interface definition exposes property definitions, such as RatedVolume, for class definitions that realize the IVessel interface definition.

Class definitions must also realize implied interface definitions. If an interface definition implies another interface definition, then any class definition that realizes the first interface definition must also realize the implied interface definition.

Class Definitions and Property Definitions

Class definitions are made up of property definitions and can share property definitions, but not the data associated with the properties. Interface definitions expose the property definitions for class definitions by combining the property definitions in a named collection called an interface definition.

Specializations of Class Definitions

You can also create a specialization of a class definition. When you create a class definition specialization, you are creating a new class definition using an existing class definition as a template or starting point. By using a prior class definition as the template, all interfaces from the class definition being used as the starting point are copied to the new class definition. The new class definition also has all the methods and properties attached to these interface definitions.

When you create a class definition specialization, an interface with the same name as the class definition preceded by an I prefix is created and attached to the new class definition using the Realizes relationship. Any property definitions that you select when you create the class definition are associated to the new interface by an Exposes relationship.

See Also

SmartPlant Schema Modification Rules
Create a Class Definition