Associations Example
- Last UpdatedNov 27, 2025
- 3 minute read
In this example, in the model there is an association ‘Has Part’

The association Has Part has been added to the Pump class in the model. Pump Has Part Impeller.

The classes that are subclasses of the Pump will inherit the association, in this case Dynamic Pump, Axial Flow Pump and Centrifugal Pump.
This association can be overridden on the classes that inherit it by adding or changing a range class.
In the example, the association has been overridden on the Dynamic Pump by changing the range class to be Fan Impeller instead of Impeller. This override is also inherited by any subclasses, in this case Centrifugal Pump and Axial Flow Pump.

A class can have a local Has Part association. For example, on Centrifugal Pump there is a local Has Part association to the Pump Impeller. The Centrifugal Pump has two Has Part associations, the one defined on it directly and the inherited one.

This means that two reference attributes will be created for use in AVEVA Engineering as follows:
-
Pump | Has Part
-
On Element Types - Pump, Dynamic Pump, Centrifugal Pump, Axial Flow Pump
-
Allowed Reference Types - Impeller, Compressor Impeller, Fan Impeller, Pump Impeller
Note:
This reference attribute is the association on the pump which is inherited by the Dynamic Pump and also the Axial Flow Pump and Centrifugal Pump. The references are the Impeller and all of its children.
-
-
Centrifugal | Pump Has Part
-
On Element Type - Centrifugal Pump
-
Allowed Reference Types - Compressor, Dynamic Compressor, Pump Impeller
Note:
This reference attribute is the association on the centrifugal pump and it can only reference items of type Pump Impeller. It also has the member Compressor and Dynamic Compressor, which is a child of Compressor, because of the Has Part association on Centrifugal PumpNote:
If the same association is added to a class twice and not given a different name, the second association is ignored on build (even if they are different disciplines). If the same association is added to a class twice and they have a different name, both associations are created on build.
-