Integrated generic resource: Shape variation tolerances | ISO 10303-47:2021(E) © ISO |
The shape_tolerance_schema provides the constructs for describing tolerances that apply to dimensions and to elements of shape_aspect. This schema includes two types of tolerance: plus-minus tolerance and geometrical tolerance. The plus-minus tolerance provides the constructs for specifying tolerances in one of two ways:
The representation of statistical tolerance may be associated with the direct specification of the upper and the lower limits of the plus-minus tolerance or with a geometric tolerance.
The geometrical tolerance provides the constructs for applying tolerance zones to elements of shape_aspects. A tolerance zone defines a region or an area within which a shape_aspect may vary and is bounded by a set of tolerance zone elements. These constructs support tolerances for the form, orientation, location, profile, and runout of a shape_aspect. A tolerance zone may be represented by specific geometry and is used for various tolerancing methods.
This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following EXPRESS declaration begins the shape_tolerance_schema and identifies the necessary external references.Each implementation of an AP that uses this schema and that encodes entity names shall use the encoding specified in Annex A. Each reference to this schema in an open system shall use the identifier encoding specified in Annex B. This schema is illustrated in Annex D using the EXPRESS-G notation.
EXPRESS specification:
*)
SCHEMA shape_tolerance_schema;
REFERENCE FROM
basic_attribute_schema
--
ISO 10303-41
(get_id_value,
id_attribute,
id_attribute_select);
REFERENCE FROM
measure_schema
--
ISO 10303-41
(derive_dimensional_exponents,
dimensional_exponents,
length_measure_with_unit,
measure_with_unit,
measure_value,
plane_angle_measure_with_unit);
REFERENCE FROM
product_property_definition_schema
--
ISO 10303-41
(product_definition_shape,
shape_aspect,
shape_aspect_relationship);
REFERENCE FROM
product_property_representation_schema
--
ISO 10303-41
(item_identified_representation_usage_definition);
REFERENCE FROM
qualified_measure_schema
--
ISO 10303-45
(measure_representation_item);
REFERENCE FROM
representation_schema
--
ISO 10303-43
(representation);
REFERENCE FROM
shape_aspect_definition_schema
--
ISO 10303-47
(datum_reference,
datum_system,
limit_condition,
general_datum_reference);
REFERENCE FROM
shape_dimension_schema
--
ISO 10303-47
(dimensional_characteristic,
dimensional_location,
dimensional_size);
REFERENCE FROM
support_resource_schema
--
ISO 10303-41
(bag_to_set,
identifier,
label,
text,
type_check_function);
(*
NOTE 1 The schemas referenced above are specified in the following parts:
basic_attribute_schema ISO 10303-41 measure_schema ISO 10303-41 product_property_definition_schema ISO 10303-41 product_property_representation_schema ISO 10303-41 qualified_measure_schema ISO 10303-45 representation_schema ISO 10303-43 shape_aspect_definition_schema ISO 10303-47 shape_dimension_schema ISO 10303-47 support_resource_schema ISO 10303-41
NOTE 2 See Annex D for a graphical representation of this schema.
A toleranced dimension is an exact dimension with a plus-minus tolerance. A plus-minus tolerance limits the dimensional variation of a dimension of a product. The plus-minus tolerance range is limited by one of two methods: assigned values, which define the upper bound and lower bound of a dimension, or a standard tolerance as specified in ISO 286-l and ISO 286-2. The tolerance with a statistical distribution provides an additional specification of the variation of a dimension and may be used with either a plus-minus tolerance or a geometric tolerance.
Tolerance zones as defined in ISO 1101 or an equivalent standard are represented in ISO 10303 either implicitly or explicitly. A tolerance zone is explicitly represented by tolerance_zone. When no explicit tolerance zone is represented, the implcit tolerance zone is included in the geometric_tolerance.
A key entity of the shape_tolerance_schema is geometric_tolerance. Geometric_tolerance with subtypes and other related entities represent a tolerance frame as defined in ISO 1101.
NOTE 1 Alternatively a geometric_tolerance together with subtypes and other related entities can represent a feature control frame as defined in ASME Y14.5-2009 [11] or later editions of that standard.
The ISO 1101 concept of a toleranced feature is represented by the attribute toleranced_shape_aspect. The toleranced feature is either a shape_aspect, the whole product_definition_shape, a dimensional_size or a dimensional_location.
The first compartment of a tolerance frame specifies the kind of geometrical characteristic. For each characteristic a specific entity is defined:
The second compartment of a tolerance frame specifies a collection of information that is represented by several entities of this schema.
In the case that a tolerance frame has a third, and optionally, a fourth and fifth, compartment with references to one or several datums, the subtype geometric_tolerance_with_datum_reference shall be used. It's attribute datum_system references either a datum_system or a set of datum_references. See clause 4.1 for introduction of these concepts.
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 spherical;
EXPRESS specification:
*)
TYPE
datum_system_or_reference
=
SELECT
(datum_reference,
datum_system);
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 [11].
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 [11].
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,
reference_minimax_feature_without_constraint,
reference_minimax_feature_with_external_material_constraint,
reference_minimax_feature_with_internal_material_constraint,
reference_least_square_feature_without_constraint,
reference_least_square_feature_with_external_material_constraint,
reference_least_square_feature_with_internal_material_constraint,
reference_minimum_circumscribed_feature,
reference_maximum_inscribed_feature,
total_range_deviations,
peak_height,
valley_depth,
standard_deviation);
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 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 The symbol for least material requirement is Ⓛ.
reciprocity_requirement: indicates that reciprocity requirement applies in accordance with ISO 2692 unless otherwise specified;
NOTE The symbol for reciprocity requirement is Ⓡ.
any_cross_section: indicates that any cross section applies in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol for any cross section is ACS.
free_state: indicates that free state applies in accordance with ISO 10579 unless otherwise specified;
NOTE The symbol for free state is Ⓕ.
common_zone: indicates that common zone applies in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol for common zone is CZ.
minor_diameter: indicates that minor diameter applies in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol for minor diameter is LD.
major_diameter: indicates that major diameter applies in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol for major diameter is MD.
pitch_diameter: indicates that pitch diameter applies in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol for pitch diameter is PD.
line_element: indicates that line element applies in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol for line element is LE.
not_convex: indicates that not convex applies in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol for not convex is NC.
statistical_tolerance: indicates that the tolerance is based on statistical tolerances;
NOTE For ASME Y14.5-2009 [11] this is indicated by <ST>.
tangent_plane: indicates that the datum is the tangent plane established by contacting points;
NOTE 1 For ASME Y14.5-2009 [11] this is indicated by Ⓣ.
NOTE 2 The associated_maximum_inscribed_feature is used for ISO 1101
each_radial_element: indicates that the tolerance zone applies to each radial element individually.
NOTE For ASME Y14.5-2009 [11] this is indicated by EACH RADIAL ELEMENT.
separate_requirement: indicates that geometric_tolerance is a separate requirement;
NOTE For ASME Y14.5-2009 [11] this is indicated by SEP REQT.
united_feature: indicates that united feature applies in accordance with ISO 1101 unless otherwise specified;
NOTE 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 Ⓧ.
reference_minimax_feature_without_constraint: indicates that the toleranced feature specification element is the minimax (Chebyshev) association without additional constraints in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is C.
reference_minimax_feature_with_external_material_constraint: indicates that the toleranced feature specification element is the minimax (Chebyshev) association with the constraint external to the material in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is CE.
reference_minimax_feature_with_internal_material_constraint: indicates that the toleranced feature specification element is the minimax (Chebyshev) association with the constraint internal to the material in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is CI.
reference_least_square_feature_without_constraint: indicates that the toleranced feature specification element is the least squares (Gaussian) association in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is G.
reference_least_square_feature_with_external_material_constraint: indicates that the toleranced feature specification element is the least squares (Gaussian) association with the constraint external to the material in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is GE.
reference_least_square_feature_with_internal_material_constraint: indicates that the toleranced feature specification element is the least squares (Gaussian) association with the constraint internal to the material in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is GI.
reference_minimum_circumscribed_feature: indicates that the toleranced feature specification element is the maximum inscribed association in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is X.
reference_maximum_inscribed_feature: indicates that the toleranced feature specification element is the minimum circumscribed association in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is N.
total_range_deviations: indicates that the parameter specification elements is the total range of deviations in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is T.
peak_height: indicates that the parameter specification elements is the peak height in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is P.
valley_depth: indicates that the toleranced feature specification element is the valley depth in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is V.
standard_deviation: indicates that the parameter specification elements is the square root of the sum of the squares of the residuals or standard deviation of the toleranced feature relative to the reference feature in accordance with ISO 1101 unless otherwise specified;
NOTE The symbol is Q.
EXPRESS specification:
*)
TYPE
geometric_tolerance_target
=
SELECT
(dimensional_location,
dimensional_size,
product_definition_shape,
shape_aspect);
END_TYPE;
(*
NOTE The list of entity data types will be extended in application resources that use the constructs of this resource.
EXPRESS specification:
*)
TYPE
gps_filtration_specification_target
=
EXTENSIBLE
GENERIC_ENTITY
SELECT
(geometric_tolerance);
END_TYPE;
(*
NOTE The list of entity data types will be extended in application resources that use the constructs of this resource.
EXPRESS specification:
*)
TYPE
gps_filtration_type
=
EXTENSIBLE
SELECT
(geometric_tolerance_modifier);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
length_or_plane_angle_measure_with_unit_select
=
SELECT
(length_measure_with_unit,
plane_angle_measure_with_unit);
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
shape_tolerance_select
=
SELECT
(geometric_tolerance,
plus_minus_tolerance);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
st_id_attribute_select
=
SELECT
BASED_ON
id_attribute_select
WITH
(geometric_tolerance);
END_TYPE;
(*
NOTE The list of entity data types will be extended in application resources that use the constructs of this resource.
EXPRESS specification:
*)
TYPE
sts_item_identified_representation_usage_definition
=
EXTENSIBLE
GENERIC_ENTITY
SELECT
BASED_ON
item_identified_representation_usage_definition
WITH
(geometric_tolerance);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
tolerance_method_definition
=
SELECT
(limits_and_fits,
tolerance_value);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
tolerance_zone_target
=
SELECT
(dimensional_location,
dimensional_size,
geometric_tolerance,
general_datum_reference);
END_TYPE;
(*
NOTE Alternatively angularity tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
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_shape_aspect is either a plane or a straight line.
EXPRESS specification:
*)
ENTITY angularity_tolerance
SUBTYPE OF (geometric_tolerance_with_datum_reference);
END_ENTITY;
(*
NOTE Alternatively circular run-out tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY circular_runout_tolerance
SUBTYPE OF (geometric_tolerance_with_datum_reference);
END_ENTITY;
(*
NOTE Alternatively coaxiality tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY coaxiality_tolerance
SUBTYPE OF (geometric_tolerance_with_datum_reference);
END_ENTITY;
(*
NOTE Alternatively concentricity tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY concentricity_tolerance
SUBTYPE OF (geometric_tolerance_with_datum_reference);
END_ENTITY;
(*
NOTE Alternatively cylindricity tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY cylindricity_tolerance
SUBTYPE OF (geometric_tolerance);
WHERE
WR1: NOT ('SHAPE_TOLERANCE_SCHEMA.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
END_ENTITY;
(*
Formal propositions:
WR1: The cylindricity_tolerance shall not be of type geometric_tolerance_with_datum_reference.
A dimension_related_tolerance_zone_element is an association of a tolerance zone definition with a locating dimension.
NOTE This entity is deprecated. It should not be used for new implementations.
EXPRESS specification:
*)
ENTITY dimension_related_tolerance_zone_element;
related_dimension : dimensional_location;
related_element : tolerance_zone_definition;
END_ENTITY;
(*
Attribute definitions:
related_dimension: a dimension that positions the tolerance_zone_definition.
related_element: a tolerance_zone_definition that is defined with a specific location.
EXPRESS specification:
*)
ENTITY directed_tolerance_zone
SUBTYPE OF (tolerance_zone_with_datum);
direction : directed_tolerance_zone_type;
END_ENTITY;
(*
Attribute definitions:
direction: specifies the direction of the tolerance zone in respect to the referenced datum. It is either perpendicular, parallel or including.
NOTE Alternatively flatness tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY flatness_tolerance
SUBTYPE OF (geometric_tolerance);
WHERE
WR1: NOT ('SHAPE_TOLERANCE_SCHEMA.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
END_ENTITY;
(*
Formal propositions:
WR1: The flatness_tolerance shall not be of type geometric_tolerance_with_datum_reference.
EXPRESS specification:
*)
ENTITY geometric_tolerance
ABSTRACT SUPERTYPE
OF (geometric_tolerance_with_datum_reference
ANDOR geometric_tolerance_with_defined_unit
ANDOR ONEOF (geometric_tolerance_with_modifiers,
modified_geometric_tolerance)
ANDOR unequally_disposed_geometric_tolerance
ANDOR ONEOF (cylindricity_tolerance,
flatness_tolerance,
line_profile_tolerance,
position_tolerance,
roundness_tolerance,
straightness_tolerance,
surface_profile_tolerance));
name : label;
description :
OPTIONAL
text;
magnitude :
OPTIONAL
length_measure_with_unit;
toleranced_shape_aspect : geometric_tolerance_target;
DERIVE
controlling_shape : product_definition_shape := sts_get_product_definition_shape(toleranced_shape_aspect);
id : identifier := get_id_value(SELF);
INVERSE
auxiliary_classification : SET[0:?] OF geometric_tolerance_auxiliary_classification FOR described_item;
tolerance_relationship : SET[0:?] OF geometric_tolerance_relationship FOR relating_geometric_tolerance;
UNIQUE
UR1: id, controlling_shape;
WHERE
WR1: magnitude\measure_with_unit.value_component >= 0.0;
WR2: EXISTS(controlling_shape);
WR3: NOT ('PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP' IN TYPEOF(toleranced_shape_aspect))
OR (toleranced_shape_aspect\shape_aspect_relationship.relating_shape_aspect.of_shape :=:
toleranced_shape_aspect\shape_aspect_relationship.related_shape_aspect.of_shape);
WR4: SIZEOF(USEDIN(SELF, 'BASIC_ATTRIBUTE_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
WR5: SIZEOF(QUERY( tr <* tolerance_relationship | tr.name = 'composite tolerance')) <= 1;
END_ENTITY;
(*
Attribute definitions:
name: the identification of the geometrical tolerance type.
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 Position, straightness, concentricity, parallelism, circular runout, etc., are names for geometrical tolerance types.
description: a supplementary note that shall be used to convey additional requirements associated with geometric tolerance.
NOTE 2 This description may state requirements that may have an affect on the geometric_tolerance for specific applications.
The value of this attribute need not be specified.
magnitude: the size of a tolerance. The value of this attribute need not be specified.
toleranced_shape_aspect: the shape_aspect to which the tolerance applies.
controlling_shape: specifies the product_definition_shape to which this geometric_tolerance applies through its toleranced_shape_aspect attribute.
id: the identifier that distinguishes the geometric_tolerance.
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.
tolerance_relationship: specifies a set of geometric_tolerance_relationship associated to the geometric_tolerance. A geometric_tolerance_relationship need not be provided for a geometric_tolerance.
Formal propositions:
UR1: The combination of name and controlling_shape shall be unique within a population of geometric_tolerance.
WR1: The value of magnitude shall be equal to or greater than zero.
WR2: The attribute controlling_shape shall have a value.
WR3: In the case that toleranced_shape_aspect is a dimensional_location the inherited attributes relating_shape_aspect and related_shape_aspect shall reference to shape_aspects for the same product_definition_shape.
WR4: Each geometric_tolerance shall be the identified_item in at most one id_attribute.
WR5: Each geometric_tolerance shall be reference by no more than one geometric_tolerance_relationship with name = 'composite tolerance' with the attribute relating_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.
EXPRESS specification:
*)
ENTITY geometric_tolerance_relationship;
name : label;
description : text;
relating_geometric_tolerance : geometric_tolerance;
related_geometric_tolerance : geometric_tolerance;
WHERE
WR1: NOT(name = 'composite tolerance') OR
(('SHAPE_TOLERANCE_SCHEMA.POSITION_TOLERANCE' IN TYPEOF(relating_geometric_tolerance)) AND
('SHAPE_TOLERANCE_SCHEMA.POSITION_TOLERANCE' IN TYPEOF(related_geometric_tolerance))) OR
(('SHAPE_TOLERANCE_SCHEMA.LINE_PROFILE_TOLERANCE' IN TYPEOF(relating_geometric_tolerance)) AND
('SHAPE_TOLERANCE_SCHEMA.LINE_PROFILE_TOLERANCE' IN TYPEOF(related_geometric_tolerance))) OR
(('SHAPE_TOLERANCE_SCHEMA.SURFACE_PROFILE_TOLERANCE' IN TYPEOF(relating_geometric_tolerance)) AND
('SHAPE_TOLERANCE_SCHEMA.SURFACE_PROFILE_TOLERANCE' IN TYPEOF(related_geometric_tolerance)));
WR2: NOT(name = 'composite tolerance') OR
(relating_geometric_tolerance\geometric_tolerance.toleranced_shape_aspect :=:
related_geometric_tolerance\geometric_tolerance.toleranced_shape_aspect);
WR3: acyclic_geometric_tolerance_relationship(SELF, [related_geometric_tolerance],
'SHAPE_TOLERANCE_SCHEMA.GEOMETRIC_TOLERANCE');
END_ENTITY;
(*
Attribute definitions:
name: the word or group of words by which the geometric tolerance relationship is referred.
description: text that describes the relationship.
relating_geometric_tolerance: one of the geometric_tolerances that takes part in the relationship.
related_geometric_tolerance: the other geometric_tolerance that takes part in the relationship. If one of the geometric_tolerances is dependent on the other, this attribute shall be the dependent one.
Formal propositions:
WR1: For a geometric_tolerance_relationship with the name 'composite tolerance', the related and the relating subtype should be both either a position_tolerance, a line_profile_tolerance or a surface_profile_tolerance
WR2: For a geometric_tolerance_relationship with the name 'composite tolerance', the related and relating geometric_tolerances shall refer to the same shape_aspect with the attribute toleranced_shape_aspect.
WR3: The graph of all geometric_tolerance_relationship shall be acyclic.
EXPRESS specification:
*)
ENTITY geometric_tolerance_with_datum_reference
SUPERTYPE OF (ONEOF (angularity_tolerance,
circular_runout_tolerance,
coaxiality_tolerance,
concentricity_tolerance,
parallelism_tolerance,
perpendicularity_tolerance,
symmetry_tolerance,
total_runout_tolerance))
SUBTYPE OF (geometric_tolerance);
datum_system : SET[1:?] OF datum_system_or_reference;
WHERE
WR1: (SIZEOF(QUERY(ds <* datum_system | 'SHAPE_TOLERANCE_SCHEMA.' + 'DATUM_SYSTEM' in TYPEOF(ds)))=0) OR (SIZEOF(datum_system)=1);
END_ENTITY;
(*
Attribute definitions:
datum_system: specifies the datum system or single datum reference the datum or combination of datums that define a reference for a geometric_tolerance.
NOTE This attribute is not equivalent to datum system as defined in ISO 5459.
Formal propositions:
WR1: If the attribute datum_system contains a datum_system there shall be only one and there shall be no datum_references.
EXPRESS specification:
*)
ENTITY geometric_tolerance_with_defined_area_unit
SUBTYPE OF (geometric_tolerance_with_defined_unit);
area_type : area_unit_type;
second_unit_size :
OPTIONAL
length_or_plane_angle_measure_with_unit_select;
WHERE
WR1: NOT (EXISTS(second_unit_size) XOR (area_type IN [area_unit_type.rectangular, area_unit_type.cylindrical, area_unit_type.spherical]));
WR2: NOT(area_type = area_unit_type.cylindrical)
OR ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(unit_size))
AND ('MEASURE_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT' IN TYPEOF(second_unit_size));
WR3: NOT (area_type = area_unit_type.rectangular)
OR ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(unit_size))
AND ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(second_unit_size));
WR4: NOT(area_type = area_unit_type.spherical)
OR ('MEASURE_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT' IN TYPEOF(unit_size))
AND ('MEASURE_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT' IN TYPEOF(second_unit_size));
WR5: NOT(area_type = area_unit_type.spherical)
OR (SIZEOF(QUERY (tz <* USEDIN(SELF,'SHAPE_TOLERANCE_SCHEMA.TOLERANCE_ZONE.DEFINING_TOLERANCE') |
('SHAPE_TOLERANCE_SCHEMA.ORIENTED_TOLERANCE_ZONE' IN TYPEOF(tz))
)) <> 0 );
END_ENTITY;
(*
Attribute definitions:
area_type: specifies whether the area is circular, square, or rectangular.
second_unit_size: the second unit measure over which a tolerance applies. The value of this attribute need not be specified.
Formal propositions:
WR1: A value for second_unit_size shall be provided if and only if the area_type is rectangular, cylindrical, or spherical.
WR2: If the area_type is cylindrical, the unit_size shall be a length_measure_with_unit and the second_unit_size shall be a plane_angle_measure_with_unit.
WR3: If the area_type is rectangular, the unit_size shall be a length_measure_with_unit and the second_unit_size shall be a length_measure_with_unit.
WR4: If the area_type is spherical, the unit_size shall be a plane_angle_measure_with_unit and the second_unit_size shall be a plane_angle_measure_with_unit.
WR5: If the area_type is spherical, an oriented_tolerance_zone shall be specified.
A geometric_tolerance_with_defined_unit is a type of geometric_tolerance specified on a per length unit basis of the shape_aspect.
NOTE The use and application of the per unit basis are described in ISO 1101.
EXAMPLE A straightness tolerance defines the allowable amount of bending of a product feature on a unit length basis. A flatness tolerance defines the allowable amount of warping of a surface on a per square unit area basis.
EXPRESS specification:
*)
ENTITY geometric_tolerance_with_defined_unit
SUBTYPE OF (geometric_tolerance);
unit_size : length_or_plane_angle_measure_with_unit_select;
WHERE
WR1: ('NUMBER' IN TYPEOF (unit_size\measure_with_unit.value_component)) AND (unit_size\measure_with_unit.value_component >
0.0);
END_ENTITY;
(*
Attribute definitions:
unit_size: the unit measure over which a tolerance applies.
Formal propositions:
WR1: The unit length or area over which the tolerance is applied shall be defined by a positive value.
NOTE The maximum geometric tolerance value is described in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY geometric_tolerance_with_maximum_tolerance
SUBTYPE OF (geometric_tolerance_with_modifiers);
maximum_upper_tolerance : length_measure_with_unit;
WHERE
WR1: (geometric_tolerance_modifier.maximum_material_requirement IN SELF\geometric_tolerance_with_modifiers.modifiers) OR (geometric_tolerance_modifier.least_material_requirement
IN SELF\geometric_tolerance_with_modifiers.modifiers);
WR2: (maximum_upper_tolerance\measure_with_unit.unit_component = SELF\geometric_tolerance.magnitude\measure_with_unit.unit_component)
AND (maximum_upper_tolerance\measure_with_unit.value_component > SELF\geometric_tolerance.magnitude\measure_with_unit.value_component);
END_ENTITY;
(*
Attribute definitions:
maximum_upper_tolerance: specifies the limit.
Formal propositions:
WR1: A geometric_tolerance_with_maximum_tolerance shall only be used in combination with a maximum material requirement or least material requirement modifier
WR2: The unit of maximum_upper_tolerance shall be identical to the unit of magnitude. The value of maximum_upper_tolerance shall be greater than the value of magnitude.
EXPRESS specification:
*)
ENTITY geometric_tolerance_with_modifiers
SUBTYPE OF (geometric_tolerance);
modifiers : SET[1:?] OF geometric_tolerance_modifier;
WHERE
WR1: NOT (geometric_tolerance_modifier.circle_a IN modifiers) OR
(('PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT' IN
TYPEOF(SELF\geometric_tolerance.toleranced_shape_aspect)) AND
(SELF\geometric_tolerance.toleranced_shape_aspect\shape_aspect.product_definitional =
TRUE) OR
('SHAPE_DIMENSION_SCHEMA.DIMENSIONAL_SIZE' IN
TYPEOF(SELF\geometric_tolerance.toleranced_shape_aspect)));
END_ENTITY;
(*
Attribute definitions:
modifiers: specifies the set of properties that affect the geometric tolerance. There shall exist one or more geometric_tolerance_modifiers for the geometric_tolerance_with_modifiers.
Formal propositions:
WR1: If the modifier circle-A is provided, then the toleranced_shape_aspect shall be on the surface.
EXPRESS specification:
*)
ENTITY gps_filter;
filter_type : gps_filtration_type;
filter_data : LIST[1:?] OF measure_with_unit;
INVERSE
owner : gps_filtration_specification FOR filter_data;
WHERE
WR1: NOT ('SHAPE_TOLERANCE_SCHEMA.GEOMETRIC_TOLERANCE_WITH_MODIFIERS' IN TYPEOF(owner\gps_filtration_specification.base_target))
OR
(SIZEOF([
geometric_tolerance_modifier.reference_minimax_feature_without_constraint,
geometric_tolerance_modifier.reference_minimax_feature_with_external_material_constraint,
geometric_tolerance_modifier.reference_minimax_feature_with_internal_material_constraint,
geometric_tolerance_modifier.reference_least_square_feature_without_constraint,
geometric_tolerance_modifier.reference_least_square_feature_with_external_material_constraint,
geometric_tolerance_modifier.reference_least_square_feature_with_internal_material_constraint,
geometric_tolerance_modifier.reference_minimum_circumscribed_feature,
geometric_tolerance_modifier.reference_maximum_inscribed_feature,
geometric_tolerance_modifier.total_range_deviations,
geometric_tolerance_modifier.peak_height,
geometric_tolerance_modifier.valley_depth,
geometric_tolerance_modifier.standard_deviation ] *
owner\gps_filtration_specification.base_target\geometric_tolerance_with_modifiers.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_with_modifiers then the modifiers shall not contains one or more of the following modifiers:
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 limits_and_fits is a pre-defined fit system for specifying the tolerances associated with the assembly of mating product features. Unless otherwise specified, the rules governing limits and fits defined in ISO 286-1 and ISO 286-2 shall apply.
EXPRESS specification:
*)
ENTITY limits_and_fits;
form_variance : label;
zone_variance : label;
grade : label;
source : text;
END_ENTITY;
(*
Attribute definitions:
form_variance: the fundamental deviation code.
NOTE The characters "A" to "ZC" for holes or "a" to "zc" for shafts are used for fundamental deviation.
zone_variance: specifies whether the tolerance declaration applies to a "cylinder" or "opposed parallel planes".
NOTE An empty string may be provided.
grade: the designation of the standard tolerance grade.
EXAMPLE IT7 is a standard tolerance grade.
source: the description of the place for additional information and requirements on this tolerance.
NOTE An empty string may be provided.
NOTE Alternatively profile tolerance of a line can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY line_profile_tolerance
SUBTYPE OF (geometric_tolerance);
END_ENTITY;
(*
A modified_geometric_tolerance is a type of geometric_tolerance with a material limit condition that applies to the shape_aspect being toleranced.
NOTE The entity modified_geometric_tolerance is deprecated. For new implementations it is recommended that geometric_tolerance_with_modifiers be used.
EXPRESS specification:
*)
ENTITY modified_geometric_tolerance
SUBTYPE OF (geometric_tolerance);
modifier : limit_condition;
END_ENTITY;
(*
Attribute definitions:
modifier: the limit_condition that is assigned to a geometrical tolerance.
Informal propositions:
IP1: The SELF\toleranced_shape_aspect shall be a shape_aspect defining a product feature that has size characteristics.
NOTE Non-uniform zone is described in ASME Y14.5-2009 [11].
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
plane_angle_measure_with_unit;
WHERE
WR1: (orientation <> oriented_tolerance_zone_type.angular) XOR EXISTS(angle);
END_ENTITY;
(*
Attribute definitions:
orientation: specifies the orientation of the tolerance zone in respect to the referenced datum. It is either perpendicular, parallel or angular.
angle: specifies an additional angle of the tolerance zone orientation in respect to the referenced datum.
Formal propositions:
WR1: An angle value shall be specified if and only if the orientation is of type angular.
NOTE Alternatively parallelism tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY parallelism_tolerance
SUBTYPE OF (geometric_tolerance_with_datum_reference);
END_ENTITY;
(*
NOTE Alternatively perpendicularity tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY perpendicularity_tolerance
SUBTYPE OF (geometric_tolerance_with_datum_reference);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY plus_minus_tolerance;
range : tolerance_method_definition;
toleranced_dimension : dimensional_characteristic;
UNIQUE
UR1: toleranced_dimension;
END_ENTITY;
(*
Attribute definitions:
range: the limits that, when applied to the dimension value, define the allowable variation for the dimension.
toleranced_dimension: the dimension to which the plus_minus_tolerance applies
Formal propositions:
UR1: There shall be only one plus_minus_tolerance for a dimension.
The location of the tolerance zone shall be specified with instances of dimensional_location.
NOTE 1 Alternatively position tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
NOTE 2 When the toleranced_shape_aspect is a composite_shape_aspect, e.g. eight holes, the tolerance zone may but need not be defined by referenced datums (see ISO 1101).
NOTE 3 The type dimensional_location is defined in ISO 10303-47.
EXPRESS specification:
*)
ENTITY position_tolerance
SUBTYPE OF (geometric_tolerance);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY projected_zone_definition
SUBTYPE OF (tolerance_zone_definition);
projection_end : shape_aspect;
projected_length : length_measure_with_unit;
WHERE
WR1: ('NUMBER' IN TYPEOF (projected_length\measure_with_unit.value_component)) AND (projected_length\measure_with_unit.value_component
> 0.0);
WR2: (derive_dimensional_exponents (projected_length\measure_with_unit.unit_component)= dimensional_exponents(1,0,0,0,0,0,0));
END_ENTITY;
(*
Attribute definitions:
projection_end: the shape_aspect from which the projected tolerance zone originates.
projected_length: the distance from the feature being toleranced.
Formal propositions:
WR1: The value of the projected_length shall be greater than 0.0.
WR2: The dimensional exponents of projected_length shall characterize a length unit.
EXPRESS specification:
*)
ENTITY projected_zone_definition_with_offset
SUBTYPE OF (projected_zone_definition);
offset : length_measure_with_unit;
END_ENTITY;
(*
Attribute definitions:
offset: specifies the value of the offset.
NOTE 1 Alternatively roundness tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
The toleranced_shape_aspect shall be of invariance class surface revolute feature but not a helical shape.
NOTE 2 In the case of a sphere, any axis through the centre point of the sphere may be considered.
The actual surface shall lie in a tolerance zone limited by two co-planar and concentric circles with a difference in radii of the tolerance value.
EXPRESS specification:
*)
ENTITY roundness_tolerance
SUBTYPE OF (geometric_tolerance);
WHERE
WR1: NOT ('SHAPE_TOLERANCE_SCHEMA.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
END_ENTITY;
(*
Formal propositions:
WR1: The roundness_tolerance shall not be of type geometric_tolerance_with_datum_reference.
A runout_zone_definition is a type of tolerance_zone_definition that is defined by the orientation of the measurement of the toleranced shape_aspect to the centre_of_symmetry of a datum_feature.
EXAMPLE Figure 14 illustrates a runout_zone_definition.
EXPRESS specification:
*)
ENTITY runout_zone_definition
SUBTYPE OF (tolerance_zone_definition);
orientation : runout_zone_orientation;
END_ENTITY;
(*
Attribute definitions:
orientation: the orientation of a toleranced shape_aspect to the centre of symmetry of a datum_feature.
A runout_zone_orientation is the specification of the orientation of the runout tolerance element to the centre of symmetry of a datum_feature.
EXAMPLE 1 Figure 13 illustrates an angle for a runout_zone_orientation. Rules specifying how the angle is measured shall be defined in an application protocol.
EXPRESS specification:
*)
ENTITY runout_zone_orientation;
angle : plane_angle_measure_with_unit;
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_aspect that is applied to the runout tolerance.
NOTE If a value other than a numeric value is desired then angle may be a descriptive_measure.
EXAMPLE 2 An example of an angle defined by a descriptive value may be “normal”.
Informal propositions:
IP1: The angle value shall range from 0 to 90 degrees if the angle is a planar angle.
EXPRESS specification:
*)
ENTITY runout_zone_orientation_reference_direction
SUBTYPE OF (runout_zone_orientation);
orientation_defining_relationship : shape_aspect_relationship;
END_ENTITY;
(*
Attribute definitions:
orientation_defining_relationship: the shape_aspect_relationship which specifies a directed relationship from the relating_shape_aspect to the related_shape_aspect to define the reference direction in which the angle is to be oriented.
A statistical_distribution_for_tolerance is a type of representation that is defined by a set of measure_representation_items that provide the set of distribution parameters. Each distribution parameter is defined by a name and a measure_with_unit.
EXAMPLE 1 Normal Gaussian, Logarithmic or Rayleigh are names for statistical distributions.
EXAMPLE 2 Mean and standard deviation are characteristic parameters that define a Normal Gaussian distribution.
EXPRESS specification:
*)
ENTITY statistical_distribution_for_tolerance
SUBTYPE OF (representation);
WHERE
WR1: SIZEOF (QUERY (item <* SELF\representation.items | NOT ('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM' IN TYPEOF
(item)))) = 0;
END_ENTITY;
(*
Formal propositions:
WR1: The representation_items in the set statistical_distribution_for_tolerance shall be of type measure_representation_item.
Informal propositions:
IP1: The name of each parameter that is related to the statistical_distribution_for_tolerance shall be specified in the name attribute of each respective representation_item in the items attribute of the representation
NOTE Alternatively straightness tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
The toleranced_shape_aspect 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_aspect, which is related to the toleranced_shape_aspect by a shape_aspect_relationship. The name of the shape_aspect_relationship shall be 'affected plane association'.
EXPRESS specification:
*)
ENTITY straightness_tolerance
SUBTYPE OF (geometric_tolerance);
WHERE
WR1: NOT ('SHAPE_TOLERANCE_SCHEMA.' + 'GEOMETRIC_TOLERANCE_WITH_DATUM_REFERENCE' IN TYPEOF (SELF));
END_ENTITY;
(*
Formal propositions:
WR1: The straightness_tolerance shall not be of type geometric_tolerance_with_datum_reference.
NOTE Alternatively profile tolerance of a surface can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY surface_profile_tolerance
SUBTYPE OF (geometric_tolerance);
END_ENTITY;
(*
NOTE Alternatively symmetry tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY symmetry_tolerance
SUBTYPE OF (geometric_tolerance_with_datum_reference);
END_ENTITY;
(*
A tolerance_value is the representation of plus-minus tolerances for a dimension. A tolerance_value specifies the numeric values added to the nominal dimension of a shape_aspect.
The lower_bound and upper_bound are applied to the value of the dimension to determine the acceptable range of measured values. A tolerance_value may be either assigned by the user or specified according to ISO 286-l and ISO 286-2.
EXAMPLE Since the only constraint on the attribute values is that the upper bound be greater than the lower bound, the specification of a plus_minus_tolerance (e.g., 10.0+0.10+0.05) is permitted. In this case, the nominal dimension, 10.0, is not bounded by its associated tolerance zone.
EXPRESS specification:
*)
ENTITY tolerance_value;
lower_bound : measure_with_unit;
upper_bound : measure_with_unit;
DERIVE
ubvc : REAL := upper_bound\measure_with_unit.value_component;
lbvc : REAL := lower_bound\measure_with_unit.value_component;
WHERE
WR1: ubvc > lbvc;
WR2: upper_bound\measure_with_unit.unit_component = lower_bound\measure_with_unit.unit_component;
END_ENTITY;
(*
Attribute definitions:
lower_bound: the value of the tolerance that is added to the dimension value to establish the minimum deviation from the boundary toleranced from the nominal dimension.
upper_bound: the value of the tolerance that is added to the dimension value to establish the maximum deviation from the boundary toleranced from the nominal dimension.
ubvc: the numeric value of the upper_bound without unit component.
lbvc: the numeric value of the lower_bound without unit component.
Formal propositions:
WR1: The value of the upper_bound shall be greater than the value of the lower_bound.
WR2: The upper_bound and the lower_bound shall have the same unit.
A tolerance_with_statistical_distribution is the allocation of a tolerance in terms of a probability distribution. The statistical_distribution_for_tolerance may be associated with a tolerance value for a geometric_tolerance or a range of tolerances for a plus_minus_tolerance.
EXAMPLE The diameter of a shaft is toleranced by a plus_minus_tolerance. The plus_minus_tolerance specifies the range in which the diameter may vary. The statistical_distribution_for_tolerance associated to this plus_minus_tolerance specifies that the actual diameter values shall conform to a statistical distribution within the tolerance range.
EXPRESS specification:
*)
ENTITY tolerance_with_statistical_distribution;
associated_tolerance : shape_tolerance_select;
tolerance_allocation : statistical_distribution_for_tolerance;
END_ENTITY;
(*
Attribute definitions:
associated_tolerance: the tolerance that is specified with a statistical distribution.
tolerance_allocation: the statistical distribution that shall apply to the tolerance
A tolerance_zone is a type of shape_aspect. A tolerance_zone is the region within which the toleranced feature shall be defined. The characteristics of the region are specified by the manner in which the toleranced feature is dimensioned.
EXAMPLE A geometric location tolerance applied to a hole defines a tolerance_zone_form that may be described as cylindrical.
EXPRESS specification:
*)
ENTITY tolerance_zone
SUBTYPE OF (shape_aspect);
defining_tolerance : SET[1:?] OF tolerance_zone_target;
form : tolerance_zone_form;
END_ENTITY;
(*
Attribute definitions:
defining_tolerance: all geometric tolerances which define a tolerance_zone for a shape_aspect.
form: the representation of the applied shape that limits the specified tolerance for the tolerance_zone.
A tolerance_zone_definition is a specification of the defining boundaries of a tolerance zone. A tolerance_zone_definition may be either a projected_zone_definition or 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 A flatness tolerance zone of a planar surface is bounded by two parallel, infinite planes separated by a distance of 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_aspect;
END_ENTITY;
(*
Attribute definitions:
zone: the tolerance_zone being defined.
boundaries: a set of shape_aspects that define boundaries of the tolerance_zone.
EXAMPLE 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.
A tolerance_zone_form is a description of the shape of the tolerance_zone.
EXAMPLE “within a circle”, “between two concentric circles”, “between two equidistant curves”, “within a cylinder”, “between two coaxial cylinders”, “between two equidistant surfaces”, “non-uniform”, “cylindrical or circular”, and “spherical” are examples of descriptions of tolerance zone shapes.
EXPRESS specification:
*)
ENTITY tolerance_zone_form;
name : label;
END_ENTITY;
(*
Attribute definitions:
name: the description of a tolerance zone shape
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 (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.
NOTE Alternatively total run-out tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
The set of referenced datums shall contain one revolute surface feature. The tolerance zone is limited by:EXPRESS specification:
*)
ENTITY total_runout_tolerance
SUBTYPE OF (geometric_tolerance_with_datum_reference);
END_ENTITY;
(*
NOTE Alternatively unequally_disposed_geometric_tolerance can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY unequally_disposed_geometric_tolerance
SUBTYPE OF (geometric_tolerance);
displacement : length_measure_with_unit;
WHERE
WR1: 'NUMBER' IN TYPEOF(displacement\measure_with_unit.value_component);
END_ENTITY;
(*
Attribute definitions:
displacement: specifies the offset of the tolerance zone from the true profile.
Formal propositions:
WR1: The displacement shall be a number.
EXPRESS specification:
*)
FUNCTION acyclic_geometric_tolerance_relationship (relation : geometric_tolerance_relationship; relatives : SET[1:?] OF geometric_tolerance; specific_relation : STRING) : BOOLEAN;
LOCAL x : SET OF geometric_tolerance_relationship; END_LOCAL; IF relation.relating_geometric_tolerance IN relatives THEN RETURN (FALSE); END_IF; x := QUERY(geotol <* bag_to_set( USEDIN(relation.relating_geometric_tolerance, 'SHAPE_TOLERANCE_SCHEMA.' + 'GEOMETRIC_TOLERANCE_RELATIONSHIP.' + 'RELATED_GEOMETRIC_TOLERANCE')) | specific_relation IN TYPEOF(geotol)); REPEAT i := 1 TO HIINDEX(x); IF NOT acyclic_geometric_tolerance_relationship(x[i], relatives + relation.relating_geometric_tolerance, specific_relation) THEN RETURN (FALSE); END_IF; END_REPEAT; RETURN (TRUE);
END_FUNCTION;
(*
Argument definitions:
relation: the specified geometric_tolerance_relationship
relatives: the specified set of geometric_tolerance
specific_relation: the specified STRING.
EXPRESS specification:
*)
FUNCTION sts_get_product_definition_shape (input : geometric_tolerance_target) : product_definition_shape;
CASE TRUE OF ('SHAPE_DIMENSION_SCHEMA.DIMENSIONAL_LOCATION' IN TYPEOF(input)) : RETURN(input\shape_aspect_relationship.relating_shape_aspect\shape_aspect.of_shape); ('SHAPE_DIMENSION_SCHEMA.DIMENSIONAL_SIZE' IN TYPEOF(input)) : RETURN(input\dimensional_size.applies_to\shape_aspect.of_shape); ('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(input)) : RETURN(input); ('PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT' IN TYPEOF(input)) : RETURN(input\shape_aspect.of_shape); OTHERWISE : RETURN(?); END_CASE;
END_FUNCTION;
(*
Argument definitions:
input: the specified geometric_tolerance_target.
EXPRESS specification:
*)
RULE subtype_exclusiveness_geometric_tolerance FOR
(geometric_tolerance);WHERE
WR1: SIZEOF(QUERY (gt <* geometric_tolerance | NOT (type_check_function(gt, ['SHAPE_TOLERANCE_SCHEMA.ANGULARITY_TOLERANCE',
'SHAPE_TOLERANCE_SCHEMA.CIRCULAR_RUNOUT_TOLERANCE', 'SHAPE_TOLERANCE_SCHEMA.COAXIALITY_TOLERANCE', 'SHAPE_TOLERANCE_SCHEMA.CONCENTRICITY_TOLERANCE',
'SHAPE_TOLERANCE_SCHEMA.CYLINDRICITY_TOLERANCE', 'SHAPE_TOLERANCE_SCHEMA.FLATNESS_TOLERANCE', 'SHAPE_TOLERANCE_SCHEMA.LINE_PROFILE_TOLERANCE',
'SHAPE_TOLERANCE_SCHEMA.PARALLELISM_TOLERANCE', 'SHAPE_TOLERANCE_SCHEMA.PERPENDICULARITY_TOLERANCE', 'SHAPE_TOLERANCE_SCHEMA.POSITION_TOLERANCE',
'SHAPE_TOLERANCE_SCHEMA.ROUNDNESS_TOLERANCE', 'SHAPE_TOLERANCE_SCHEMA.STRAIGHTNESS_TOLERANCE', 'SHAPE_TOLERANCE_SCHEMA.SURFACE_PROFILE_TOLERANCE',
'SHAPE_TOLERANCE_SCHEMA.SYMMETRY_TOLERANCE', 'SHAPE_TOLERANCE_SCHEMA.TOTAL_RUNOUT_TOLERANCE'] , 2 ) ))) = 0;
END_RULE;
(*
Argument definitions:
geometric_tolerance : the set of all instances of geometric_tolerance.
Formal propositions:
WR1: Each instance of the subtypes of shall be only one of:
*)
END_SCHEMA; -- shape_tolerance_schema
(*
© ISO 2021 — All rights reserved