AP scope  |  AP module  |  AP contents  |  AP index
Application module: Elemental geometric shape ISO/TS 10303-1004:2006(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviations

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
   4.3 ARM entity definitions
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM type definitions

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
Bibliography
Index

4 Information requirements

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;
(*

4.1 Required AM ARMs

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.

4.2 ARM type definitions

This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.

4.2.1 cartesian_transformation   EXPRESS-G

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;
(*

4.2.2 geometric_mapping_target   EXPRESS-G

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;
(*

4.3 ARM entity definitions

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.

4.3.1 Axis_placement   EXPRESS-GMapping table

An Axis_placement is a type of Detailed_geometric_model_element that defines a right-handed, 2D or 3D, coordinate system.

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.

4.3.2 Axis_placement_mapping   EXPRESS-GMapping table

An Axis_placement_mapping is a geometric transformation defined by a source Axis_placement and a target Axis_placement that results from the transformation of the source one.

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.

4.3.3 Cartesian_point   EXPRESS-GMapping table

A Cartesian_point is a type of Detailed_geometric_model_element that defines a point by a list of up to 3 cartesian coordinates.

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.

4.3.4 Cartesian_transformation_2d   EXPRESS-GMapping table

A Cartesian_transformation_2d is a type of Geometric_model. It is defined in a 2D geometric space by a 2*2 matrix and a cartesian 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.

4.3.5 Cartesian_transformation_3d   EXPRESS-GMapping table

A Cartesian_transformation_3d is a type of Detailed_geometric_model_element that is a geometric transformation defined in a 3D geometric space by a 3*3 matrix and a cartesian point.

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.

4.3.6 Detailed_geometric_model_element   EXPRESS-GMapping table

A Detailed_geometric_model_element is a type of Representation_item. It identifies a geometric construct.

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.

4.3.7 Direction   EXPRESS-GMapping table

A Direction is a type of Detailed_geometric_model_element that defines a 2 or 3 dimensional vector.

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.

4.3.8 Geometric_coordinate_space   EXPRESS-GMapping table

A Geometric_coordinate_space is a type of Numerical_representation_context that defines a coordinate space where geometric elements can be defined. It is either two-dimensional or three-dimensional.

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.

4.3.9 Geometric_model   EXPRESS-GMapping table

A Geometric_model is a type of Representation dedicated to the description of geometric constructs.

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