Application module: Geometric tolerance ISO/TS 10303-1051:2019(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
   4.4 ARM subtype constraint definitions
   4.5 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 definitions
     5.2.3 MIM rule 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
F Change history
Bibliography
Index

4 Information requirements

This clause specifies the information requirements for the Geometric tolerance 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 Geometric_tolerance_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Geometric_tolerance_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 Derived_shape_element_arm;    --  ISO/TS 10303-1130

USE FROM Dimension_tolerance_arm;    --  ISO/TS 10303-1050

USE FROM Feature_and_connection_zone_arm;    --  ISO/TS 10303-1671

USE FROM Measure_representation_arm;    --  ISO/TS 10303-1118

USE FROM Part_shape_arm;    --  ISO/TS 10303-1807

USE FROM Shape_composition_arm;    --  ISO/TS 10303-1742

USE FROM Support_resource_arm;    --  ISO/TS 10303-1800

USE FROM Value_with_unit_extension_arm;    --  ISO/TS 10303-1753
(*

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

Derived_shape_element_arm ISO/TS 10303-1130
Dimension_tolerance_arm ISO/TS 10303-1050
Feature_and_connection_zone_arm ISO/TS 10303-1671
Measure_representation_arm ISO/TS 10303-1118
Part_shape_arm ISO/TS 10303-1807
Shape_composition_arm ISO/TS 10303-1742
Support_resource_arm ISO/TS 10303-1800
Value_with_unit_extension_arm ISO/TS 10303-1753

NOTE 2   See Annex C, Figures C.1, C.2, C.3, C.4, C.5and C.6 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 area_unit_type   EXPRESS-G

The area_unit_type is an extensible list of types of area that is used by Geometric_tolerance.

EXPRESS specification:

*)
TYPE area_unit_type = EXTENSIBLE ENUMERATION OF
   (circular,
    square,
    rectangular,
    cylindrical,
    spherical);
END_TYPE;
(*

Enumerated item definitions:

circular: the area is circular;

square: the area is square;

rectangular: the area is rectangular;

cylindrical: the area is cylindrical;

spherical: the area is rectangular.

4.2.2 collection_plane_orientation   EXPRESS-G

The collection_plane_orientation is an extensible list of orientations for a collection plane.

EXPRESS specification:

*)
TYPE collection_plane_orientation = EXTENSIBLE ENUMERATION OF
   (perpendicular,
    parallel);
END_TYPE;
(*

Enumerated item definitions:

perpendicular: the collection plane is perpendicular to the referenced datum;

parallel: the collection plane is parallel to the referenced datum.

4.2.3 common_datum_list   EXPRESS-G

The common_datum_list is a list of Datum_reference_element. Unless otherwise specified, a common_datum_list shall be used in accordance with common datum as defined in ISO 5459.

EXPRESS specification:

*)
TYPE common_datum_list = LIST[1:?] OF Datum_reference_element;
END_TYPE;
(*

4.2.4 datum_or_common_datum   EXPRESS-G

The datum_or_common_datum type allows for the designation of the data types common_datum_list and Datum.

The datum_or_common_datum type is a list of alternate data types. It provides a mechanism to refer to an instance of one of these data types.

EXPRESS specification:

*)
TYPE datum_or_common_datum = SELECT
   (common_datum_list,
    Datum);
END_TYPE;
(*

4.2.5 datum_reference_modifier   EXPRESS-G

The datum_reference_modifier type is an extensible list of alternate data types that allows for the designation of the data types Datum_reference_modifier_with_value and simple_datum_reference_modifier.

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

EXPRESS specification:

*)
TYPE datum_reference_modifier = EXTENSIBLE SELECT
   (Datum_reference_modifier_with_value,
    simple_datum_reference_modifier);
END_TYPE;
(*

4.2.6 datum_reference_modifier_type   EXPRESS-G

The datum_reference_modifier_type is an extensible list of modifier types that is used by Datum_reference_modifier_with_value

EXPRESS specification:

*)
TYPE datum_reference_modifier_type = EXTENSIBLE ENUMERATION OF
   (circular_or_cylindrical,
    spherical,
    distance,
    projected);
END_TYPE;
(*

Enumerated item definitions:

circular_or_cylindrical: the shape of the associated feature used to establish a datum is circular or cylindrical;

spherical: the shape of the associated feature used to establish a datum is spherical;

distance: the shape of the associated feature used to establish a datum is two parallel planes;

projected: the shape of the associated feature used to establish a datum is extended by a projected length as defined in ISO 5459.

4.2.7 directed_or_oriented_geometric_tolerance_select   EXPRESS-G

The directed_or_oriented_geometric_tolerance_select type allows for the designation of the data types Line_profile_tolerance, Parallelism_tolerance, Perpendicularity_tolerance, Position_tolerance, Straightness_tolerance, and Symmetry_tolerance.

EXPRESS specification:

*)
TYPE directed_or_oriented_geometric_tolerance_select = SELECT
   (Line_profile_tolerance,
    Parallelism_tolerance,
    Perpendicularity_tolerance,
    Position_tolerance,
    Straightness_tolerance,
    Symmetry_tolerance);
END_TYPE;
(*

4.2.8 directed_tolerance_zone_type   EXPRESS-G

The directed_tolerance_zone_type is an extensible list of modifier types that is used by Directed_tolerance_zone to indicate the direction of an "intersection plane".

EXPRESS specification:

*)
TYPE directed_tolerance_zone_type = ENUMERATION OF
   (perpendicular,
    parallel,
    including);
END_TYPE;
(*

Enumerated item definitions:

perpendicular: indicates that the "intersection plane" is directed perpendicular to the referenced datum.

parallel: indicates that the "intersection plane" is directed parallel to the referenced datum.

including: indicates that the "intersection plane" is directed so that it includes the referenced datum.

4.2.9 geometric_tolerance_auxiliary_classification_enum   EXPRESS-G

The geometric_tolerance_auxiliary_classification_enum is an extensible list of types of auxiliary classification that is used by Geometric_tolerance_auxiliary_classification.

EXPRESS specification:

*)
TYPE geometric_tolerance_auxiliary_classification_enum = ENUMERATION OF
   (all_over,
    unless_otherwise_specified);
END_TYPE;
(*

Enumerated item definitions:

all_over: unless otherwise specified the rules governing all over defined in ISO 1101 shall apply.

NOTE 1   Alternatively all over can be used according to the specifications given in ASME Y14.5-2009

unless_otherwise_specified: the specification applies to all surfaces for which no other tolerance of the same type is defined.

NOTE 2   The use of "unless otherwise specified" is described in ASME Y14.5-2009

4.2.10 geometric_tolerance_modifier   EXPRESS-G

The geometric_tolerance_modifier is the list of modifiers that is used by Geometric_tolerance.

EXPRESS specification:

*)
TYPE geometric_tolerance_modifier = EXTENSIBLE ENUMERATION OF
   (circle_a,
    maximum_material_requirement,
    least_material_requirement,
    reciprocity_requirement,
    any_cross_section,
    free_state,
    common_zone,
    minor_diameter,
    major_diameter,
    pitch_diameter,
    line_element,
    not_convex,
    statistical_tolerance,
    tangent_plane,
    each_radial_element,
    separate_requirement,
    united_feature,
    associated_minmax_feature,
    associated_least_square_feature,
    associated_minimum_inscribed_feature,
    associated_tangent_feature,
    associated_maximum_inscribed_feature);
END_TYPE;
(*

Enumerated item definitions:

circle_a: indicates that the toleranced feature is a median feature in accordance with ISO 1101 unless otherwise specified;

NOTE    The symbol for median feature is Ⓐ.

maximum_material_requirement: indicates that maximum material requirement applies in accordance with ISO 2692 unless otherwise specified;

NOTE 1   The symbol for maximum material requirement is Ⓜ.

least_material_requirement: indicates that least material requirement applies in accordance with ISO 2692 unless otherwise specified;

NOTE 2   The symbol for least material requirement is Ⓛ.

reciprocity_requirement: indicates that reciprocity requirement applies in accordance with ISO 2692 unless otherwise specified;

NOTE 3   The symbol for reciprocity requirement is Ⓡ.

any_cross_section: indicates that any cross section applies in accordance with ISO 1101 unless otherwise specified;

NOTE 4   The symbol for any cross section is ACS.

free_state: indicates that free state applies in accordance with ISO 10579 unless otherwise specified;

NOTE 5   The symbol for free state is Ⓕ.

common_zone: indicates that common zone applies in accordance with ISO 1101 unless otherwise specified;

NOTE 6   The symbol for common zone is CZ.

minor_diameter: indicates that minor diameter applies in accordance with ISO 1101 unless otherwise specified;

NOTE 7   The symbol for minor diameter is LD.

major_diameter: indicates that major diameter applies in accordance with ISO 1101 unless otherwise specified;

NOTE 8   The symbol for major diameter is MD.

pitch_diameter: indicates that pitch diameter applies in accordance with ISO 1101 unless otherwise specified;

NOTE 9   The symbol for pitch diameter is PD.

line_element: indicates that line element applies in accordance with ISO 1101 unless otherwise specified;

NOTE 10   The symbol for line element is LE.

not_convex: indicates that not convex applies in accordance with ISO 1101 unless otherwise specified;

NOTE 11   The symbol for not convex is NC.

statistical_tolerance: indicates that the tolerance is based on statistical tolerances;

NOTE 12   For ASME Y14.5-2009 [3] Y14.5-2009 this is indicated by <ST>.

tangent_plane: indicates that the datum is the tangent plane established by contacting points;

NOTE 13   For ASME Y14.5-2009 [3] this is indicated by Ⓣ.

each_radial_element: indicates that the tolerance zone applies to each radial element individually.

NOTE 14   For ASME Y14.5-2009 [3] this is indicated by EACH RADIAL ELEMENT.

separate_requirement: indicates that the tolerance is a separate requirement;

NOTE 15   For ASME Y14.5-2009 [3] this is indicated by SEP REQ.

united_feature: indicates that united feature applies in accordance with ISO 1101 unless otherwise specified;

NOTE 16   The symbol for united feature is UF.

associated_minmax_feature: indicates that the toleranced feature specification element is the associated minimax (Chebyshev) feature in accordance with ISO 1101 unless otherwise specified;

NOTE    The symbol for minimax (Chebyshev) feature is Ⓒ.

associated_least_square_feature: indicates that the toleranced feature specification element is the least squares (Gaussian) feature in accordance with ISO 1101 unless otherwise specified;

NOTE    The symbol for least squares (Gaussian) feature is Ⓖ.

associated_minimum_inscribed_feature: indicates that the toleranced feature specification element is the associated minimum circumscribed feature in accordance with ISO 1101 unless otherwise specified;

NOTE    The symbol for minimum circumscribed feature is Ⓝ.

associated_tangent_feature: indicates that the toleranced feature specification element is the associated tangent feature in accordance with ISO 1101 unless otherwise specified;

NOTE 1   The symbol for tangent feature is Ⓣ.

NOTE 2   The tangent_plane is used for ASME Y14.5-2009 [11]

associated_maximum_inscribed_feature: indicates that the toleranced feature specification element is the maximum inscribed feature in accordance with ISO 1101 unless otherwise specified;

NOTE    The symbol for maximum inscribed feature is Ⓧ.

4.2.11 geometric_tolerance_target   EXPRESS-G

The geometric_tolerance_target type is an extensible list of alternate data types that allows for the designation of the data types Dimensional_location, Dimensional_size, Part_view_definition, and General_part_feature.

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

EXPRESS specification:

*)
TYPE geometric_tolerance_target = EXTENSIBLE GENERIC_ENTITY SELECT
   (Dimensional_location,
    Dimensional_size,
    Part_view_definition,
    General_part_feature);
END_TYPE;
(*

4.2.12 gps_filtration_specification_target   EXPRESS-G

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

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

EXPRESS specification:

*)
TYPE gps_filtration_specification_target = EXTENSIBLE GENERIC_ENTITY SELECT
   (Geometric_tolerance);
END_TYPE;
(*

4.2.13 gps_filtration_type   EXPRESS-G

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

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

EXPRESS specification:

*)
TYPE gps_filtration_type = EXTENSIBLE GENERIC_ENTITY SELECT
   (geometric_tolerance_modifier);
END_TYPE;
(*

4.2.14 length_or_angle_data_element_select   EXPRESS-G

The length_or_angle_data_element_select type allows for the designation of the data types Length_data_element and Angle_data_element.

EXPRESS specification:

*)
TYPE length_or_angle_data_element_select = SELECT
   (Length_data_element,
    Angle_data_element);
END_TYPE;
(*

4.2.15 oriented_tolerance_zone_type   EXPRESS-G

The oriented_tolerance_zone_type is a list of modifier types that is used by Oriented_tolerance_zone to indicate the orientation of an "orientation plane".

EXPRESS specification:

*)
TYPE oriented_tolerance_zone_type = ENUMERATION OF
   (perpendicular,
    parallel,
    angular);
END_TYPE;
(*

Enumerated item definitions:

perpendicular: indicates that the "orientation plane" is oriented perpendicular to the referenced datum.

parallel: indicates that the "orientation plane" is oriented parallel to the referenced datum.

angular: indicates that the "orientation plane" is oriented under some specified angle to the referenced datum.

4.2.16 simple_datum_reference_modifier   EXPRESS-G

The simple_datum_reference_modifier is an extensible list of modifier symbols, which can be associated to the datum letter.

EXPRESS specification:

*)
TYPE simple_datum_reference_modifier = EXTENSIBLE ENUMERATION OF
   (free_state,
    basic,
    translation,
    least_material_requirement,
    maximum_material_requirement,
    point,
    line,
    plane,
    orientation,
    any_cross_section,
    any_longitudinal_section,
    contacting_feature,
    distance_variable,
    degree_of_freedom_constraint_x,
    degree_of_freedom_constraint_y,
    degree_of_freedom_constraint_z,
    degree_of_freedom_constraint_u,
    degree_of_freedom_constraint_v,
    degree_of_freedom_constraint_w,
    minor_diameter,
    major_diameter,
    pitch_diameter);
END_TYPE;
(*

Enumerated item definitions:

free_state: indicates that free state applies in accordance with ISO 10579 unless otherwise specified;

NOTE 1   The symbol for free state is Ⓕ.

basic: indicates that the datum feature is simulated at the boundary defined by TEDs;

NOTE 2   For ASME Y14.5-2009 [3] this is indicated by "BSC" or "BASIC."

translation: indicates that the datum feature simulator is not fixed as its theoretically exact location and shall be free to translate;

NOTE 3   For ASME Y14.5-2009 [3] this is indicated by ▷.

least_material_requirement: indicates that least material requirement applies in accordance with ISO 2692 unless otherwise specified;

NOTE 4   The symbol for least material requirement is Ⓛ.

maximum_material_requirement: indicates that maximum material requirement applies in accordance with ISO 2692 unless otherwise specified;

NOTE 5   The symbol for maximum material requirement is Ⓜ.

point: indicates that point applies in accordance with ISO 5459 unless otherwise specified;

NOTE 6   The symbol for point is [SP].

line: indicates that line applies in accordance with ISO 5459 unless otherwise specified;

NOTE 7   The symbol for line is [SL].

plane: indicates that plane applies in accordance with ISO 5459 unless otherwise specified;

NOTE 8   The symbol for plane is [PL].

orientation: indicates that orientation applies in accordance with ISO 5459 unless otherwise specified;

NOTE 9   The symbol for orientation is [OO].

any_cross_section: indicates that any cross section applies in accordance with ISO 5459 unless otherwise specified;

NOTE 10   The symbol for any cross section is [ACS].

any_longitudinal_section: indicates that any longitudinal section applies in accordance with ISO 5459 unless otherwise specified;

NOTE 11   The symbol for any longitudinal section is [ALS].

contacting_feature: indicates that contacting feature applies in accordance with ISO 5459 unless otherwise specified;

NOTE 12   The symbol for contacting feature is [CF].

distance_variable: indicates that distance variable applies in accordance with ISO 5459 unless otherwise specified;

NOTE 13   The symbol for distance variable is [DV].

degree_of_freedom_constraint_x: indicates that the degree of freedom in the x direction is constrained;

NOTE 14   For ASME Y14.5-2009 [3] this is indicated by "[x]."

degree_of_freedom_constraint_y: indicates that the degree of freedom in the y direction is constrained;

NOTE 15   For ASME Y14.5-2009 [3] this is indicated by "[y]."

degree_of_freedom_constraint_z: indicates that the degree of freedom in the z direction is constrained;

NOTE 16   For ASME Y14.5-2009 [3] this is indicated by "[z]."

degree_of_freedom_constraint_u: indicates that the degree of freedom in the u direction is constrained;

NOTE 17   For ASME Y14.5-2009 [3] this is indicated by "[u]."

degree_of_freedom_constraint_v: indicates that the degree of freedom in the v direction is constrained;

NOTE 18   For ASME Y14.5-2009 [3] this is indicated by "[v]."

degree_of_freedom_constraint_w: indicates that the degree of freedom in the w direction is constrained.

NOTE 19   For ASME Y14.5-2009 [3] this is indicated by "[w]."

minor_diameter: indicates that minor diameter applies in accordance with ISO 5459 unless otherwise specified;

NOTE 20   The symbol for minor diameter is [LD].

major_diameter: indicates that major diameter applies in accordance with ISO 5459 unless otherwise specified;

NOTE 21   The symbol for major diameter is [MD].

pitch_diameter: indicates that pitch diameter applies in accordance with ISO 5459 unless otherwise specified;

NOTE 22   The symbol for pitch diameter is [PD].

4.2.17 tolerance_zone_target   EXPRESS-G

The tolerance_zone_target type allows for the designation of the data types Dimensional_location, Dimensional_size, General_datum_reference, and Geometric_tolerance.

EXPRESS specification:

*)
TYPE tolerance_zone_target = SELECT
   (Dimensional_location,
    Dimensional_size,
    General_datum_reference,
    Geometric_tolerance);
END_TYPE;
(*

4.2.18 tolerance_zone_type   EXPRESS-G

The tolerance_zone_type is the list of tolerance zone shapes that is used by Tolerance_zone. tolerance_zone_type shall be used in accordance to tolerance zone as defined in ISO 1101.

EXPRESS specification:

*)
TYPE tolerance_zone_type = ENUMERATION OF
   (within_a_circle,
    within_a_cylinder,
    within_a_cone,
    within_a_single_complex_surface,
    within_a_sphere,
    between_two_coaxial_cylinders,
    between_two_concentric_circles,
    between_two_equidistant_curves,
    between_two_equidistant_complex_lines_or_two_parallel_straight_lines,
    between_two_equidistant_complex_surfaces_or_two_parallel_planes,
    between_two_equidistant_surfaces,
    between_two_non_equidistant_complex_lines_or_two_non_parallel_straight_lines,
    between_two_non_equidistant_complex_surfaces_or_two_non_parallel_planes,
    between_two_parallel_circles_on_a_conical_surface,
    between_two_parallel_circles_of_the_same_diameter,
    non_uniform,
    cylindrical_or_circular,
    spherical,
    not_known);
END_TYPE;
(*

Enumerated item definitions:

within_a_circle: the tolerance zone is the space within a circle;

within_a_cylinder: the tolerance zone is the space within a cylinder;

within_a_cone: the tolerance zone is the space within a cone;

within_a_single_complex_surface: the tolerance zone is the space within a single complex surface;

within_a_sphere: the tolerance zone is the space within a sphere;

between_two_coaxial_cylinders: the tolerance zone is the space between two coaxial cylinders;

between_two_concentric_circles: the tolerance zone is the space between two concentric circles;

between_two_equidistant_curves: the tolerance zone is the space between two equidistant lines or two parallel straight lines;

between_two_equidistant_complex_lines_or_two_parallel_straight_lines: the tolerance zone is the space between two equidistant complex lines or two parallel straight lines;

between_two_equidistant_complex_surfaces_or_two_parallel_planes: the tolerance zone is the space between two equidistant complex surfaces or two parallel planes;

between_two_equidistant_surfaces: the tolerance zone is the space between two equidistant surfaces or two parallel planes;

between_two_non_equidistant_complex_lines_or_two_non_parallel_straight_lines: the tolerance zone is the space between two non-equidistant complex lines or two non-parallel straight lines;

between_two_non_equidistant_complex_surfaces_or_two_non_parallel_planes: the tolerance zone is the space between two non-equidistant complex surfaces or two non-parallel planes;

between_two_parallel_circles_on_a_conical_surface: the tolerance zone is the space between two parallel circles on a conical surface;

between_two_parallel_circles_of_the_same_diameter: the tolerance zone is the space between two parallel circles of the same diameter;

non_uniform: the tolerance zone is not one of the cases listed by ISO;

cylindrical_or_circular: the tolerance zone is the space within a cylinder or circle;

spherical: the tolerance zone is the space within a sphere;

not_known: specifies that no information is available in the creating system.

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 Affected_plane_tolerance_zone   EXPRESS-GMapping table

An Affected_plane_tolerance_zone is a type of Tolerance_zone.

EXPRESS specification:

*)
ENTITY Affected_plane_tolerance_zone
  SUBTYPE OF (Directed_or_oriented_tolerance_zone);
  affected_plane : Axis_placement_shape_element;
END_ENTITY;
(*

Attribute definitions:

affected_plane: a plane which defines the elements to which the tolerance is applied.

4.3.2 All_around_shape_element   EXPRESS-GMapping table

An All_around_shape_element is a type of Composite_shape_element that represents the concept of "all around" as defined in ISO 1101.

NOTE    Alternatively all around can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY All_around_shape_element
  SUBTYPE OF (Continuous_shape_element);
END_ENTITY;
(*

4.3.3 All_around_shape_element_along_collection_plane   EXPRESS-GMapping table

An All_around_shape_element_along_collection_plane is a type of All_around_shape_element that represents the "all around" along a specified "collection plane" as defined in ISO 1101.

EXPRESS specification:

*)
ENTITY All_around_shape_element_along_collection_plane
  SUBTYPE OF (All_around_shape_element);
  base : Datum_system;
  orientation : collection_plane_orientation;
END_ENTITY;
(*

Attribute definitions:

base: specifies the Datum_system along which the "collection plane" is oriented.

orientation: specifies the angle of the collection plane to the Datum_system.

4.3.4 Angularity_tolerance   EXPRESS-GMapping table

An Angularity_tolerance is a type of Geometric_tolerance that is a constraint on the location of a surface, of a centre plane, of an edge, or of an axis that lies theoretically at a specified angle (other than 90 degrees) from a datum plane or from a datum axis.

Unless otherwise specified the rules governing angularity tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively angularity tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

The specified angle shall not be a multiple of 90 degrees. In the case of 0 or 180 degrees, a Parallelism_tolerance shall be used. In the case of 90 or 270 degrees, a Perpendicularity_tolerance shall be used. The specified angle shall be defined using an instance of Angular_location. The toleranced element is either a plane or a straight line.

An Angularity_tolerance specifies one of the following:

EXPRESS specification:

*)
ENTITY Angularity_tolerance
  SUBTYPE OF (Geometric_tolerance);
  datum_system : Datum_system;
END_ENTITY;
(*

Attribute definitions:

datum_system: specifies the Datum_system for the Angularity_tolerance.

4.3.5 Axis_placement_shape_element   EXPRESS-GMapping table

An Axis_placement_shape_element is a type of Shape_element that is associated with an Axis_placement.

EXPRESS specification:

*)
ENTITY Axis_placement_shape_element
  SUBTYPE OF (Shape_element);
  SELF\Shape_element.identified_item : Axis_placement;
END_ENTITY;
(*

Attribute definitions:

identified_item: specifies the associated Axis_placement.

4.3.6 Between_shape_element   EXPRESS-GMapping table

A Between_shape_element is a type of Continuous_shape_element where some of the composing members are marked as forming elements of the borders of the continuous region.

EXPRESS specification:

*)
ENTITY Between_shape_element
  SUBTYPE OF (Continuous_shape_element);
  start_features : SET[1:?] OF Shape_element;
  end_features : SET[1:?] OF Shape_element;
WHERE
  WR1: SIZEOF(QUERY(s <* start_features | NOT (s.product_definitional = TRUE))) = 0;
  WR2: SIZEOF(QUERY(s <* end_features | NOT (s.product_definitional = TRUE))) = 0;
END_ENTITY;
(*

Attribute definitions:

start_features: a set of one or more features that identifies the start of the tolerance feature.

end_features: a set of one or more features that identifies the end of the tolerance feature.

Formal propositions:

WR1: all start_features shall be definitional.

WR2: all end_features shall be definitional.

4.3.7 Circular_runout_tolerance   EXPRESS-GMapping table

A Circular_runout_tolerance is a type of Geometric_tolerance that constrains the deviation of features constructed about an axis or at right angles to an axis. Each measurement position, either along the axis, or away from the axis, is independently rotated through 360 degrees.

Unless otherwise specified, the rules governing circular run-out tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively circular run-out tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Circular_runout_tolerance
  SUBTYPE OF (Geometric_tolerance);
  angle : OPTIONAL REAL;
  datum_system : Datum_system;
END_ENTITY;
(*

Attribute definitions:

angle: the direction in which the runout tolerance is controlled. The value of this attribute need not be specified. If the angle is specified, the runout tolerance applies in this angle which is fixed with respect to the datum axis. If the angle is not specified, the runout tolerance applies normal to the surface generated by the rotation.

datum_system: specifies the role of the Datum_system for the Circular_runout_tolerance.

4.3.8 Coaxiality_tolerance   EXPRESS-GMapping table

A Coaxiality_tolerance is a type of Geometric_tolerance that constrains a centre point or plane of a surface of revolution, or of circular elements, about a datum feature.

NOTE 1   Some tolerancing standards require the use of position tolerance for control of coaxiality.

Unless otherwise specified, the rules governing coaxiality tolerance defined in ISO 1101 shall apply.

NOTE 2   Alternatively coaxiality tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Coaxiality_tolerance
  SUBTYPE OF (Geometric_tolerance);
  datum_system : Datum_system;
END_ENTITY;
(*

Attribute definitions:

datum_system: specifies the role of the Datum_system for the Coaxiality_tolerance.

4.3.9 Concentricity_tolerance   EXPRESS-GMapping table

A Concentricity_tolerance is a type of Geometric_tolerance that controls the median points of a surface of revolution relative to a datum axis.

Unless otherwise specified, the rules governing concentricity tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively concentricity tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Concentricity_tolerance
  SUBTYPE OF (Geometric_tolerance);
  datum_system : Datum_system;
END_ENTITY;
(*

Attribute definitions:

datum_system: specifies the role of the Datum_system for the Concentricity_tolerance.

4.3.10 Contacting_feature   EXPRESS-GMapping table

A Contacting_feature is a type of Shape_element that is non-definitional and for which the rules governing contacting feature defined in ISO 5459 shall apply.

EXPRESS specification:

*)
ENTITY Contacting_feature
  SUBTYPE OF (Shape_element);
DERIVE
  SELF\Shape_element.product_definitional : BOOLEAN := FALSE;
END_ENTITY;
(*

Attribute definitions:

product_definitional: the Contacting_feature shall be non-definitional.

4.3.11 Continuous_shape_element   EXPRESS-GMapping table

A Continuous_shape_element is a type of Composite_shape_element where the geometric elements associated with the underlying Shape_element members are touching and thus establish a continuous region.

EXPRESS specification:

*)
ENTITY Continuous_shape_element
  SUPERTYPE OF (ONEOF (Between_shape_element,
                       All_around_shape_element))
  SUBTYPE OF (Composite_shape_element);
END_ENTITY;
(*

4.3.12 Cylindricity_tolerance   EXPRESS-GMapping table

A Cylindricity_tolerance is a type of Geometric_tolerance. It constrains the form of a cylindrical feature.

Unless otherwise specified, the rules governing cylindricity tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively cylindricity tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Cylindricity_tolerance
  SUBTYPE OF (Geometric_tolerance);
END_ENTITY;
(*

4.3.13 Datum   EXPRESS-GMapping table

A Datum is a type of Shape_element from which dimensions and tolerances are referenced. This Shape_element may, but need not, coincide with the boundary defining the product. A Datum is a datum as specified in ISO 5459. The application of Datum shall conform to the requirements of ISO 5459.

NOTE 1   The use and application of a group of features to establish a Datum is identified in ISO 5459. The group of features is established by using Shape_element_relationship objects. The concept of a group of Shape_elements is defined in Composite_shape_element.

NOTE 2   A Datum is a theoretically exact point, straight line, or plane used as a reference for locating and orienting tolerance zones.

EXPRESS specification:

*)
ENTITY Datum
  SUBTYPE OF (Shape_element);
  identification : identifier;
END_ENTITY;
(*

Attribute definitions:

identification: the identifier that distinguishes the Datum.

4.3.14 Datum_feature   EXPRESS-GMapping table

A Datum_feature is a type of Shape_element on the boundary of the shape of a product. In the case that the Datum_feature is a feature of size either one of the subtypes Dimensional_location_with_datum_feature or Dimensional_size_with_datum_feature shall be used. Unless otherwise specified, the rules governing datum feature defined in ISO 5459 shall apply.

NOTE    Alternatively datum feature can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Datum_feature
  SUPERTYPE OF (ONEOF (Dimensional_location_with_datum_feature,
                       Dimensional_size_with_datum_feature))
  SUBTYPE OF (Shape_element);
  of_datum : Datum;
DERIVE
  SELF\Shape_element.product_definitional : BOOLEAN := TRUE;
UNIQUE
  UR1: of_datum;
END_ENTITY;
(*

Attribute definitions:

of_datum: the Datum to which the Datum_feature belongs.

product_definitional: the Datum_feature shall be non-definitional.

Formal propositions:

UR1: The of_datum shall be unique within a population of Datum_feature.

4.3.15 Datum_reference_compartment   EXPRESS-GMapping table

A Datum_reference_compartment is a type of General_datum_reference that represents the compartment of either the primary, secondary or tertiary datum in a feature control frame.

EXPRESS specification:

*)
ENTITY Datum_reference_compartment
  SUBTYPE OF (General_datum_reference);
  point_situation_feature : OPTIONAL Point_shape_element;
  plane_situation_feature : OPTIONAL Plane_shape_element;
  straight_line_situation_feature : OPTIONAL Axis_placement_shape_element;
INVERSE
  owner : Datum_system FOR constituents;
END_ENTITY;
(*

Attribute definitions:

point_situation_feature: specifies the Point_shape_element for the Datum_reference_compartment.

plane_situation_feature: specifies the Plane_shape_element for the Datum_reference_compartment.

straight_line_situation_feature: specifies the Axis_placement_shape_element for the Datum_reference_compartment.

owner: specifies an inverse relationship that specifies that the existence of the Datum_reference_compartment is dependent on the existence of the Datum_system that specifies the Datum_reference_compartment as its constituents.

4.3.16 Datum_reference_element   EXPRESS-GMapping table

A Datum_reference_element is a type of General_datum_reference that represents a single datum reference of a common datum with a Datum_reference_compartment. Unless otherwise specified, the rules governing common datum defined in ISO 5459 shall apply.

NOTE    Alternatively common datum can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Datum_reference_element
  SUBTYPE OF (General_datum_reference);
DERIVE
  usage : General_datum_reference := sts_get_general_datum_reference(SELF);
WHERE
  WR1: SELF <> usage;
  WR2: EXISTS(usage);
END_ENTITY;
(*

Attribute definitions:

usage: the General_datum_reference to which this Datum_reference_element belongs.

Formal propositions:

WR1: The usage shall not be the same instance of Datum_reference_element.

WR2: The usage shall exist.

4.3.17 Datum_reference_modifier_with_value   EXPRESS-GMapping table

A Datum_reference_modifier_with_value is an association between a modifier_type and a modifier_value that defines the specific boundary size of the associated feature for establishing a datum. In the case of a circular, cylindrical, or spherical boundary type the value represents the diameter of the boundary. In the case of a distance the value represents the distance between two parallel planes.

NOTE    When used for ASME Y14.5-2009[3] a Datum_reference_modifier_with_value represents the datum feature simulator boundary.

EXPRESS specification:

*)
ENTITY Datum_reference_modifier_with_value;
  modifier_type : datum_reference_modifier_type;
  modifier_value : Length_data_element;
END_ENTITY;
(*

Attribute definitions:

modifier_type: specifies the role of the datum_reference_modifier_type for the Datum_reference_modifier_with_value.

modifier_value: specifies the role of the Length_data_element for the Datum_reference_modifier_with_value.

4.3.18 Datum_system   EXPRESS-GMapping table

A Datum_system is a type of Shape_element that is non-definitional and that represents the ordered collection of one to three datum reference compartments within a geometric tolerance frame. Unless otherwise specified a Datum_system shall be used in accordance to the ISO 5459 definition for single datum and datum system.

NOTE 1   Alternatively Datum_system might be used for the corresponding concept in ASME Y14.5-2009 [3] or any later edition of this standard.

NOTE 2   A Datum_system can be associated with a model coordinate system and can be shared by several Geometric_tolerances.

EXPRESS specification:

*)
ENTITY Datum_system
  SUBTYPE OF (Shape_element);
  constituents : LIST[1:3] OF UNIQUE Datum_reference_compartment;
DERIVE
  SELF\Shape_element.product_definitional : BOOLEAN := FALSE;
END_ENTITY;
(*

Attribute definitions:

constituents: the ordered list of one to three Datum_reference_compartment representing the primary and optionally the secondary and tertiary datum of a tolerance frame.

product_definitional: the Datum_system shall be non-definitional.

4.3.19 Datum_system_with_associated_model_coordinate_system   EXPRESS-GMapping table

A Datum_system_with_associated_model_coordinate_system is a type of Axis_placement_shape_element and a type of Datum_system to represent the relation between a datum system and a model coordinate system as defined in ISO 16792. The model coordinate system is represented by an Axis_placement that is referenced by the inherited attribute identified_item.

EXPRESS specification:

*)
ENTITY Datum_system_with_associated_model_coordinate_system
  SUBTYPE OF (Axis_placement_shape_element, Datum_system);
END_ENTITY;
(*

4.3.20 Datum_target   EXPRESS-GMapping table

A Datum_target is a type of Shape_element. A Datum_target is a datum target as specified in ISO 5459. The application of Datum_target shall conform to the requirements of ISO 5459.

NOTE    A Datum_target is the identification of a portion of a feature, which is used in the construction of a Datum when it is not desired to use an entire feature nor a substantial region.

EXAMPLE    A cylindrical part is stabilized for measurement by resting it in a V block, thereby establishing a Datum from two instances of Datum_target, which are straight lines.

Each Datum_target is a Placed_target, a Target_area, or a Target_curve.

EXPRESS specification:

*)
ENTITY Datum_target
  ABSTRACT SUPERTYPE OF (ONEOF (Placed_target,
                                Target_area,
                                Target_curve))
  SUBTYPE OF (Shape_element);
  target_id : STRING;
  movement_direction : OPTIONAL Direction;
  of_datum : Datum;
  target_feature : OPTIONAL Shape_element;
UNIQUE
  UR1: of_datum, target_id;
END_ENTITY;
(*

Attribute definitions:

target_id: the identifier of the Datum_target.

movement_direction: specifies the Direction for the Datum_target. The value of this attribute need not be specified.

of_datum: the Datum to which the Datum_target belongs.

target_feature: specifies the Shape_element for the Datum_target. The value of this attribute need not be specified.

Formal propositions:

UR1: The combination of of_datum and target_id shall be unique within a population of Datum_target.

4.3.21 Dimensional_location_with_datum_feature   EXPRESS-GMapping table

A Dimensional_location_with_datum_feature is a type of Datum_feature and type of Dimensional_location that shall be used when the datum is established from two opposing Shape_element that define a feature of size.

EXPRESS specification:

*)
ENTITY Dimensional_location_with_datum_feature
  SUBTYPE OF (Datum_feature, Dimensional_location);
END_ENTITY;
(*

4.3.22 Dimensional_size_with_datum_feature   EXPRESS-GMapping table

A Dimensional_size_with_datum_feature is a type of Datum_feature and type of Dimensional_size. The spatial characteristic provided is that of the Datum_feature that is part of the Dimensional_size_with_datum_feature itself.

EXPRESS specification:

*)
ENTITY Dimensional_size_with_datum_feature
  SUBTYPE OF (Datum_feature, Dimensional_size);
WHERE
  WR1: SELF\Dimensional_size.is_applied_to :=: SELF;
END_ENTITY;
(*

Formal propositions:

WR1: The inherited attribute is_applied_to shall be the Dimensional_size_with_datum_feature itself.

4.3.23 Directed_or_oriented_tolerance_zone   EXPRESS-GMapping table

A Directed_or_oriented_tolerance_zone is a type of Tolerance_zone that includes additional direction or orientation information for the tolerance zone. A Directed_or_oriented_tolerance_zone shall be either a Tolerance_zone_with_datum or an Affected_plane_tolerance_zone.

EXPRESS specification:

*)
ENTITY Directed_or_oriented_tolerance_zone
  ABSTRACT SUPERTYPE OF (ONEOF (Tolerance_zone_with_datum,
                                Affected_plane_tolerance_zone))
  SUBTYPE OF (Tolerance_zone);
  SELF\Tolerance_zone.zone_for : SET[1:?] OF directed_or_oriented_geometric_tolerance_select;
END_ENTITY;
(*

Attribute definitions:

zone_for: an inherited attribute whose value shall be of type Line_profile_tolerance, Parallelism_tolerance, Perpendicularity_tolerance, Position_tolerance, Straightness_tolerance or Symmetry_tolerance.

4.3.24 Directed_tolerance_zone   EXPRESS-GMapping table

A Directed_tolerance_zone is a type of Tolerance_zone_with_datum that represents an "intersection plane" for a geometric tolerance as defined in ISO 1101.

EXPRESS specification:

*)
ENTITY Directed_tolerance_zone
  SUBTYPE OF (Tolerance_zone_with_datum);
  direction : directed_tolerance_zone_type;
END_ENTITY;
(*

Attribute definitions:

direction: specified the direction of the tolerance zone in respect to the referenced datum. It is either perpendicular, parallel or including.

4.3.25 Flatness_tolerance   EXPRESS-GMapping table

A Flatness_tolerance is a type of Geometric_tolerance that constraints the form of a planar feature. Unless otherwise specified, the rules governing flatness tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively flatness tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Flatness_tolerance
  SUBTYPE OF (Geometric_tolerance);
END_ENTITY;
(*

4.3.26 General_datum_reference   EXPRESS-GMapping table

A General_datum_reference is a type of Shape_element that is non-definitional and that represents the occurrence of a Datum within a Datum_system. Each General_datum_reference is either a Datum_reference_compartment or a Datum_reference_element.

EXPRESS specification:

*)
ENTITY General_datum_reference
  ABSTRACT SUPERTYPE OF (ONEOF (Datum_reference_compartment,
                                Datum_reference_element))
  SUBTYPE OF (Shape_element);
  base : datum_or_common_datum;
  modifiers : OPTIONAL SET[1:?] OF datum_reference_modifier;
DERIVE
  SELF\Shape_element.product_definitional : BOOLEAN := FALSE;
END_ENTITY;
(*

Attribute definitions:

base: specifies the used datum_or_common_datum for the General_datum_reference.

modifiers: specifies the role of the datum_reference_modifier for the General_datum_reference. There shall exist at least one datum_reference_modifier for the General_datum_reference.

product_definitional: the General_datum_reference shall be non-definitional.

4.3.27 Geometric_tolerance   EXPRESS-GMapping table

A Geometric_tolerance is a specification of the allowed deviation of some element of the shape of a product from its theoretically exact shape. Each Geometric_tolerance is either an Angularity_tolerance, a Circular_runout_tolerance, a Coaxiality_tolerance, a Concentricity_tolerance, a Cylindricity_tolerance, a Flatness_tolerance, a Line_profile_tolerance, a Parallelism_tolerance, a Perpendicularity_tolerance, a Position_tolerance, a Roundness_tolerance, a Straightness_tolerance, a Surface_profile_tolerance, a Symmetry_tolerance, or a Total_runout_tolerance

EXPRESS specification:

*)
ENTITY Geometric_tolerance
  ABSTRACT SUPERTYPE OF (ONEOF (Angularity_tolerance,
                                Circular_runout_tolerance,
                                Coaxiality_tolerance,
                                Concentricity_tolerance,
                                Cylindricity_tolerance,
                                Flatness_tolerance,
                                Line_profile_tolerance,
                                Parallelism_tolerance,
                                Perpendicularity_tolerance,
                                Position_tolerance,
                                Roundness_tolerance,
                                Straightness_tolerance,
                                Surface_profile_tolerance,
                                Symmetry_tolerance,
                                Total_runout_tolerance));
  id : OPTIONAL identifier;
  name : OPTIONAL label;
  applied_to : geometric_tolerance_target;
  modifiers : SET[1:?] OF geometric_tolerance_modifier;
  qualifying_note : OPTIONAL STRING;
  first_unit_size : OPTIONAL length_or_angle_data_element_select;
  area_unit_type : OPTIONAL area_unit_type;
  second_unit_size : OPTIONAL length_or_angle_data_element_select;
  tolerance_value : Value_with_unit;
  unequally_disposed_tolerance_zone_displacement : OPTIONAL Value_with_unit;
INVERSE
  auxiliary_classification : SET[0:?] OF Geometric_tolerance_auxiliary_classification FOR described_item;
WHERE
  WR1: NOT (EXISTS(first_unit_size)) OR ('GEOMETRIC_TOLERANCE_ARM.LENGTH_MEASURE' IN TYPEOF(first_unit_size.value_component)) OR ('GEOMETRIC_TOLERANCE_ARM.PLANE_ANGLE_MEASURE' IN TYPEOF(first_unit_size.value_component));
  WR2: NOT (EXISTS(second_unit_size) XOR (area_unit_type IN [area_unit_type.rectangular, area_unit_type.cylindrical, area_unit_type.spherical]));
  WR3: NOT(area_unit_type = area_unit_type.cylindrical) OR ('GEOMETRIC_TOLERANCE_ARM.LENGTH_DATA_ELEMENT' IN TYPEOF(first_unit_size)) AND ('GEOMETRIC_TOLERANCE_ARM.ANGLE_DATA_ELEMENT' IN TYPEOF(second_unit_size));
  WR4: NOT (area_unit_type = area_unit_type.rectangular) OR ('GEOMETRIC_TOLERANCE_ARM.LENGTH_DATA_ELEMENT' IN TYPEOF(first_unit_size)) AND ('GEOMETRIC_TOLERANCE_ARM.LENGTH_DATA_ELEMENT' IN TYPEOF(second_unit_size));
  WR5: NOT(area_unit_type = area_unit_type.spherical) OR ('GEOMETRIC_TOLERANCE_ARM.ANGLE_DATA_ELEMENT' IN TYPEOF(first_unit_size)) AND ('GEOMETRIC_TOLERANCE_ARM.ANGLE_DATA_ELEMENT' IN TYPEOF(second_unit_size));
  WR6: NOT(area_unit_type = area_unit_type.spherical) OR (SIZEOF(QUERY (tz <* USEDIN(SELF,'GEOMETRIC_TOLERANCE_ARM.TOLERANCE_ZONE.ZONE_FOR') | ('GEOMETRIC_TOLERANCE_ARM.ORIENTED_TOLERANCE_ZONE' IN TYPEOF(tz)) )) <> 0 );
  WR7: 'VALUE_WITH_UNIT_ARM.LENGTH_UNIT' IN TYPEOF(unequally_disposed_tolerance_zone_displacement.Unit);
  WR8: NOT (geometric_tolerance_modifier.circle_a IN modifiers) OR ('PART_SHAPE_ARM.GENERAL_PART_FEATURE' IN TYPEOF(applied_to)) OR ('DIMENSION_TOLERANCE_ARM.DIMENSIONAL_SIZE' IN TYPEOF(applied_to));
END_ENTITY;
(*

Attribute definitions:

id: the identification of the Geometric_tolerance. The value of this attribute need not be specified.

name: the word or words by which the geometrical tolerance type is known.

NOTE 1   This identification may be one of the geometrical tolerance types specified in ISO 1101 when used to represent International Standard geometrical tolerances.

EXAMPLE 1   Position, straightness, concentricity, parallelism, circular runout, etc., are names for geometrical tolerance types.

The value of this attribute need not be specified.

applied_to: the geometric_tolerance_target to which the Geometric_tolerance is associated.

modifiers: specifies the role of the geometric_tolerance_modifier for the Geometric_tolerance. There shall exist at least one geometric_tolerance_modifier for the Geometric_tolerance.

qualifying_note: a text that provides additional information about the Geometric_tolerance.

EXAMPLE 2   'not concave', 'boundary' are examples of qualifying note.

The value of this attribute need not be specified.

first_unit_size: a length of a segment that constrains how the tolerance applies. All along any segment of this size, taken on the toleranced element, the toleranced element shall conform to the tolerance. The value of this attribute need not be specified.

area_unit_type: specifies the role of the area_unit_type for the Geometric_tolerance. The value of this attribute need not be specified.

second_unit_size: specifies the role of the Length_data_element for the Geometric_tolerance. The value of this attribute need not be specified.

tolerance_value: the value of the width of the tolerance zone. The meaning of this value will depend on the standard used for the interpretation of the geometric tolerance.

unequally_disposed_tolerance_zone_displacement: specifies the role of the Length_data_element for the Geometric_tolerance. The value of this attribute need not be specified.

auxiliary_classification: specifies a set of Geometric_tolerance_auxiliary_classification associated to the geometric_tolerance. A Geometric_tolerance_auxiliary_classification need not be provided for a geometric_tolerance.

Formal propositions:

WR1: If specified, the first_unit_size shall be a value of a length measure or a value of plane angle measure.

WR2: A value for second_unit_size shall be provided if and only if the area_type is rectangular, cylindrical, or spherical.

WR3: If the area_type is cylindrical, the first_unit_size shall be a Length_data_element and the second_unit_size shall be an Angle_data_element.

WR4: If the area_type is rectangular, the first_unit_size shall be a Length_data_element and the second_unit_size shall be a Length_data_element.

WR5: If the area_type is spherical, the first_unit_size shall be an Angle_data_element and the second_unit_size shall be an Angle_data_element.

WR6: If the area_type is spherical, an Oriented_tolerance_zone shall be provided.

WR7: The unit of unequally_disposed_tolerance_zone_displacement shall be a Length_unit.

WR8: If the modifier circle-A is provided, then the attribute applied_to shall be on the surface.

4.3.28 Geometric_tolerance_auxiliary_classification   EXPRESS-GMapping table

A Geometric_tolerance_auxiliary_classification is an additional classification applied to a Geometric_tolerance

EXPRESS specification:

*)
ENTITY Geometric_tolerance_auxiliary_classification;
  attribute_value : geometric_tolerance_auxiliary_classification_enum;
  described_item : Geometric_tolerance;
END_ENTITY;
(*

Attribute definitions:

attribute_value: specifies the geometric_tolerance_auxiliary_classification_enum.

described_item: a Geometric_tolerance to which the geometric_tolerance_auxiliary_classification applies.

4.3.29 Geometric_tolerance_relationship   EXPRESS-GMapping table

A Geometric_tolerance_relationship is a relationship between two instances of Geometric_tolerance.

The meaning of the relationship is specified within the attribute relation_type.

EXPRESS specification:

*)
ENTITY Geometric_tolerance_relationship;
  relation_type : STRING;
  relating : Geometric_tolerance;
  related : Geometric_tolerance;
END_ENTITY;
(*

Attribute definitions:

relation_type: the meaning of the relationship. Where applicable, the following values shall be used:

Other kinds of relationships may be specified if appropriate to a specific tolerancing system.

EXAMPLE 1   The position tolerance of a each feature of a pattern of features may be specified with a Position_tolerance, and the relationships between the features in the pattern may be specified by another.

EXAMPLE 2   A different position tolerance may be specified for each end of a long hole. A Geometric_tolerance_relationship could be used to express that an interpolated value applies at intermediate points, thus creating a conical tolerance zone.

relating: one of the instances of Geometric_tolerance that is a part of the relationship.

NOTE 3   The semantics of this attribute are defined by the attribute relation_type.

related: the other instance of Geometric_tolerance that is a part of the relationship.

NOTE 4   The semantics of this attribute are defined by the attribute relation_type.

4.3.30 Gps_filter   EXPRESS-GMapping table

A Gps_filter is a specification of a filtering element of the toleranced feature. Unless otherwise specified the rules governing filter specification element defined in ISO 1101 shall apply.

EXPRESS specification:

*)
ENTITY Gps_filter;
  filter_type : gps_filtration_type;
  filter_data : LIST[1:?] OF Value_with_unit;
INVERSE
  owner : Gps_filtration_specification FOR filter_data;
WHERE
  WR1: NOT ('GEOMETRIC_TOLERANCE_ARM.GEOMETRIC_TOLERANCE' IN TYPEOF(owner\Gps_filtration_specification.base_target)) AND (SIZEOF([ geometric_tolerance_modifier.circle_a, geometric_tolerance_modifier.maximum_material_requirement, geometric_tolerance_modifier.least_material_requirement, geometric_tolerance_modifier.reciprocity_requirement, geometric_tolerance_modifier.any_cross_section, geometric_tolerance_modifier.free_state, geometric_tolerance_modifier.common_zone, geometric_tolerance_modifier.minor_diameter, geometric_tolerance_modifier.major_diameter, geometric_tolerance_modifier.pitch_diameter, geometric_tolerance_modifier.line_element, geometric_tolerance_modifier.not_convex, geometric_tolerance_modifier.statistical_tolerance, geometric_tolerance_modifier.tangent_plane, geometric_tolerance_modifier.each_radial_element, geometric_tolerance_modifier.separate_requirement, geometric_tolerance_modifier.united_feature, geometric_tolerance_modifier.associated_minmax_feature, geometric_tolerance_modifier.associated_least_square_feature, geometric_tolerance_modifier.associated_minimum_inscribed_feature, geometric_tolerance_modifier.associated_tangent_feature, geometric_tolerance_modifier.associated_maximum_inscribed_feature ] * owner\Gps_filtration_specification.base_target\Geometric_tolerance.modifiers) = 0 );
END_ENTITY;
(*

Attribute definitions:

filter_type: specifies the filtering element type.

filter_data: specifies the list of value of the filter element.

owner: specifies the filtering list of value of the filter element.

Formal propositions:

WR1: if a Gps_filter is be used with Geometric_tolerance then the modifiers shall contains one or more geometric_tolerance_modifier.

Informal propositions:

IP1: The content of the data set is governed by ISO 1101 or other GPS standards.

4.3.31 Gps_filtration_specification   EXPRESS-GMapping table

A Gps_filtration_specification is a specification of the filtering of the toleranced feature. Unless otherwise specified the rules governing filtering specification defined in ISO 1101 shall apply.

EXPRESS specification:

*)
ENTITY Gps_filtration_specification;
  base_target : gps_filtration_specification_target;
  filter_data : LIST[1:?] OF Gps_filter;
END_ENTITY;
(*

Attribute definitions:

base_target: specifies the toleranced feature on which the filter applies.

filter_data: specifies the list of filters.

Informal propositions:

IP1: The content of the data set is governed by ISO 1101 or other GPS standards.

4.3.32 Line_profile_tolerance   EXPRESS-GMapping table

A Line_profile_tolerance is a type of Geometric_tolerance that specifies the definition of a uniform boundary along the true profile within which the elements of the toleranced surface shall lie. The tolerance zone established by a Line_profile_tolerance is two-dimensional.

Unless otherwise specified, the rules governing profile tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively profile tolerance of a line can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Line_profile_tolerance
  SUBTYPE OF (Geometric_tolerance);
  datum_system : OPTIONAL Datum_system;
INVERSE
  directed_or_oriented_tolerance_zone : SET[0:1] OF Directed_or_oriented_tolerance_zone FOR zone_for;
END_ENTITY;
(*

Attribute definitions:

datum_system: specifies the role of the Datum_system for the Line_profile_tolerance. The value of this attribute need not be specified.

directed_or_oriented_tolerance_zone: specifies an inverse relationship that specifies that the existence of the Line_profile_tolerance is dependent on the existence of the Directed_or_oriented_tolerance_zone that specifies the Line_profile_tolerance as its zone_for. There shall exist at most one Directed_or_oriented_tolerance_zone for the Line_profile_tolerance.

4.3.33 Non_uniform_zone_definition   EXPRESS-GMapping table

A Non_uniform_zone_definition is a type of Tolerance_zone_definition. The boundaries of a Non_uniform_zone_definition may have any shape.

NOTE    Non-uniform zone is described in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Non_uniform_zone_definition
  SUBTYPE OF (Tolerance_zone_definition);
END_ENTITY;
(*

4.3.34 Oriented_tolerance_zone   EXPRESS-GMapping table

An Oriented_tolerance_zone is a type of Tolerance_zone_with_datum that represents an "orientation plane" for a geometric tolerance as defined in ISO 1101.

EXPRESS specification:

*)
ENTITY Oriented_tolerance_zone
  SUBTYPE OF (Tolerance_zone_with_datum);
  orientation : oriented_tolerance_zone_type;
  angle : OPTIONAL Angle_data_element;
WHERE
  WR1: (orientation <> oriented_tolerance_zone_type.angular) XOR EXISTS(angle);
END_ENTITY;
(*

Attribute definitions:

orientation: specified the orientation of the tolerance zone in respect to the referenced datum. It is either perpendicular, parallel or angular.

angle: specified an additional angle of the tolerance zone orientation in respect to the referenced datum.

Formal propositions:

WR1: An angle value shall only be specified if and only if the orientation is of type angular.

4.3.35 Parallelism_tolerance   EXPRESS-GMapping table

A Parallelism_tolerance is a type of Geometric_tolerance that specifies that a surface or a curve shall be parallel to a reference datum, with an allowed amount of deviation. A Parallelism_tolerance specifies one of the following:

Unless otherwise specified, the rules governing parallelism tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively parallelism tolerance can be used according to the specifications given in ASME Y14.5-2009[3].

EXPRESS specification:

*)
ENTITY Parallelism_tolerance
  SUBTYPE OF (Geometric_tolerance);
  datum_system : Datum_system;
INVERSE
  directed_or_oriented_tolerance_zone : SET[0:1] OF Directed_or_oriented_tolerance_zone FOR zone_for;
END_ENTITY;
(*

Attribute definitions:

datum_system: specifies the role of the Datum_system for the Parallelism_tolerance.

directed_or_oriented_tolerance_zone: specifies an inverse relationship that specifies that the existence of the Parallelism_tolerance is dependent on the existence of the Directed_or_oriented_tolerance_zone that specifies the Parallelism_tolerance as its zone_for. There shall exist at most one Directed_or_oriented_tolerance_zone for the Parallelism_tolerance.

4.3.36 Perpendicularity_tolerance   EXPRESS-GMapping table

A Perpendicularity_tolerance is a type of Geometric_tolerance that is a constraint that specifies that a surface or a curve shall be perpendicular to a reference datum with an allowed amount of deviation. The reference datum is either a datum plane or a datum axis. A Perpendicularity_tolerance specifies one of the following:

Unless otherwise specified, the tolerance shall be used in accordance with perpendicularity tolerance in ISO 1101.

NOTE    Alternatively perpendicularity tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Perpendicularity_tolerance
  SUBTYPE OF (Geometric_tolerance);
  datum_system : Datum_system;
INVERSE
  directed_or_oriented_tolerance_zone : SET[0:1] OF Directed_or_oriented_tolerance_zone FOR zone_for;
END_ENTITY;
(*

Attribute definitions:

datum_system: specifies the role of the Datum_system for the Perpendicularity_tolerance.

directed_or_oriented_tolerance_zone: specifies an inverse relationship that specifies that the existence of the Perpendicularity_tolerance is dependent on the existence of the Directed_or_oriented_tolerance_zone that specifies the Perpendicularity_tolerance as its zone_for. There shall exist at most one Directed_or_oriented_tolerance_zone for the Perpendicularity_tolerance.

4.3.37 Placed_target   EXPRESS-GMapping table

A Placed_target is a type of Datum_target that specifies a Datum_target that is represented implicitly by parameters. Each Placed_target is either a Target_circle, a Target_circular_curve, a Target_point, a Target_rectangle, or a Target_straight_line.

EXPRESS specification:

*)
ENTITY Placed_target
  ABSTRACT SUPERTYPE OF (ONEOF (Target_circle,
                                Target_circular_curve,
                                Target_point,
                                Target_rectangle,
                                Target_straight_line))
  SUBTYPE OF (Datum_target);
  defined_in : Geometric_coordinate_space;
  parameter_reference : Axis_placement;
END_ENTITY;
(*

Attribute definitions:

defined_in: the Geometric_coordinate_space in which the Axis_placement that serves as parameter_reference is defined.

parameter_reference: the Axis_placement to which the parameters or the Placed_target refer.

4.3.38 Plane_shape_element   EXPRESS-GMapping table

A Plane_shape_element is a type of Shape_element that is associated with a Plane.

EXPRESS specification:

*)
ENTITY Plane_shape_element
  SUBTYPE OF (Shape_element);
  SELF\Shape_element.identified_item : Plane;
END_ENTITY;
(*

Attribute definitions:

identified_item: specifies the associated Plane.

4.3.39 Point_shape_element   EXPRESS-GMapping table

A Point_shape_element is a type of Shape_element that is associated with a Point.

EXPRESS specification:

*)
ENTITY Point_shape_element
  SUBTYPE OF (Shape_element);
  SELF\Shape_element.identified_item : Point;
END_ENTITY;
(*

Attribute definitions:

identified_item: specifies the associated Point.

4.3.40 Position_tolerance   EXPRESS-GMapping table

A Position_tolerance is a type of Geometric_tolerance that controls the position of a Shape_element that is a feature of size. It can be interpreted either as defining a positional boundary within which the entire feature is permitted to lie, or as defining a tolerance zone within which the centre, axis, or centre plane of the considered Shape_element is permitted to lie.

NOTE 1   Basic theoretically exact dimensions establish the true position from specified datum features and between interrelated features.

Unless otherwise specified, the tolerance shall be used in accordance with position tolerance in ISO 1101 and ISO 5458.

The location of the tolerance zone shall be specified with instances of Dimensional_location.

NOTE 2   Alternatively position tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

NOTE 3   When the toleranced shape element is a Composite_shape_element, e.g. eight holes, the tolerance zone may but need not be defined by referenced datums (see ISO 1101).

NOTE 4   The type Dimensional_location is defined in ISO 10303-47.

EXPRESS specification:

*)
ENTITY Position_tolerance
  SUBTYPE OF (Geometric_tolerance);
  datum_system : OPTIONAL Datum_system;
INVERSE
  directed_or_oriented_tolerance_zone : SET[0:1] OF Directed_or_oriented_tolerance_zone FOR zone_for;
END_ENTITY;
(*

Attribute definitions:

datum_system: specifies the role of the Datum_system for the Position_tolerance. The value of this attribute need not be specified.

directed_or_oriented_tolerance_zone: specifies an inverse relationship that specifies that the existence of the Position_tolerance is dependent on the existence of the Directed_or_oriented_tolerance_zone that specifies the Position_tolerance as its zone_for. There shall exist at most one Directed_or_oriented_tolerance_zone for the Position_tolerance.

4.3.41 Projected_zone_definition   EXPRESS-GMapping table

A Projected_zone_definition is a type of Tolerance_zone_definition. It specifies a condition where a Tolerance_zone is projected from an element of a part. The projection is external to the part and made from one of the ends of the element for a specified length.

Unless otherwise specified, the rules governing projected tolerance zone defined in ISO 1101 shall apply.

EXPRESS specification:

*)
ENTITY Projected_zone_definition
  SUBTYPE OF (Tolerance_zone_definition);
  projection_end : Shape_element;
  projection_length : Length_data_element;
END_ENTITY;
(*

Attribute definitions:

projection_end: the Shape_element from which the tolerance zone is projected.

projection_length: the distance from the projection_end to where the Geometric_tolerance shall be measured.

4.3.42 Projected_zone_definition_with_offset   EXPRESS-GMapping table

A Projected_zone_definition_with_offset is a type of Projected_zone_definition. A Projected_zone_definition_with_offset is used when the origin of the projected tolerance zone is offset from the reference surface.

EXPRESS specification:

*)
ENTITY Projected_zone_definition_with_offset
  SUBTYPE OF (Projected_zone_definition);
  offset : Length_data_element;
END_ENTITY;
(*

Attribute definitions:

offset: specifies the value of the offset.

4.3.43 Roundness_tolerance   EXPRESS-GMapping table

A Roundness_tolerance is a type of Geometric_tolerance that specifies a tolerance zone bounded by two concentric circles within which each circular element of a surface must lie. For a sphere, a circular element is all points of the surface intersected by any plane passing through a common centre. For other surfaces, a circular element is all points of the surface intersected by any plane perpendicular to an axis. The Roundness_tolerance condition applies independently at any plane.

Unless otherwise specified, the rules governing roundness tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively roundness tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Roundness_tolerance
  SUBTYPE OF (Geometric_tolerance);
END_ENTITY;
(*

4.3.44 Runout_zone_definition   EXPRESS-GMapping table

A Runout_zone_definition is a type of Tolerance_zone_definition that is defined by the orientation of the measurement of the toleranced Shape_element to the Centre_of_symmetry of a datum feature.

NOTE    Figure 1 illustrates a Runout_zone_definition.



Figure 1 —  Runout zone definition

Figure 1 —  Runout zone definition

EXPRESS specification:

*)
ENTITY Runout_zone_definition
  SUBTYPE OF (Tolerance_zone_definition);
  angle : Angle_data_element;
  orientation_defining_relationship : OPTIONAL Shape_element_relationship;
END_ENTITY;
(*

Attribute definitions:

angle: an angle value that orients the tolerance zone from the centre of symmetry of a datum feature to which the runout zone is applied, or a specific value that is the normal to the surface of the Shape_element that is applied to the runout tolerance.

orientation_defining_relationship: the Shape_element_relationship which specifies a directed relationship from the relating to the related to define the reference direction in which the angle is to be oriented. The value of this attribute need not be specified.

4.3.45 Straightness_tolerance   EXPRESS-GMapping table

A Straightness_tolerance is a type of Geometric_tolerance that specifies a tolerance zone within which the considered element of a feature or a derived median line must lie. Unless otherwise specified, the rules governing straightness tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively straightness tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

The toleranced shape element is a surface or a straight line. Refer to the definition of straightness tolerance in ISO 1101 for a description of the different tolerance zones. In the case of intersection curves, the ideal features corresponding to the intersection curves shall be linear and there shall be another Shape_element, which is related to the toleranced shape element by a Shape_element_relationship.

EXPRESS specification:

*)
ENTITY Straightness_tolerance
  SUBTYPE OF (Geometric_tolerance);
INVERSE
  directed_or_oriented_tolerance_zone : SET[0:1] OF Directed_or_oriented_tolerance_zone FOR zone_for;
END_ENTITY;
(*

Attribute definitions:

directed_or_oriented_tolerance_zone: specifies an inverse relationship that specifies that the existence of the Straightness_tolerance is dependent on the existence of the Directed_or_oriented_tolerance_zone that specifies the Straightness_tolerance as its zone_for. There shall exist at most one Directed_or_oriented_tolerance_zone for the Straightness_tolerance.

4.3.46 Surface_profile_tolerance   EXPRESS-GMapping table

A Surface_profile_tolerance is a type of Geometric_tolerance that is the definition of a uniform boundary along an ideal profile within which the elements of a surface must lie.

The tolerance zone established by a Surface_profile_tolerance is three dimensional, extending along the length and the width of the considered feature respectively along each segment of a defined size if the first_unit_size attribute is specified. If the tolerance is to be unequally disposed about the theoretically exact feature, a Tolerance_zone having only one boundary element is associated to the instance of Surface_profile_tolerance.

Unless otherwise specified, the rules governing profile any surface tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively profile tolerance of a surface can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Surface_profile_tolerance
  SUBTYPE OF (Geometric_tolerance);
  datum_system : OPTIONAL Datum_system;
END_ENTITY;
(*

Attribute definitions:

datum_system: specifies the role of the Datum_system for the Surface_profile_tolerance. The value of this attribute need not be specified.

4.3.47 Symmetry_tolerance   EXPRESS-GMapping table

A Symmetry_tolerance is a type of Geometric_tolerance that is a constraint on the amount of deviation a toleranced element may have from being symmetrical to a datum. Any edge or (median) plane of the part must lie in a tolerance zone limited by two parallel lines or planes, symmetrically located with respect to a datum.

Unless otherwise specified, the rules governing symmetry tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively symmetry tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

EXPRESS specification:

*)
ENTITY Symmetry_tolerance
  SUBTYPE OF (Geometric_tolerance);
  datum_system : Datum_system;
INVERSE
  directed_or_oriented_tolerance_zone : SET[0:1] OF Directed_or_oriented_tolerance_zone FOR zone_for;
END_ENTITY;
(*

Attribute definitions:

datum_system: specifies the role of the Datum_system for the Symmetry_tolerance.

directed_or_oriented_tolerance_zone: specifies an inverse relationship that specifies that the existence of the Symmetry_tolerance is dependent on the existence of the Directed_or_oriented_tolerance_zone that specifies the Symmetry_tolerance as its zone_for. There shall exist at most one Directed_or_oriented_tolerance_zone for the Symmetry_tolerance.

4.3.48 Target_area   EXPRESS-GMapping table

A Target_area is a type of Datum_target that specifies an area bounded by a closed Shape_element. The shape of the Target_area is described explicitly by a set of curves with reference to the part coordinate system.

EXPRESS specification:

*)
ENTITY Target_area
  SUBTYPE OF (Datum_target);
  is_defined_by : Shape_element;
END_ENTITY;
(*

Attribute definitions:

is_defined_by: specifies the Shape_element that represents the Target_area.

4.3.49 Target_circle   EXPRESS-GMapping table

A Target_circle is a type of Placed_target that specifies a Datum_target that is defined by an implicit circle. The Datum_target may be the area inside the circle or the circle, depending on the geometry. The centre of the circle is specified by the placing Axis_placement. The orientation of the Target_circle is the x-y-plane of the Axis_placement.

EXPRESS specification:

*)
ENTITY Target_circle
  SUBTYPE OF (Placed_target);
  diameter : Numerical_item_with_unit;
END_ENTITY;
(*

Attribute definitions:

diameter: the diameter of the datum target.

4.3.50 Target_circular_curve   EXPRESS-GMapping table

A Target_circular_curve is a type of Placed_target that specifies a Datum_target that is defined by an implicit circular curve. The centre of the circle is specified by the placing Axis_placement. The orientation of the Target_circle is the x-y-plane of the Axis_placement.

EXPRESS specification:

*)
ENTITY Target_circular_curve
  SUBTYPE OF (Placed_target);
  diameter : Numerical_item_with_unit;
END_ENTITY;
(*

Attribute definitions:

diameter: the diameter of the datum target.

4.3.51 Target_curve   EXPRESS-GMapping table

A Target_curve is a type of Datum_target that is specified by a single curve.

EXPRESS specification:

*)
ENTITY Target_curve
  SUBTYPE OF (Datum_target);
  is_defined_by : Shape_element;
END_ENTITY;
(*

Attribute definitions:

is_defined_by: specifies the Shape_element that represents the Target_curve.

4.3.52 Target_point   EXPRESS-GMapping table

A Target_point is a type of Placed_target that specifies a Datum_target that is defined by a single implicit point. The position of the Target_point is defined by the placing Axis_placement.

EXPRESS specification:

*)
ENTITY Target_point
  SUBTYPE OF (Placed_target);
END_ENTITY;
(*

4.3.53 Target_rectangle   EXPRESS-GMapping table

A Target_rectangle is a type of Placed_target that specifies a Datum_target that is defined by an implicit rectangle. The centre of the rectangle is specified by the placing Axis_placement. The orientation of the Target_rectangle is the x-y-plane with half the length of the rectangle in positive and half the length in negative direction along the x-axis and with half the width of the rectangle in positive and half the width in negative direction along the y-axis of the Axis_placement.

EXPRESS specification:

*)
ENTITY Target_rectangle
  SUBTYPE OF (Placed_target);
  target_length : Numerical_item_with_unit;
  target_width : Numerical_item_with_unit;
END_ENTITY;
(*

Attribute definitions:

target_length: the length of the Target_rectangle.

target_width: the width of the Target_rectangle.

4.3.54 Target_straight_line   EXPRESS-GMapping table

A Target_straight_line is a type of Placed_target that specifies a Datum_target that is defined by an implicit straight line. The first end point of the Target_straight_line is specified by the placing Axis_placement. The second end point is located on the z-axis of the Axis_placement at the specified distance.

EXPRESS specification:

*)
ENTITY Target_straight_line
  SUBTYPE OF (Placed_target);
  target_length : Numerical_item_with_unit;
END_ENTITY;
(*

Attribute definitions:

target_length: the length of the Target_straight_line.

4.3.55 Tolerance_zone   EXPRESS-GMapping table

A Tolerance_zone is a type of Shape_element that represents a tolerance zone as defined in ISO 1101. A Tolerance_zone is the region within which the toleranced feature shall be defined. The characteristics of the region are specified by the way the toleranced feature is dimensioned.

NOTE    A geometric location tolerance applied to a hole defines a tolerance_zone_type referenced by form_type.

EXPRESS specification:

*)
ENTITY Tolerance_zone
  SUBTYPE OF (Shape_element);
  form_type : tolerance_zone_type;
  zone_for : SET[1:?] OF tolerance_zone_target;
END_ENTITY;
(*

Attribute definitions:

form_type: the kind of shape of the Tolerance_zone.

zone_for: the set of Geometric_tolerance objects for which the Tolerance_zone defines the zone. There shall exist at least one Geometric_tolerance for the Tolerance_zone.

4.3.56 Tolerance_zone_definition   EXPRESS-GMapping table

A Tolerance_zone_definition is the specification of the set of Geometric_tolerances for which the Tolerance_zone defines the zone. Each Tolerance_zone_definition may be either a Projected_zone_definition, a Non_uniform_zone_definition, or a Runout_zone_definition.

NOTE    A pair of boundaries specified as a single Tolerance_zone_definition may form either a partial or complete tolerance zone. When the tolerance zone is not fully bounded, it is appropriate to assume that the tolerance zone extends to infinity at the unbounded areas.

EXAMPLE 1   A flatness tolerance zone of a planar surface is bounded by two parallel, infinite planes separated by the tolerance magnitude.

EXPRESS specification:

*)
ENTITY Tolerance_zone_definition
  SUPERTYPE OF (ONEOF (Projected_zone_definition,
                       Non_uniform_zone_definition,
                       Runout_zone_definition));
  zone : Tolerance_zone;
  boundaries : SET[0:?] OF Shape_element;
END_ENTITY;
(*

Attribute definitions:

zone: the Tolerance_zone that is specified by the Tolerance_zone_definition.

boundaries: the set of Shape_elements that define boundaries of the Tolerance_zone. There shall exist zero or more Shape_elements for the Tolerance_zone_definition.

EXAMPLE 2   A geometric location tolerance applied to a hole is defined to be a cylindrical zone in which the axis of the hole may vary. The cylindrical zone is symmetric about its axis. The two defining boundaries of this tolerance zone are the cylindrical surface and its axis. For a Tolerance_zone defined by two parallel planes (or lines), each plane (or line) defines a boundary of the Tolerance_zone_definition.

4.3.57 Tolerance_zone_with_datum   EXPRESS-GMapping table

A Tolerance_zone_with_datum is a type of Directed_or_oriented_tolerance_zone that includes direction or orientation classification with respect to referenced features.

NOTE    Typically only a primary datum is used.

EXPRESS specification:

*)
ENTITY Tolerance_zone_with_datum
  SUPERTYPE OF (ONEOF (Directed_tolerance_zone,
                       Oriented_tolerance_zone))
  SUBTYPE OF (Directed_or_oriented_tolerance_zone);
  datum_reference : Datum_system;
END_ENTITY;
(*

Attribute definitions:

datum_reference: the Datum_system which serves as the geometric reference for the Tolerance_zone_with_datum orientation.

4.3.58 Total_runout_tolerance   EXPRESS-GMapping table

A Total_runout_tolerance is a type of Geometric_tolerance that constrains the deviation features constructed about an axis or at right angles to an axis. It constrains the deviation over a surface with respect to a datum axis the part is rotated about. The tolerance is applied simultaneously to all measuring positions as the part is rotated 360 degrees.

Unless otherwise specified the rules governing total run-out tolerance defined in ISO 1101 shall apply.

NOTE    Alternatively total run-out tolerance can be used according to the specifications given in ASME Y14.5-2009 [3].

The set of referenced datums shall contain one revolute surface feature. The tolerance zone is limited either by:

EXPRESS specification:

*)
ENTITY Total_runout_tolerance
  SUBTYPE OF (Geometric_tolerance);
  angle : Angle_data_element;
  datum_system : Datum_system;
END_ENTITY;
(*

Attribute definitions:

angle: the direction with respect to the datum axis in which a runout tolerance is controlled.

datum_system: specifies the role of the Datum_system for the Total_runout_tolerance.

4.4 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.4.1 composite_shape_element_subtypes   EXPRESS-GMapping table

The composite_shape_element_subtypes constraint specifies that instances of subtypes of Composite_shape_element shall not be simultaneously of type All_around_shape_element, Continuous_shape_element, Composite_group_shape_element.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT composite_shape_element_subtypes FOR Composite_shape_element;
  ONEOF (Continuous_shape_element,
         Composite_group_shape_element);
END_SUBTYPE_CONSTRAINT;
(*

4.4.2 gl_shape_element_subtypes   EXPRESS-GMapping table

The gl_shape_element_subtypes constraint specifies that instances of subtypes of Shape_element shall not be simultaneously of type Datum, Datum_target, Tolerance_zone.

EXPRESS specification:

*)
SUBTYPE_CONSTRAINT gl_shape_element_subtypes FOR Shape_element;
  ONEOF (Datum,
         Datum_feature,
         Datum_target,
         Tolerance_zone,
         Contacting_feature,
         Datum_system,
         General_datum_reference,
         Axis_placement_shape_element,
         Plane_shape_element,
         Point_shape_element);
END_SUBTYPE_CONSTRAINT;
(*

4.5 ARM function definition

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

4.5.1 sts_get_general_datum_reference

The sts_get_general_datum_reference function returns the General_datum_reference associated with the Datum_reference_element as an input.

EXPRESS specification:

*)
FUNCTION sts_get_general_datum_reference (input : Datum_reference_element) : General_datum_reference;
LOCAL
      general_datum_reference_bag : BAG OF General_datum_reference :=
      (USEDIN(input, 'GEOMETRIC_TOLERANCE_ARM.' + 'GENERAL_DATUM_REFERENCE.' + 'BASE'));
    END_LOCAL;

    IF SIZEOF(general_datum_reference_bag) = 1 THEN
      RETURN (general_datum_reference_bag[1]);
    ELSE
      RETURN (?);
    END_IF;
END_FUNCTION;
(*

Argument definitions:

input: the specified Datum_reference_element.



*)
END_SCHEMA;  -- Geometric_tolerance_arm
(*


© ISO 2019 — All rights reserved