AP scope | AP module | AP contents | AP index | |
Application module: Elemental geometric shape | ISO/TS 10303-1004:2006(E) © ISO |
This clause specifies the information requirements for the Elemental geometric shape application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.
NOTE 1 A graphical representation of the information requirements is given in Annex C.
NOTE 2 The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.
The following EXPRESS specification begins the Elemental_geometric_shape_arm schema and identifies the necessary external references.
EXPRESS specification:
*)
SCHEMA Elemental_geometric_shape_arm;
(*
The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.
EXPRESS specification:
*)
USE FROM
Foundation_representation_arm;
--
ISO/TS 10303-1006
USE FROM
Value_with_unit_arm;
--
ISO/TS 10303-1054
(*
NOTE 1 The schemas referenced above are specified in the following part of ISO 10303:
Foundation_representation_arm ISO/TS 10303-1006 Value_with_unit_arm ISO/TS 10303-1054
NOTE 2 See Annex C, Figures C.1and C.2 for a graphical representation of this schema.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
The cartesian_transformation type allows for the designation of the data types Cartesian_transformation_2d and Cartesian_transformation_3d.
The cartesian_transformation type is a mechanism to refer to an instance of either a 2d or 3d cartesian transformation operator.EXPRESS specification:
*)
TYPE
cartesian_transformation =
SELECT
(Cartesian_transformation_2d,
Cartesian_transformation_3d);
END_TYPE;
(*
The geometric_mapping_target type allows for the designation of the data types Axis_placement and cartesian_transformation.
The geometric_mapping_target type is a mechanism to refer to an instance of Axis_placement, of Cartesian_transformation_2d or of Cartesian_transformation_3d.EXPRESS specification:
*)
TYPE
geometric_mapping_target =
SELECT
(Axis_placement,
cartesian_transformation);
END_TYPE;
(*
This subclause specifies the ARM entities for this module. Each ARM application entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entities and definitions are specified below.
If the Axis_placement belongs to a 3D geometric space, the third direction of the coordinate system is defined by the vector product of x-axis and y-axis.
EXPRESS specification:
*)
ENTITY Axis_placement
SUBTYPE OF (Detailed_geometric_model_element);
origin : Cartesian_point;
x_axis : Direction;
y_axis : Direction;
DERIVE
dim : INTEGER := SIZEOF(origin.coordinates);
WHERE
WR1: dim >1;
WR2: dim = SIZEOF(x_axis.coordinates);
WR3: dim = SIZEOF(y_axis.coordinates);
END_ENTITY;
(*
Attribute definitions:
origin: the Cartesian_point that defines the position of the Axis_placement in the geometric space.
x_axis: the Direction that defines the first axis of the Axis_placement.
y_axis: the Direction that defines the second axis of the Axis_placement.
dim: the dimensionality of the Axis_placement. It is equal to the number of coordinates of the origin.
Formal propositions:
WR1: the dimensionality of the Axis_placement shall be greater than 1.
WR2: the number of coordinates of the x-axis shall be equal to the number of coordinates of the origin of the Axis_placement.
WR3: the number of coordinates of the y-axis shall be equal to the number of coordinates of the origin of the Axis_placement.
Informal propositions:
IP1: the vector product of x_axis and y_axis shall not be a null vector.
Both instances of Axis_placement shall have the same dimensionality.
The transformation shall be computed as the isometric transformation that maps:
NOTE By construction, the determinant of the transformation matrix equals one.
EXPRESS specification:
*)
ENTITY Axis_placement_mapping;
source : Axis_placement;
target : Axis_placement;
WHERE
WR1: source\Axis_placement.dim = target\Axis_placement.dim;
END_ENTITY;
(*
Attribute definitions:
source: the Axis_placement that plays the role of source in the transformation.
target: the Axis_placement that plays the role of target in the transformation.
Formal propositions:
WR1: the source and the target shall have the same dimensionality.
EXPRESS specification:
*)
ENTITY Cartesian_point
SUBTYPE OF (Detailed_geometric_model_element);
coordinates : LIST[1:3] OF length_measure;
END_ENTITY;
(*
Attribute definitions:
coordinates: the list of up to 3 length measure values that define the cartesian coordinates of the point.
Let be:
The coordinates of Q shall be obtained by the formula: Q = M*P + A
EXPRESS specification:
*)
ENTITY Cartesian_transformation_2d
SUBTYPE OF (Detailed_geometric_model_element);
multiplication_matrix : ARRAY[1:2] OF Direction;
translation : Cartesian_point;
WHERE
WR1: SIZEOF(multiplication_matrix[1]\Direction.coordinates)=2;
WR2: SIZEOF(multiplication_matrix[2]\Direction.coordinates)=2;
WR3: SIZEOF(translation.coordinates)=2;
END_ENTITY;
(*
Attribute definitions:
multiplication_matrix: the array of two instances of Direction that defines the multiplication matrix of the transformation.
translation: the Cartesian_point that defines the position of the result of the application of the transformation to the origin of the geometric space.
Formal propositions:
WR1: the first element of the matrix shall refer to a 2-dimensional Direction.
WR2: the second element of the matrix shall refer to a 3-dimensional Direction.
WR3: the translation point shall have 2 coordinates.
Let be:
The coordinates of Q shall be obtained by the formula: Q = M*P + A
EXPRESS specification:
*)
ENTITY Cartesian_transformation_3d
SUBTYPE OF (Detailed_geometric_model_element);
multiplication_matrix : ARRAY[1:3] OF Direction;
translation : Cartesian_point;
WHERE
WR1: SIZEOF(multiplication_matrix[1]\Direction.coordinates)=3;
WR2: SIZEOF(multiplication_matrix[2]\Direction.coordinates)=3;
WR3: SIZEOF(multiplication_matrix[3]\Direction.coordinates)=3;
WR4: SIZEOF(translation.coordinates)=3;
END_ENTITY;
(*
Attribute definitions:
multiplication_matrix: the array of three instances of Direction that defines the multiplication matrix of the transformation.
translation: the Cartesian_point that defines the position of the result of the application of the transformation to the origin of the geometric space.
Formal propositions:
WR1: the first element of the matrix shall refer to a 3-dimensional Direction.
WR2: the second element of the matrix shall refer to a 3-dimensional Direction.
WR3: the third element of the matrix shall refer to a 3-dimensional Direction.
WR4: the translation point shall have 3 coordinates.
Only non abstract specializations of the Detailed_geometric_model_element entity data type can be instantiated.
EXPRESS specification:
*)
ENTITY Detailed_geometric_model_element
ABSTRACT SUPERTYPE
OF (ONEOF (Cartesian_point,
Direction,
Axis_placement,
Cartesian_transformation_2d,
Cartesian_transformation_3d))
SUBTYPE OF (Representation_item);
END_ENTITY;
(*
Informal propositions:
IP1: a Detailed_geometric_model_element shall be an item of a Geometric_model or serve to create an item of a Geometric_model.
IP2: the instances of Geometric_model that contain the Detailed_geometric_model_element shall all have the same space dimensionality.
NOTE 1 A Direction is not located in a geometric space but is used in the definition of geometric entities like Axis_placement.
EXPRESS specification:
*)
ENTITY Direction
SUBTYPE OF (Detailed_geometric_model_element);
coordinates : LIST[2:3] OF length_measure;
END_ENTITY;
(*
Attribute definitions:
coordinates: the list of 2 or 3 length measure values that define the direction ratios of the Direction.
NOTE 2 The coordinates of a Direction may not be normalised and the actual magnitudes of the components have no effect upon the direction being defined; only the ratios x:y:z or x:y are significant.
There shall be at least two units specified for the Geometric_coordinate_space: one length unit and one plane angle unit.
The length unit applies to each coordinate direction.
EXAMPLE The length unit millimetre and the angle unit radian are examples of units that may assigned to a Geometric_coordinate_space.
NOTE The origin for coordinate values is implicitly defined as being the cartesian point whose coordinates are all zero.
EXPRESS specification:
*)
ENTITY Geometric_coordinate_space
SUBTYPE OF (Numerical_representation_context);
dimension_count : INTEGER;
WHERE
WR1: dimension_count >0;
END_ENTITY;
(*
Attribute definitions:
dimension_count: the dimensionality of the geometric space.
Formal propositions:
WR1: the dimensionality shall be greater than zero.
The Geometric_model is founded in a Geometric_coordinate_space.
The items of a Geometric_model are instances of Detailed_geometric_model_element.
EXPRESS specification:
*)
ENTITY Geometric_model
SUBTYPE OF (Representation);
version_id :
OPTIONAL
STRING;
model_extent :
OPTIONAL
length_measure;
SELF\Representation.context_of_items : Geometric_coordinate_space;
SELF\Representation.items : SET[1:?] OF Detailed_geometric_model_element;
END_ENTITY;
(*
Attribute definitions:
version_id: the text that specifies the version identifier of the Geometric_model. The value of this attribute need not be specified.
model_extent: the length_measure that specifies the radius of a sphere that encloses all elements of the geometric model. The centre of the sphere is located at the origin of the Geometric_coordinate_space of the Geometric_model.
The value of this attribute need not be specified.
context_of_items: the Geometric_coordinate_space in which the Geometric_model is defined.
items: the instances of Detailed_geometric_model_element that are included in the Geometric_model.
*)
END_SCHEMA; -- Elemental_geometric_shape_arm
(*
© ISO 2006 — All rights reserved