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

(*
ISO/TC 184/SC 4/WG 12 N10666 - ISO/TS 10303-1004 Elemental geometric shape - EXPRESS ARM
Supersedes ISO/TC 184/SC 4/WG 12 N10330
*)



SCHEMA Elemental_geometric_shape_arm;

USE FROM Elemental_topology_arm;    -- ISO/TS 10303-1005

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


TYPE cartesian_transformation = SELECT
   (Cartesian_transformation_2d,
    Cartesian_transformation_3d);
END_TYPE;

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

TYPE template_definition_select = EXTENSIBLE SELECT
   (Geometric_model);
END_TYPE;

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;

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;

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;

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;

ENTITY Cartesian_point
  SUBTYPE OF (Point);
  coordinates : LIST[1:3] OF length_measure;
END_ENTITY;

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;

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;

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;

ENTITY Direction
  SUBTYPE OF (Detailed_geometric_model_element);
  direction_ratios : LIST[2:3] OF REAL;
END_ENTITY;

ENTITY Geometric_coordinate_space
  SUBTYPE OF (Numerical_representation_context);
  dimension_count : INTEGER;
WHERE
  WR1: dimension_count >0;
END_ENTITY;

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;

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

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

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;

ENTITY Point
  SUBTYPE OF (Detailed_geometric_model_element);
END_ENTITY;

END_SCHEMA;  -- Elemental_geometric_shape_arm


© ISO 2021 — All rights reserved