AP scope | AP module | AP contents | AP index | |
Application module: Extended basic geometry | ISO/TS 10303-1667:2006(E) © ISO |
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;
(*
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.
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.
EXPRESS specification:
*)
ENTITY Axis_placement_2d
SUBTYPE OF (Axis_placement);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY Axis_placement_3d
SUBTYPE OF (Axis_placement);
END_ENTITY;
(*
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.
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.
EXPRESS specification:
*)
ENTITY Geometric_model_element_relationship
SUBTYPE OF (Detailed_geometric_model_element_relationship, Detailed_geometric_model_element);
END_ENTITY;
(*
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.
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.
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.
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;
(*
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;
(*
This subclause specifies the ARM function for this module. The ARM function and definition is specified below.
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