Application module: Elemental geometric shape ISO/TS 10303-1004:2021(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

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 definition

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
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.

This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following 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 Elemental_topology_arm;    --  ISO/TS 10303-1005

USE FROM Foundation_representation_arm;    --  ISO/TS 10303-1006
(*

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Elemental_topology_arm ISO/TS 10303-1005
Foundation_representation_arm ISO/TS 10303-1006

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_model_item   EXPRESS-G

The geometric_model_item type allows for the designation of the data types Detailed_geometric_model_element and Detailed_topological_model_element.

EXPRESS specification:

*)
TYPE geometric_model_item = SELECT
   (Detailed_geometric_model_element,
    Detailed_topological_model_element);
END_TYPE;
(*

4.2.3 template_definition_select   EXPRESS-G

The template_definition_select type is an extensible list of alternate data types that allows for the designation of the data type Geometric_model.

NOTE   The list of entity data types may be extended in application modules that use the constructs of this module.

EXPRESS specification:

*)
TYPE template_definition_select = EXTENSIBLE SELECT
   (Geometric_model);
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 Axis1_placement   EXPRESS-GMapping table

An Axis1_placement is a type of Detailed_geometric_model_element that defines the position of a single axis in three-dimensional space.

EXPRESS specification:

*)
ENTITY Axis1_placement
  SUBTYPE OF (Axis_placement);
  axis : OPTIONAL Direction;
WHERE
  WR1: SELF\Axis_placement.dim = 3;
  WR2: SIZEOF(axis\Direction.direction_ratios) = 3;
END_ENTITY;
(*

Attribute definitions:

axis: the direction of the axis.

Formal propositions:

WR1: The dimensionality of the Axis_placement_2d shall be 3.

WR2: The number of dimension ratios of the axis shall be 3.

4.3.2 Axis_placement   EXPRESS-GMapping table

An Axis_placement is a type of Detailed_geometric_model_element that locates and orient a geometric item with respect to the coordinate system of its Geometric_coordinate_space.

NOTE    An Axis_placement might be used as a local right-handed, 2D or 3D, coordinate system within its Geometric_coordinate_space.

EXPRESS specification:

*)
ENTITY Axis_placement
  ABSTRACT SUPERTYPE OF (ONEOF (Axis_placement_2d,
                                Axis_placement_3d,
                                Axis1_placement))
  SUBTYPE OF (Detailed_geometric_model_element);
  location : Cartesian_point;
DERIVE
  dim : INTEGER := SIZEOF(location\Cartesian_point.coordinates);
END_ENTITY;
(*

Attribute definitions:

location: the Cartesian_point that defines the position of the Axis_placement in the geometric space.

dim: the dimensionality of the Axis_placement. It is equal to the number of coordinates of the location.

4.3.3 Axis_placement_2d   EXPRESS-GMapping table

An Axis_placement_2d is a type of Axis_placement that is two-dimensional.

EXPRESS specification:

*)
ENTITY Axis_placement_2d
  SUBTYPE OF (Axis_placement);
  ref_direction : OPTIONAL Direction;
WHERE
  WR1: SELF\Axis_placement.dim = 2;
  WR2: SIZEOF(ref_direction\Direction.direction_ratios) = 2;
END_ENTITY;
(*

Attribute definitions:

ref_direction: the direction used to determine the direction of the local X axis. The value of this attribute need not be specified. If ref_direction is omitted, this directions is taken from the geometric coordinate system

Formal propositions:

WR1: The dimensionality of the Axis_placement_2d shall be two.

WR2: The dimensionality of the ref_direction shall be two.

4.3.4 Axis_placement_3d   EXPRESS-GMapping table

An Axis_placement_3d is a type of Axis_placement that is three-dimensional.

The third direction of the coordinate system is defined by the vector product of axis and ref_direction.

EXPRESS specification:

*)
ENTITY Axis_placement_3d
  SUBTYPE OF (Axis_placement);
  axis : OPTIONAL Direction;
  ref_direction : OPTIONAL Direction;
WHERE
  WR1: SELF\Axis_placement.dim = 3;
  WR2: SIZEOF(axis\Direction.direction_ratios) = 3;
  WR3: SIZEOF(ref_direction\Direction.direction_ratios) = 3;
END_ENTITY;
(*

Attribute definitions:

axis: the Direction that defines the second axis of the Axis_placement. The value of this attribute need not be specified.

ref_direction: the direction used to determine the direction of the local X axis. The value of this attribute need not be specified. If axis or ref_direction is omitted, these directions are taken from the geometric coordinate system

Formal propositions:

WR1: The dimensionality of the Axis_placement_3d shall be three.

WR2: The dimensionality of the axis shall be three.

WR3: The dimensionality of the ref_direction shall be three.

Informal propositions:

IP1: If both axis and ref_direction are provided then the vector product of axis and ref_direction shall not be a null vector.

4.3.5 Cartesian_point   EXPRESS-GMapping table

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

EXPRESS specification:

*)
ENTITY Cartesian_point
  SUBTYPE OF (Point);
  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.6 Cartesian_transformation_2d   EXPRESS-GMapping table

A Cartesian_transformation_2d is a type of Detailed_geometric_model_element. 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;
  scale : OPTIONAL REAL;
WHERE
  WR1: SIZEOF(multiplication_matrix[1]\Direction.direction_ratios)=2;
  WR2: SIZEOF(multiplication_matrix[2]\Direction.direction_ratios)=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.

scale: the scaling value specified for the transformation. The value of this attribute need not be specified.

Formal propositions:

WR1: The first element of the matrix shall refer to a two-dimensional Direction.

WR2: The second element of the matrix shall refer to a two-dimensional Direction.

WR3: The translation point shall have two coordinates.

4.3.7 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;
  scale : OPTIONAL REAL;
WHERE
  WR1: SIZEOF(multiplication_matrix[1]\Direction.direction_ratios)=3;
  WR2: SIZEOF(multiplication_matrix[2]\Direction.direction_ratios)=3;
  WR3: SIZEOF(multiplication_matrix[3]\Direction.direction_ratios)=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.

scale: the scaling value specified for the transformation. The value of this attribute need not be specified.

Formal propositions:

WR1: The first element of the matrix shall refer to a three-dimensional Direction.

WR2: The second element of the matrix shall refer to a three-dimensional Direction.

WR3: The third element of the matrix shall refer to a three-dimensional Direction.

WR4: The translation point shall have three coordinates.

4.3.8 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.

A Detailed_geometric_model_element is either a Cartesian_point or a Direction or an Axis_placement or a Cartesian_transformation_2d or a Cartesian_transformation_3d or a Geometric_placement_operation or a specialization defined elsewhere.

EXPRESS specification:

*)
ENTITY Detailed_geometric_model_element
  ABSTRACT SUPERTYPE OF (ONEOF (Direction,
                                Axis_placement,
                                Cartesian_transformation_2d,
                                Cartesian_transformation_3d,
                                Geometric_placement_operation,
                                Point))
  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.9 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);
  direction_ratios : LIST[2:3] OF REAL;
END_ENTITY;
(*

Attribute definitions:

direction_ratios: the list of 2 or 3 length measure values that define the direction ratios of the Direction.

NOTE 2   The direction ratios 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.10 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 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.11 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 and Detailed_topological_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 geometric_model_item;
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 and Detailed_topological_model_element that are included in the Geometric_model.

4.3.12 Geometric_operator_transformation   EXPRESS-GMapping table

A Geometric_operator_transformation is a type of Geometric_placement_operation that results in a Cartesian transformation.

EXPRESS specification:

*)
ENTITY Geometric_operator_transformation
  SUBTYPE OF (Geometric_placement_operation);
  target : cartesian_transformation;
END_ENTITY;
(*

Attribute definitions:

target: the cartesian_transformation that identifies the target of the transformation.

4.3.13 Geometric_placement   EXPRESS-GMapping table

A Geometric_placement is a type of Geometric_placement_operation that results in an axis placement in a coordinate space.

EXPRESS specification:

*)
ENTITY Geometric_placement
  SUBTYPE OF (Geometric_placement_operation);
  target : Axis_placement;
END_ENTITY;
(*

Attribute definitions:

target: the Axis_placement that identifies the target of the placement.

4.3.14 Geometric_placement_operation   EXPRESS-GMapping table

A Geometric_placement_operation is a type of Detailed_geometric_model_element. A Geometric_placement_operation may be a Geometric_placement or a Geometric_operator_transformation.

EXPRESS specification:

*)
ENTITY Geometric_placement_operation
  ABSTRACT SUPERTYPE OF (ONEOF (Geometric_placement,
                                Geometric_operator_transformation))
  SUBTYPE OF (Detailed_geometric_model_element);
  source : Axis_placement;
  template_definition : template_definition_select;
END_ENTITY;
(*

Attribute definitions:

source: the Axis_placement that identifies the source of the operation.

template_definition: the value from template_definition_select.

4.3.15 Point   EXPRESS-GMapping table

A Point is a type of Detailed_geometric_model_element. A Point is a location in a Cartesian coordinate space.

EXPRESS specification:

*)
ENTITY Point
  SUBTYPE OF (Detailed_geometric_model_element);
END_ENTITY;
(*



*)
END_SCHEMA;  -- Elemental_geometric_shape_arm
(*


© ISO 2021 — All rights reserved