AP scope  |  AP module  |  AP contents  |  AP index
Application module: Extended basic geometry ISO/TS 10303-1667: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 entity definitions
   4.3 ARM subtype constraint definitions
   4.4 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM entity definitions
     5.2.2 MIM function 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
Bibliography
Index

4 Information requirements

This clause specifies the information requirements for the Extended basic geometry 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 Extended_basic_geometry_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Extended_basic_geometry_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 Basic_geometry_arm;    --  ISO/TS 10303-1652

USE FROM Shape_property_assignment_arm;    --  ISO/TS 10303-1032

REFERENCE FROM Characterizable_object_arm    --  ISO/TS 10303-1765
  (bag_to_set);
(*

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

Basic_geometry_arm ISO/TS 10303-1652
Shape_property_assignment_arm ISO/TS 10303-1032
Characterizable_object_arm ISO/TS 10303-1765

NOTE 2   See Annex C, Figures C.1and C.2 for a graphical representation of this schema.

4.2 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.2.1 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);
END_ENTITY;
(*

4.2.2 Axis_placement_3d   EXPRESS-GMapping table

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

EXPRESS specification:

*)
ENTITY Axis_placement_3d
  SUBTYPE OF (Axis_placement);
END_ENTITY;
(*

4.2.3 Definitional_representation_relationship   EXPRESS-GMapping table

A Definitional_representation_relationship is a type of Representation_relationship. The representation indicated by rep_1 is part of the definition indicated by rep_2.

EXPRESS specification:

*)
ENTITY Definitional_representation_relationship
  SUBTYPE OF (Representation_relationship);
WHERE
  WR1: acyclic_representation_relationship(SELF, [SELF\representation_relationship.rep_2], 'FOUNDATION_REPRESENTATION_ARM.'+ 'REPRESENTATION');
END_ENTITY;
(*

Formal propositions:

WR1: The Definitional_representation_relationship shall not participate in cycles.

4.2.4 Detailed_geometric_model_element_relationship   EXPRESS-GMapping table

A Detailed_geometric_model_element_relationship is the association between a Detailed_geometric_model_element and another Detailed_geometric_model_element for predefined purposes. The purpose shall be specified in the Application Object that references a Detailed_geometric_model_element_relationship.

EXPRESS specification:

*)
ENTITY Detailed_geometric_model_element_relationship;
  item_1 : Detailed_geometric_model_element;
  item_2 : Detailed_geometric_model_element;
WHERE
  WR1: item_1 <> item_2;
END_ENTITY;
(*

Attribute definitions:

item_1: specifies one role of the Detailed_geometric_model_element for the Detailed_geometric_model_element_relationship.

item_2: specifies one role of the Detailed_geometric_model_element for the Detailed_geometric_model_element_relationship.

Formal propositions:

WR1: The item_1 and item_2 shall not be the same Detailed_geometric_model_element.

4.2.5 Geometric_model_element_relationship   EXPRESS-GMapping table

A Geometric_model_element_relationship is a type of Detailed_geometric_model_element_relationship and a type of Detailed_geometric_model_element.

EXPRESS specification:

*)
ENTITY Geometric_model_element_relationship
  SUBTYPE OF (Detailed_geometric_model_element_relationship, Detailed_geometric_model_element);
END_ENTITY;
(*

4.2.6 Geometric_model_relationship   EXPRESS-GMapping table

A Geometric_model_relationship is a type of Representation_relationship.

EXPRESS specification:

*)
ENTITY Geometric_model_relationship
  SUBTYPE OF (Representation_relationship);
  SELF\Representation_relationship.rep_1 : Geometric_model;
  SELF\Representation_relationship.rep_2 : Geometric_model;
WHERE
  WR1: rep_1 <> rep_2;
END_ENTITY;
(*

Attribute definitions:

rep_1: specifies a role of the Geometric_model for the Geometric_model_relationship.

rep_2: specifies a role of the Geometric_model for the Geometric_model_relationship.

Formal propositions:

WR1: The rep_1 shall not be rep_2.

4.2.7 Vector   EXPRESS-GMapping table

A Vector is a type of Detailed_geometric_model_element. A Vector is a quantity that has magnitude and direction and that is commonly represented by a directed line segment whose length represents the magnitude and whose orientation in space represents the direction.

EXPRESS specification:

*)
ENTITY Vector
  SUBTYPE OF (Detailed_geometric_model_element);
  orientation : Direction;
  magnitude : length_measure;
WHERE
  WR1: magnitude >= 0.0;
END_ENTITY;
(*

Attribute definitions:

orientation: specifies the role of Direction for the Vector.

magnitude: specifies the role of length_measure for the Vector.

Formal propositions:

WR1: The magnitude of the Vector should be equal or greater than zero.

4.3 ARM subtype constraint definitions

This subclause specifies the ARM subtype constraints for this module. Each subtype constraint places constraints on the possible super-type / subtype instantiations. The ARM subtype constraints and definitions are specified below.

4.3.1 alternate_extended_geometry_items   EXPRESS-GMapping table

The alternate_extended_geometry_items constraint specifies a constraint that applies to instances of subtypes of Detailed_geometric_model_element.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT alternate_extended_geometry_items FOR Detailed_geometric_model_element;
  ONEOF (Cartesian_point,
         Direction,
         Axis_placement,
         Cartesian_transformation_2d,
         Cartesian_transformation_3d,
         Curve,
         Point_on_curve,
         Point_on_surface,
         Surface,
         Vector);
END_SUBTYPE_CONSTRAINT;
(*

4.3.2 axis_placement_subtypes   EXPRESS-GMapping table

The axis_placement_subtypes constraint specifies a constraint that applies to instances of subtypes of Axis_placement.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT axis_placement_subtypes FOR Axis_placement;
  ONEOF (Axis_placement_2d,
         Axis_placement_3d);
END_SUBTYPE_CONSTRAINT;
(*

4.4 ARM function definition

This subclause specifies the ARM function for this module. The ARM function and definition is specified below.

4.4.1 acyclic_representation_relationship

The acyclic_representation_relationship function checks if specified Representation_relationship is not participating in cycle with regards to specified Representations.

EXPRESS specification:

*)
FUNCTION acyclic_representation_relationship (relation : Representation_relationship; relatives : SET[1:?] OF Representation; specific_relation : STRING) :BOOLEAN;
LOCAL
      x : SET OF representation_relationship;
    END_LOCAL;

    IF relation.rep_1 IN relatives THEN
      RETURN (FALSE);
    END_IF;
    x := QUERY(r <* bag_to_set(USEDIN(relation.rep_1, 'FOUNDATION_REPRESENTATION_ARM.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2')) | specific_relation IN TYPEOF(r));
    REPEAT i := 1 TO HIINDEX(x);
      IF NOT acyclic_representation_relationship(x[i], relatives + relation.rep_1, specific_relation) THEN
        RETURN (FALSE);
      END_IF;
    END_REPEAT;
    RETURN (TRUE);
END_FUNCTION;
(*

Argument definitions:

relation: the specified Representation_relationship.

relatives: the specified Representations.

specific_relation: the specified type of Representation_relationships to be considered.



*)
END_SCHEMA;  -- Extended_basic_geometry_arm
(*


© ISO 2006 — All rights reserved