PDM-UG: Independent Property Identification
From WikiSTEP
This page belongs to the PDM Usage Guide.
The PDM Schema also optionally allows property identification that is independent from the actual association of the property to product data. In this case, the property definitions of a given type are additionally associated to a single 'general' identification for the particular type of property.
The general_property entity collects multiple property_definitions of the same type by usage of the general_property_association entity. Multiple property definitions of the same type may exist and be associated to different elements of product data. The relationship between a general_property identification and a related property also indicates if the related property is 'definitional' (i.e., can be used to discriminate a given element against others) or 'non-definitional'.
The PDM Schema also supports the specification of relationships between two general property objects. These relationships may be used to indicate that the value of one property can be derived from the value of another property. The relationship is modeled using the entity general_property_relationship.
Contents |
The Instance Model: EXPRESS entities and attributes
The EXPRESS entities and attributes used to support the requirements of independent property identification are illustrated in Diagram 7.

General property
A general_property identifies a property type/classification independently of the association of a definition of that type of property to product data.
Attributes
- The id attribute provides an identification of a general property.
- The name attribute stores the type of the described property.
- The description attribute can be used to provide a further description of the property type.
| ENTITY general_property | Attribute Population | Remarks |
| id | Type: identifier = string | Recommended to be instantiated as '' |
| name | Type: label = string | Characterizes the property |
| description | Type: text = string | OPTIONAL, provides further description of the property |
===Preprocessor Recommendations=== General_property.name shall be replicated from the name attribute from the associated property_definition(s). For general_property.name a number of predefined names for specific properties exist. Preprocessor should use these values where applicable. The instantiation of a general_property in association to a property_definition is not mandatory.
===Postprocessor Recommendations=== None specified.
===Related Entities=== General_property is to be associated via general_property_association to the characterized property_definition.
General property association
A general_property_association associates a given property with a general_property in order to collect property definitions of the same type. The entity also carries the information whether a given property can be used to distinguish the described object from others.
Attributes
- The name attribute indicates whether the described property can be used to distinguish the described element from others of the same kind.
- The description attribute can be used to provide a further description of the property type.
- The base_definition attribute references the general_property associated with the property_definition.
- The derived_definition references the characterized property_definition.
| ENTITY general_property_association | Attribute Population | Remarks |
| name | type: label = string | Specifies whether the associated property_value object may be used to distinguish the described element from others of the same kind. A value of 'definitional' indicates that the associated property_value distinguishes it from others. The permissive list for the name attribute is 'definitional', 'non-definitional' or '' | .
| description | type: text = string | OPTIONAL |
| base_definition | type: entity = general_property | |
| derived_definition | type: entity = property_definition |
===Preprocessor Recommendations=== The value of the name attribute may be used to indicate if the associated derived_definition is a defining and distinguishing property for the part definition that is described by the property.
===Postprocessor Recommendations=== None specified.
===Related Entities=== General_property_association relates a property_definition and a general_property.
General property relationship
A general_property_relationship asserts a relationship between two independently identified general property identifications. A typical example of the use of this entity is to describe the 'derived' relation type, where the relating_property is specified as being derived from the related_property.
Attributes
- The name attribute is used to describe the type of relationship between the properties.
- The description attribute can be used to provide optional further textual description.
- The relating_property attribute references the first of the related property pair.
- The related_property attribute references the second of the related property pair.
| ENTITY general_property_relationship | Attribute Population | Remarks |
| name | type: label = string | |
| description | type: text = string | OPTIONAL |
| relating_property | type: entity = general_property | |
| related_property | type: entity = general_property |
===Preprocessor Recommendations=== The meaning of the relating_property and related_property attributes is specified further by the relation type indicated with general_property_relationship.name.
===Postprocessor Recommendations=== None specified.
===Related Entities=== None specified.
The Instance Model: STEP exchange file format (ISO10303 Part 21 syntax)
/* Entity #5000 establishes a property of type ‘mass’ independently */
/* of any value assignment of that property to product data. */
#5000 = GENERAL_PROPERTY('', 'mass property', $);
/* Entities #5010 and #5080 serve to collect all value assignments */
/* of the property of type ‘mass’ together under the independent */
/* general‘mass’ property definition */
#5010 = GENERAL_PROPERTY_ASSOCIATION('non-definitional', '', #5000, #5020);
#5080 = GENERAL_PROPERTY_ASSOCIATION('non-definitional', '', #5000, #5090);
/* Entities #5020 to #5070 assert that the in #290 defined view */
/* of part2 has a mass of 3KG */
#5020 = PROPERTY_DEFINITION('mass property', $, #290);
#5030 = PROPERTY_DEFINITION_REPRESENTATION(#5020, #5040);
#5040 = REPRESENTATION('property value', (#5060), #5050);
#5050 = REPRESENTATION_CONTEXT('', '');
#5060 = MEASURE_REPRESENTATION_ITEM('mass', MASS_MEASURE(3000), #5070);
#5070 =(NAMED_UNIT(*) MASS_UNIT() SI_UNIT($,.GRAM.));
/* Entities #6090 to #6060 assert that the in #390 defined view */
/* of part2 has a mass of 6KG */
#6090 = PROPERTY_DEFINITION('mass property', $, #390);
#6030 = PROPERTY_DEFINITION_REPRESENTATION(#6090, #6040);
#6040 = REPRESENTATION('property value', (#6060), #6050);
#6050 = REPRESENTATION_CONTEXT('', '');
#6060 = MEASURE_REPRESENTATION_ITEM('mass', MASS_MEASURE(6000), #5070);

