Representation schema
From WikiSTEP
This article is under construction. The content shown here is incomplete and may even be wrong.
The representation_schema is the only Express-schema that is defined in ISO 10303-43 Representation structures. It defines very generic concepts which needs further specialization for practical use, e.g. for geometrical, topological, kinematic and presentation purposes. Nevertheless the representation_schema belongs to the real core of STEP and every AP is using the major entities defined here.
Prerequisites
Readers of this page should be familiar with the Express modeling language and the STEP-File format.
Basic concepts
The main entities in the representation_schema are representation_item, representation and representation-context. A representation is grouping one or more representation_items together and relate them to a representation_context. Several representations can share the same representation_context. A representation_item must never be used without a representation - this is one of the core concepts of STEP part 43. Here the complete Express-G diagram except for string attributes:
The meaning of the main entities become more clear when we are looking to a particular specialization. As a real example we take here a few specializations from part42 (geometry) and the location_shape_representation from AP214:
- Geometric_representation_context is a subtype of representation_context and defines a coordinate system of any kind of dimensionality.
- Shape_representation is a subtype of representation used to identify the shape or some portion of the shape of a product
- Geometric_representation_item is a subtype of representation to represent any kind of geometric object. A rule enforces that it can only be used in representations with a geometric_representation_context.
- Point is a subtype of geometric_representation_item, representing an identified point in the coordinate space defined by the geometric_representation_context.
- Cartesian_point is a further specialization of point where either one, or two or three coordinated values are given. Cartesian points can only exist in geometric_representation_contexts with a mating dimensionality of either one, two or tree.
- Location_shape_representation is a specialization of shape_representation with a rule to constrain the attribute items to contain exactly one point. Typically this will be a cartesian_point.
Extract from some STEP-File:
#10=GEOMETRIC_REPRESENTATION_CONTEXT('Coordinate-system X',,3);
#20=LOCATION_SHAPE_REPRESENTATION('location-A',(#21),#10);
#21=CARTESIAN_POINT('point-A',(20.0,0.0,0.0));
#30=LOCATION_SHAPE_REPRESENTATION('location-B',(#31),#10);
#31=CARTESIAN_POINT('point-B',(30.0,0.0,0.0));
In this STEP-File example a single instance of a 3D geometric_representation_context is used by two instances of location_shape_representation, each with a single cartesian_point. Because both points are located in the same geometric_representation_context their distance can be compute to 10 (unit less).
Transformations and how representations can be related to each other
There are three ways to relate two representations with each other:
- by sharing the same instance of representation_context (value equal of representation_context is not sufficient)
- by relating them with representation_relationship. Possible variants are
- using the subtype representation_relationship_with_transformation. Then the representations must refer to distinct representation_context.
- representation_relationship_with_transformation with functionally_defined_transformation
- representation_relationship_with_transformation with item_defined_transformation
- not using the subtype representation_relationship_with_transformation but sharing the same representation_context. This variant is used above.
- not using the subtype representation_relationship_with_transformation and referring to different representation_context. This variant has no meaning on a geometrical level.
- using the subtype representation_relationship_with_transformation. Then the representations must refer to distinct representation_context.
- by making one representation a definitional part of another one with mapped_item and representation_map.
For the explanation on how these transformations work let us introduce a few more entities from part-42 in addition to the ones we introduced above (geometric_representation_context, geometric_representation_item, point, cartesian_point):
- Direction, its explicit attribute "direction_ratios : LIST [2:3] OF REAL;" allows to define a direction in 2D and 3D coordinate spaces
- Axis2_placemenet_3d, a subtype of axis_placement, for the placement of objects in 3D with complete translation and orientation information
- Cartesian_transformation_operator , a subtype of functionally_defined_transformation with similar attributes like axis2_placement_3d but with additional mirroring and scaling capabilities.
representation_relationship_with_transformation
There are two pattern how representation_relationship_with_transformation can be used, either with a functionally_defined_transformation or with an item_defined_transformation.
representation_relationship_with_transformation with functionally_defined_transformation
representation_relationship_with_transformation with item_defined_transformation
Mapped_item and representation_map approach

