Application module: Geometric tolerance | ISO/TS 10303-1051:2019(E) © ISO |
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;
(*
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.
This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.
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.
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.
EXPRESS specification:
*)
TYPE
common_datum_list =
LIST[1:?] OF Datum_reference_element;
END_TYPE;
(*
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;
(*
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;
(*
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.
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;
(*
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.
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
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 Ⓧ.
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;
(*
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;
(*
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;
(*
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;
(*
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.
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].
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;
(*
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.
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 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.
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;
(*
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.
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.
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.
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.
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.
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.
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.
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.
EXPRESS specification:
*)
ENTITY Continuous_shape_element
SUPERTYPE OF (ONEOF (Between_shape_element,
All_around_shape_element))
SUBTYPE OF (Composite_shape_element);
END_ENTITY;
(*
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;
(*
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.
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.
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.
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.
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.
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.
EXPRESS specification:
*)
ENTITY Datum_system_with_associated_model_coordinate_system
SUBTYPE OF (Axis_placement_shape_element, Datum_system);
END_ENTITY;
(*
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.
EXPRESS specification:
*)
ENTITY Dimensional_location_with_datum_feature
SUBTYPE OF (Datum_feature, Dimensional_location);
END_ENTITY;
(*
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.
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.
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.
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;
(*
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.
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.
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.
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:
NOTE 1 This capability is to be used for representing composite positional tolerancing as defined in ASME Y14.5-2009.
NOTE 2 precedence may also be indicated as overriding in ISO 16792 and ASME Y14.41-2003.
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.
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.
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.
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.
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;
(*
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.
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.
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.
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.
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.
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.
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.
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.
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.
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;
(*
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.
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.
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.
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.
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.
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.
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.
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.
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.
EXPRESS specification:
*)
ENTITY Target_point
SUBTYPE OF (Placed_target);
END_ENTITY;
(*
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.
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.
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.
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.
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.
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.
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.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT composite_shape_element_subtypes FOR Composite_shape_element;
ONEOF (Continuous_shape_element,
Composite_group_shape_element);
END_SUBTYPE_CONSTRAINT;
(*
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;
(*
This subclause specifies the ARM function for this module. The ARM function and definition is specified below.
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