Integrated generic resource: Shape variation tolerances | ISO 10303-47:2021(E) © ISO |
The subject of the shape_aspect_definition_schema is to provide definitions of the spatial characteristics of a shape that are required for dimensioning and tolerancing. This schema provides representations for a derived_shape_aspect and a datum_system. A derived_shape_aspect is a shape_aspect that is developed from the defined shape of the product, but is not required for defining the product shape. A datum_system is a shape_aspect that provides the origin from where geometric tolerances are referenced. A derived_shape_aspect and a datum_system are aspects of the shape that are required for dimensioning and tolerancing the form, size, orientation, and location of a product shape.
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_aspect_definition_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_aspect_definition_schema;
REFERENCE FROM
geometry_schema
--
ISO 10303-42
(axis2_placement,
cartesian_point,
direction,
geometric_representation_context,
line,
placement,
plane);
REFERENCE FROM
measure_schema
--
ISO 10303-41
(length_measure_with_unit,
measure_with_unit);
REFERENCE FROM
product_property_definition_schema
--
ISO 10303-41
(characterized_object,
product_definition_shape,
shape_aspect,
shape_aspect_occurrence,
shape_aspect_relationship);
REFERENCE FROM
product_property_representation_schema
--
ISO 10303-41
(shape_representation);
REFERENCE FROM
qualified_measure_schema
--
ISO 10303-45
(descriptive_representation_item,
measure_representation_item);
REFERENCE FROM
representation_schema
--
ISO 10303-43
(representation,
using_representations);
REFERENCE FROM
shape_dimension_schema
--
ISO 10303-47
(dimensional_location,
dimensional_size);
REFERENCE FROM
support_resource_schema
--
ISO 10303-41
(bag_to_set,
label,
identifier);
(*
NOTE 1 The schemas referenced above are specified in the following parts:
geometry_schema ISO 10303-42 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_dimension_schema ISO 10303-47 support_resource_schema ISO 10303-41
NOTE 2 See Annex D for a graphical representation of this schema.
The product shape is the concept of shape as a property that characterizes a product. Geometric models and engineering drawings are formal methods used to represent the product shape. Dimensions and tolerances are elements of the product shape definition which are independent from how the shape is represented. Dimensions may be explicitly identified as part of the shape characteristics, implicitly included in a geometric model that represents the shape, or explicitly presented in a two-dimensional drawing or on an annotated 2D or 3D model.
A shape_aspect and all its subtypes such as derived_shape_aspect are elements of a product shape, represented by product_definition_shape. A product_definition_shape may represent the nominal model of a product or the extracted surfaces of a workpiece as specified in application protocols or application modules using these concepts. For the purpose of this part of ISO 10303, the following mapping to concepts of ISO 14660-1 and ISO/TS 17450-1 apply:
NOTE The real surface of a workpiece and its real integral features are not available for computer processing.
Dimensions may be specified for both the entire product shape and aspects of the shape. This schema augments the shape_aspects and the relationships among them as the definitional mechanism for specifying dimensions and tolerances. A shape_aspect, relationships between shape_aspect elements, and their specified dimensions and tolerances are always defined in the context of the product_definition_shape. These dimensions and tolerances can be represented as elements of geometric models or engineering drawings.
A datum_system represents the last compartments of a tolerance frame that reference datums and specify modifiers. A datum_system is composed by a list of one to three datum_reference_compartments. A datum_reference_compartment either references a datum directly, or it references a list of datum_reference_elements to establish a common datum. A datum is either defined by a datum_feature or established by one or more datum_targets. Unless otherwise specified the rules governing datum system, datum, datum feature and datum target defined in ISO 5459 shall apply.
NOTE Alternatively datum system, datum feature and datum target can be used according to the specifications given in ASME Y14.5-2009 [11].
For the purpose of identifying dimensions and tolerances, this schema specifies the concept of a derived_shape_aspect. A derived_shape_aspect is a shape_aspect that is defined based on the specific way in which it relates to another shape aspect. The derived_shape_aspect is used in conjunction with related shape_aspect elements to specify dimensions and tolerances. The specific geometry that can represent the derived_shape_aspect and a shape_aspect that provide the definitional relationship are not in the scope of this schema. The geometry, the representation structure, and their association to the dimension and tolerance elements specified in this part are defined in ISO 10303-41, ISO 10303-42, and ISO 10303-43. Only the generic concept of derived_shape_aspect is specified here. Application protocols may specify other derived_shape_aspect elements in addition to those provided.
Different types of collection mechanisms of shape_aspects are provided by composite_shape_aspect and its subtypes. Dimension tolerances and geometrical tolerances applied to a composite_group_shape_aspect apply individually to all its members. When applying dimensions and geometric tolerances to a continuous_shape_aspect, a between_shape_aspect or an all_around_shape_aspect they apply to the collection as a whole only.
EXPRESS specification:
*)
TYPE
common_datum_list
=
LIST[2:?] OF datum_reference_element;
WHERE
WR1: SIZEOF( QUERY(dre <* SELF | dre\shape_aspect.of_shape <> SELF[1]\shape_aspect.of_shape)) = 0;
END_TYPE;
(*
Formal propositions:
WR1: All members shall be for the same underlying product_definition_shape.
EXPRESS specification:
*)
TYPE
datum_or_common_datum
=
SELECT
(common_datum_list,
datum);
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
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.
A limit_condition type indicates that a tolerance may have a material modifier condition applied. This modifier allows for the addition of material to, or for the reduction of material from a feature. The use of limit_condition applies only to toleranced features and datum features that have size characteristics.
NOTE The defined type limit_condition is deprecated. For new implementations it is recommended to use simple_datum_reference_modifier.
EXAMPLE The diameter of a hole or of a shaft or the width of a slot are size characteristics which may have a limit_condition applied.
EXPRESS specification:
*)
TYPE
limit_condition
=
ENUMERATION
OF
(maximum_material_condition,
least_material_condition,
regardless_of_feature_size);
END_TYPE;
(*
Enumerated item definitions:
maximum_material_condition: the state of a feature when it contains its maximum material with respect to its specified limit of size. Maximum material condition is defined in ISO 2692. The methods described in ISO 2692 for applying maximum_material_condition to datums and toleranced features shall be followed.
NOTE 1 For a shape_aspect which is void of material, the maximum_material_condition is the smallest measure of this feature of size, e.g., the smallest diameter of a hole.
least_material_condition: the state of a feature when it contains its least material with respect to its specified limit of size. Least material condition is defined in ISO 2692. The methods described in ISO 2692 for applying least_material_condition to datums and toleranced features shall be followed.
NOTE 2 For a shape_aspect which is void of material, the least_material_condition is the largest measure of this feature of size, e.g., the largest diameter of a hole.
regardless_of_feature_size: the state of a feature when the specified tolerance or datum reference applies to any increment of size within the specified limits of the feature.
NOTE 3 Unlike maximum_material_condition and least_material_condition, regardless_of_feature_size is not dependent on the quantity of material the feature of size contains. A regardless_of_feature_size means that when geometric tolerance is specified for a feature of size, the specified tolerance is independent of size changes in that feature of size. It does not matter if the feature of size is at its upper tolerance measure, at its lower tolerance measure or any measure between, the specified tolerance or datum reference applies.
NOTE 4 The principle of regardless_of_feature_size is explained in ASME Y 14.5 [7].
EXPRESS specification:
*)
TYPE
shape_aspect_or_feature_definition
=
SELECT
(feature_definition,
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
shape_representation_with_parameters_items
=
EXTENSIBLE
GENERIC_ENTITY
SELECT
(descriptive_representation_item,
direction,
measure_representation_item,
placement);
END_TYPE;
(*
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 The symbol for free state is Ⓕ.
basic: indicates that the datum feature is simulated at the boundary defined by TEDs;
NOTE For ASME Y14.5-2009 [11] 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 For ASME Y14.5-2009 [11] this is indicated by ▷.
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 Ⓛ.
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 Ⓜ.
point: indicates that a point situation feature applies in accordance with ISO 5459 unless otherwise specified;
NOTE The symbol for point is [SP].
line: indicates that a line situation feature applies in accordance with ISO 5459 unless otherwise specified;
NOTE The symbol for line is [SL].
plane: indicates that a plane situation feature applies in accordance with ISO 5459 unless otherwise specified;
NOTE The symbol for plane is [PL].
orientation: indicates that "orientation constraint only" applies in accordance with ISO 5459 unless otherwise specified;
NOTE The symbol for orientation is [><].
any_cross_section: indicates that any cross section applies in accordance with ISO 5459 unless otherwise specified;
NOTE 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 The symbol for any longitudinal section is [ALS].
contacting_feature: indicates that contacting feature applies in accordance with ISO 5459 unless otherwise specified;
NOTE The symbol for contacting feature is [CF].
distance_variable: indicates that distance variable applies in accordance with ISO 5459 unless otherwise specified;
NOTE 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 For ASME Y14.5-2009 [11] this is indicated by "[x]."
degree_of_freedom_constraint_y: indicates that the degree of freedom in the y direction is constrained;
NOTE For ASME Y14.5-2009 [11] this is indicated by "[y]."
degree_of_freedom_constraint_z: indicates that the degree of freedom in the z direction is constrained;
NOTE For ASME Y14.5-2009 [11] this is indicated by "[z]."
degree_of_freedom_constraint_u: indicates that the degree of freedom in the u direction is constrained;
NOTE For ASME Y14.5-2009 [11] this is indicated by "[u]."
degree_of_freedom_constraint_v: indicates that the degree of freedom in the v direction is constrained;
NOTE For ASME Y14.5-2009 [11] this is indicated by "[v]."
degree_of_freedom_constraint_w: indicates that the degree of freedom in the w direction is constrained.
NOTE For ASME Y14.5-2009 [11] this is indicated by "[w]."
minor_diameter: indicates that minor diameter applies in accordance with ISO 5459 unless otherwise specified;
NOTE The symbol for minor diameter is [LD].
major_diameter: indicates that major diameter applies in accordance with ISO 5459 unless otherwise specified;
NOTE The symbol for major diameter is [MD].
pitch_diameter: indicates that pitch diameter applies in accordance with ISO 5459 unless otherwise specified.
NOTE The symbol for pitch diameter is [PD].
EXPRESS specification:
*)
ENTITY all_around_shape_aspect
SUBTYPE OF (continuous_shape_aspect);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY apex
SUBTYPE OF (derived_shape_aspect);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY between_shape_aspect
SUBTYPE OF (continuous_shape_aspect);
WHERE
WR1: SIZEOF(query(sar <* SELF\composite_shape_aspect.component_relationships |
sar\shape_aspect_relationship.name = 'start feature')) = 1;
WR2: SIZEOF(query(sar <* SELF\composite_shape_aspect.component_relationships |
sar\shape_aspect_relationship.name = 'end feature')) = 1;
END_ENTITY;
(*
Formal propositions:
WR1: The inherited attribute component_relationships of composite_shape_aspect shall be referred to by one shape_aspect_relationship that has the name 'start feature'.
WR2: The inherited attribute component_relationships of composite_shape_aspect shall be referred to by one shape_aspect_relationship that has the name 'end feature'.
A centre_of_symmetry is a type of derived_shape_aspect that defines the geometric centre of symmetry of one or more symmetric_shape_aspects.
EXAMPLE Types of geometric representation for a centre_of_symmetry may be an axis of an axially-symmetrical feature, a center point of a spherical feature, or a centre plane of parallel opposing planes or of wedge feature. In (a) of figure 1, the centre plane is the centre_of_symmetry for the two parallel opposing planes. In (b) of figure 1, the axis is the centre_of_symmetry for both cylinders.
EXPRESS specification:
*)
ENTITY centre_of_symmetry
SUBTYPE OF (derived_shape_aspect);
END_ENTITY;
(*
NOTE The entity common_datum is deprecated. For new implementations it is recommended that datum_reference_compartment with base being a common_datum_list be used.
EXPRESS specification:
*)
ENTITY common_datum
SUBTYPE OF (composite_shape_aspect, datum);
WHERE
WR1: SIZEOF (SELF\composite_shape_aspect.component_relationships) = 2;
WR2: SIZEOF (QUERY ( sar <* SELF\composite_shape_aspect.component_relationships| NOT (('SHAPE_ASPECT_DEFINITION_SCHEMA.DATUM'
IN TYPEOF (sar.related_shape_aspect)) AND NOT ('SHAPE_ASPECT_DEFINITION_SCHEMA.COMMON_DATUM' IN TYPEOF (sar.related_shape_aspect)))
)) = 0;
END_ENTITY;
(*
Formal propositions:
WR1: The common_datum shall have exactly two component_relationships.
WR2: The datums, a common_datum is established by, shall be of type datum but not of type common_datum.
EXPRESS specification:
*)
ENTITY composite_group_shape_aspect
SUBTYPE OF (composite_shape_aspect);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY composite_shape_aspect
SUPERTYPE OF (ONEOF (continuous_shape_aspect,
common_datum,
composite_group_shape_aspect))
SUBTYPE OF (shape_aspect);
INVERSE
component_relationships : SET[2:?] OF shape_aspect_relationship FOR relating_shape_aspect;
END_ENTITY;
(*
Attribute definitions:
component_relationships: the set of member shape_aspects that form the composite_shape_aspect. The relating_shape_aspect is the composite_shape_aspect, and the related_shape_aspects are members of the set. Two or more shape_aspect_relationships shall be defined for the composite_shape_aspect.
EXAMPLE 1 Datum targets are related into a set to establish a datum.
EXAMPLE 2 Figure 2 illustrates two instances of composite_shape_aspect. First, the composite_shape_aspect that contains cylindrical face components may represent a pattern of holes in which a pattern-controlling positional geometrical tolerance may be applied. The hole pattern is the composite_shape_aspect. Second, the composite_shape_aspect that contains connected face components may represent a profile group feature to which a single surface profile geometrical tolerance may be applied.
EXPRESS specification:
*)
ENTITY contacting_feature
SUBTYPE OF (shape_aspect);
WHERE
WR1: SELF\shape_aspect.product_definitional = FALSE;
END_ENTITY;
(*
Formal propositions:
WR1: A contacting_feature is not part of the physical boundary of the product_definition_shape.
EXPRESS specification:
*)
ENTITY continuous_shape_aspect
SUPERTYPE OF (ONEOF (between_shape_aspect,
all_around_shape_aspect))
SUBTYPE OF (composite_shape_aspect);
END_ENTITY;
(*
A datum is a type of shape_aspect used to establish an origin for theoretically exact dimensions and geometrical tolerances. This shape_aspect may, but need not, coincide with the boundary defining the product. A datum is established by associating to datum feature, a set of datum targets, a group of features, or one or more contacting features.
NOTE The use and application of a group of features to establish a datum is identified in ISO 5459. The group of features is established through the use of shape_aspect_relationship objects. The concept of a group of shape_aspect elements is defined in composite_shape_aspect.
EXPRESS specification:
*)
ENTITY datum
SUBTYPE OF (shape_aspect);
identification : identifier;
INVERSE
established_by_relationships : SET[1:?] OF shape_aspect_relationship FOR related_shape_aspect;
UNIQUE
UR1: identification, SELF\shape_aspect.of_shape;
WHERE
WR1: ('SHAPE_ASPECT_DEFINITION_SCHEMA.COMMON_DATUM' IN TYPEOF(SELF))
XOR ((SIZEOF(QUERY(x <* SELF\datum.established_by_relationships |
SIZEOF(['SHAPE_ASPECT_DEFINITION_SCHEMA.DATUM_FEATURE',
'SHAPE_ASPECT_DEFINITION_SCHEMA.DATUM_TARGET'] *
TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)) = 1)) >= 1));
WR2: SIZEOF(QUERY(x <* SELF\datum.established_by_relationships |
('SHAPE_ASPECT_DEFINITION_SCHEMA.DATUM_FEATURE' IN TYPEOF(x\shape_aspect_relationship.relating_shape_aspect)))) <= 1;
WR3: SELF\shape_aspect.product_definitional = FALSE;
WR4: SELF\shape_aspect.name = '';
END_ENTITY;
(*
Attribute definitions:
identification: the name of the datum.
established_by_relationships: the datum_feature, the set of datum_targets, or the group of derived shape_aspects that establish the datum.
Formal propositions:
UR1: The combination of identification and of_shape shall be unique within a population of datum.
WR1: A datum is a common_datum or a datum and shall be related to one or more datum_features or datum_targets through shape_aspect_relationship.
WR2: There shall be at most one datum_feature in the established_by_relationships set.
WR3: A datum is not part of the physical boundary of the product_definition_shape.
WR4: The name shall be an empty string.
EXPRESS specification:
*)
ENTITY datum_feature
SUPERTYPE OF (ONEOF (dimensional_location_with_datum_feature,
dimensional_size_with_datum_feature))
SUBTYPE OF (shape_aspect);
INVERSE
feature_basis_relationship : SET[1:?] OF shape_aspect_relationship FOR relating_shape_aspect;
WHERE
WR1: SIZEOF(QUERY(sar <* SELF\datum_feature.feature_basis_relationship | ('SHAPE_ASPECT_DEFINITION_SCHEMA.DATUM' IN TYPEOF
(sar\shape_aspect_relationship.related_shape_aspect)))) = 1;
WR2: SELF\shape_aspect.product_definitional = TRUE;
END_ENTITY;
(*
Attribute definitions:
feature_basis_relationship: the set of shape_aspect_relationship that relate members of shape_aspect to the datum_feature.
NOTE One member of feature_basis_relationship will specify a datum.
Formal propositions:
WR1: A datum_feature shall be referenced by exactly one datum through a shape_aspect_relationship.
WR2: A datum_feature shall lie on the physical boundary of the shape that defines the product.
EXAMPLE Figure 3 illustrates two cases of datum_feature. The datum_feature that is a cylindrical feature establishes the datum identified as A. This datum is the axis of an associated cylinder. The datum identified as B is established from the datum_feature that is a planar surface of the product. This datum is an associated plane that is contacts the datum_feature.
A datum_reference is the specification of the use of a datum.
NOTE The entity datum_reference is deprecated. For new implementations it is recommended that datum_system together with datum_reference_compartment and as needed datum_reference_element be used.
EXPRESS specification:
*)
ENTITY datum_reference;
precedence : INTEGER;
referenced_datum : datum;
WHERE
WR1: precedence > 0;
END_ENTITY;
(*
Attribute definitions:
precedence: the priority that is assigned to a datum for a specific use.
NOTE A datum may have multiple and distinct uses and have different precedence for each use.
referenced_datum: the datum that participates in a geometrical tolerance of a product feature.
Formal propositions:
WR1: The value of precedence shall be greater than zero.
EXPRESS specification:
*)
ENTITY datum_reference_compartment
SUBTYPE OF (general_datum_reference);
INVERSE
owner : datum_system FOR constituents;
END_ENTITY;
(*
Attribute definitions:
owner: specifies an inverse relationship indicating 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.
NOTE Alternatively, common datum can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY datum_reference_element
SUBTYPE OF (general_datum_reference);
INVERSE
owner : general_datum_reference FOR base;
WHERE
WR1: SELF <> owner;
WR2: SELF\shape_aspect.of_shape = owner\shape_aspect.of_shape;
END_ENTITY;
(*
Attribute definitions:
owner: the datum_reference_compartment or datum_reference_element to which this datum_reference_element belongs to.
Formal propositions:
WR1: The owner shall not be the same instance of datum_reference_element.
WR2: The owner shall exist.
NOTE When used for ASME Y14.5-2009 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_measure_with_unit;
WHERE
WR1: modifier_value\measure_with_unit.value_component > 0.0;
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_measure_with_unit for the datum_reference_modifier_with_value.
Formal propositions:
WR1: The value_component shall be greater than zero.
NOTE Alternatively, datum_system can be used for the corresponding concept in ASME Y14.5-2009 [11] or any later edition of this standard.
NOTE 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_aspect);
constituents : LIST[1:3] OF
UNIQUE
datum_reference_compartment;
UNIQUE
UR1: SELF\shape_aspect.of_shape, SELF\shape_aspect.name;
WHERE
WR1: SELF\shape_aspect.product_definitional = FALSE;
END_ENTITY;
(*
Attribute definitions:
constituents: the ordered list of one to three datum_reference_compartments representing the primary and the optional secondary and tertiary datums of a tolerance frame.
Formal propositions:
UR1: The combination of of_shape and name shall be unique within a population of datum_system.
WR1: A datum_system is not part of the physical boundary of the product_definition_shape.
A datum_target is a type of shape_aspect that indicates a datum target on the boundary of a product shape. The shape_aspect may be a point, line, or an area. The datum_target is defined in addition to the shape_aspect elements that define the product shape.
NOTE The use and application of datum targets is described in ISO 5459. Alternatively, datum_target can be used according to the specifications given in ASME Y14.5-2009 [11].
EXPRESS specification:
*)
ENTITY datum_target
SUBTYPE OF (shape_aspect);
target_id : identifier;
INVERSE
target_basis_relationship : SET[1:?] OF shape_aspect_relationship FOR relating_shape_aspect;
WHERE
WR1: SIZEOF(QUERY(sar <* SELF\datum_target.target_basis_relationship | ('SHAPE_ASPECT_DEFINITION_SCHEMA.DATUM' IN TYPEOF (sar\shape_aspect_relationship.related_shape_aspect))))
= 1;
WR2: SELF\shape_aspect.product_definitional = TRUE;
END_ENTITY;
(*
Attribute definitions:
target_id: the name by which the identification of the datum target number is referred.
target_basis_relationship: the relationship to the datum that the datum_target defines; it is achieved through the shape_aspect_relationship. There shall exist one or more shape_aspect_relationships for the datum_target.
Formal propositions:
WR1: A datum_target shall be referenced by exactly one datum through a shape_aspect_relationship.
WR2: A datum_target lies on the physical boundary of the shape that defines the product.
A derived_shape_aspect is a type of shape_aspect that depends on the definition of one or more specific shapes. The existence of the derived_shape_aspect depends on and relates to other shape_aspects.
NOTE A derived_shape_aspect might not be on the physical boundary of the product. Its intended purpose is to relate product dimensions and tolerances with the shape_aspects or features of the part.
EXAMPLE Consider the shape_aspect of a cylindrical hole. It is symmetric about an axis, and this axis exists only when the hole exists. The axis is a derived_shape_aspect.
A derived_shape_aspect may be either an apex or a centre_of_symmetry, or a geometric_alignment, or a geometric_contact, or a geometric_intersection, or a parallel_offset, or a perpendicular_to, or an extension, or a tangent.
EXPRESS specification:
*)
ENTITY derived_shape_aspect
SUPERTYPE OF (ONEOF (apex,
centre_of_symmetry,
geometric_alignment,
geometric_contact,
geometric_intersection,
parallel_offset,
perpendicular_to,
extension,
tangent))
SUBTYPE OF (shape_aspect);
INVERSE
deriving_relationships : SET[1:?] OF shape_aspect_deriving_relationship FOR relating_shape_aspect;
END_ENTITY;
(*
Attribute definitions:
deriving_relationships: the identification of shape_aspect_relationships that define the derived_shape_aspect. There shall exist one or more shape_aspect_relationships for the derived_shape_aspect.
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.applies_to :=: SELF;
END_ENTITY;
(*
Formal propositions:
WR1: The inherited attribute applies_to shall specify the dimensional_size_with_datum_feature itself.
An extension is a type of derived_shape_aspect that corresponds to the extension of a curve or surface shape_aspect element.
EXAMPLE Consider the rounded edge of a block as shown in figure 5. To define the square corner at this edge, the two adjacent faces are extended until they intersect. Each of these is an extension.
EXPRESS specification:
*)
ENTITY extension
SUBTYPE OF (derived_shape_aspect);
WHERE
WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1;
END_ENTITY;
(*
Formal propositions:
WR1: There shall be one member in the set of deriving_relationships.
EXPRESS specification:
*)
ENTITY feature_definition
SUBTYPE OF (characterized_object);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY general_datum_reference
ABSTRACT SUPERTYPE
OF (ONEOF (datum_reference_compartment,
datum_reference_element))
SUBTYPE OF (shape_aspect);
base : datum_or_common_datum;
modifiers :
OPTIONAL
SET[1:?] OF datum_reference_modifier;
WHERE
WR1: SELF\shape_aspect.name = '';
WR2: NOT EXISTS(SELF\shape_aspect.description);
WR3: NOT EXISTS(SELF\shape_aspect.id);
WR4: SELF\shape_aspect.product_definitional = FALSE;
WR5: NOT('SHAPE_ASPECT_DEFINITION_SCHEMA.DATUM' IN TYPEOF(base)) OR (SELF\shape_aspect.of_shape = base\shape_aspect.of_shape);
WR6: NOT('SHAPE_ASPECT_DEFINITION_SCHEMA.COMMON_DATUM_LIST' IN TYPEOF(base)) OR (SELF\shape_aspect.of_shape = base[1]\shape_aspect.of_shape);
END_ENTITY;
(*
Attribute definitions:
base: specifies the used datum or common_datum_list.
modifiers: specifies the role of the datum_reference_modifier for the general_datum_reference. There shall exist more than one datum_reference_modifier for the general_datum_reference. The value of this attribute need not be specified.
Formal propositions:
WR1: The name shall be an empty string.
WR2: The description shall not be populated.
WR3: The id shall not be populated.
WR4: A general_datum_reference is not part of the physical boundary of the product_definition_shape.
WR5: If base is a datum the inherited attribute of_shape of this instance and base shall refer to the same product_definition_shape.
WR6: If base is a common_datum_list the inherited attribute of_shape of this instance and the first element of base shall refer to the same product_definition_shape.
EXPRESS specification:
*)
ENTITY geometric_alignment
SUBTYPE OF (derived_shape_aspect);
WHERE
WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1;
END_ENTITY;
(*
Formal propositions:
WR1: There shall be two or more elements in the set of deriving_relationships.
EXAMPLE Figure 4 illustrates an axis of a cylinder as a linear feature and the face of a cutout as a planar feature. When two or more aligned parallel axes are used for the purpose of dimensioning, a plane may be established to which a dimension is attached, as shown in figure 4.
A geometric_contact is a type of derived_shape_aspect that represents the common contact region between two shape_aspects. The involved shape_aspects shall not intersect with each other.
EXPRESS specification:
*)
ENTITY geometric_contact
SUBTYPE OF (derived_shape_aspect);
WHERE
WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 2;
END_ENTITY;
(*
Formal propositions:
WR1: There shall be exactly two members in the set of deriving_relationships.
A geometric_intersection is a type of derived_shape_aspect that is the common intersection of two or more shape_aspect elements.
NOTE Since a geometric_intersection is a derived shape, the use of intersection here is independent of any specific representation.
EXAMPLE A geometric_intersection is established by the intersection of two planar extensions from the adjacent sides of the block. This geometric_intersection may be used as the participating shape_aspect in dimensioning the location of the right or bottom planar surfaces as shown in figure 5.
EXPRESS specification:
*)
ENTITY geometric_intersection
SUBTYPE OF (derived_shape_aspect);
WHERE
WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)> 1;
END_ENTITY;
(*
Formal propositions:
WR1: There shall be two or more members in the set of deriving_relationships.
Informal propositions:
IP1: The shape_aspects that participate as relating_shape_aspects shall intersect.
EXPRESS specification:
*)
ENTITY instanced_feature
SUBTYPE OF (feature_definition, shape_aspect);
WHERE
WR1: 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF (SELF.of_shape.definition);
WR2: SELF.product_definitional;
END_ENTITY;
(*
Formal propositions:
WR1: The instanced_feature shall be an aspect of the shape of a product_definition.
WR2: A instanced_feature shall lie on the physical boundary of the shape that defines the product.
A parallel_offset is a type of derived_shape_aspect that is located at a constant distance from a related_shape_aspect. If the basis is two dimensional, then all associated shape_aspect elements (the parallel offset and the basis shape aspect) lie in some common plane. If the basis is a surface, then all shape_aspect elements are embedded in three-dimensional space.
NOTE The basis shape aspect of a surface divides the space in which it is embedded into two half-spaces.
The parallel_offset is formed by the offset of each point of the basis, in a direction perpendicular to the basis by the offset distance (See figure 6).
EXAMPLE Figure 6 is a partial view of apart; not all details are shown. The shape_aspect is the basis related_shape_aspect for the parallel-offset. The offset is the distance the parallel_offset is positioned from its basis.
EXPRESS specification:
*)
ENTITY parallel_offset
SUBTYPE OF (derived_shape_aspect);
offset : measure_with_unit;
WHERE
WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1;
END_ENTITY;
(*
Attribute definitions:
offset: the distance between the parallel_offset and its basis.
Formal propositions:
WR1: There shall be one member in the set of deriving_relationships.
A perpendicular_to is a type of derived_shape_aspect that is oriented orthogonally to another shape_aspect.
NOTE The perpendicular_to need not intersect the shape_aspect from which it is established.
EXPRESS specification:
*)
ENTITY perpendicular_to
SUBTYPE OF (derived_shape_aspect);
WHERE
WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1;
END_ENTITY;
(*
Formal propositions:
WR1: There shall be one member in the set of deriving_relationships.
A referenced_modified_datum is a type of datum_reference where the referenced datum may vary within the specified limits of size.
NOTE 1 A datum may be modified if the datum_feature that produced it is a product feature which has size characteristics.
NOTE 2 The use and application of a modified datum are described in ISO 2692.
NOTE 3 The entity referenced_modified_datum is deprecated. For new implementations it is recommended that datum_reference_compartment or datum_reference_element be used.
EXPRESS specification:
*)
ENTITY referenced_modified_datum
SUBTYPE OF (datum_reference);
modifier : limit_condition;
END_ENTITY;
(*
Attribute definitions:
modifier: the limit_condition that is assigned to the datum for a specific use of that datum.
A shape_aspect_deriving_relationship is a type of shape_aspect_relationship that defines the specific association between a derived_shape_aspect and one or more shape_aspects.
NOTE The relating_shape_aspect is the derived_shape_aspect. The related_shape_aspect are the other shape_aspects that are the basis for the derived_shape_aspect.
EXPRESS specification:
*)
ENTITY shape_aspect_deriving_relationship
SUBTYPE OF (shape_aspect_relationship);
SELF\shape_aspect_relationship.relating_shape_aspect : derived_shape_aspect;
END_ENTITY;
(*
Attribute definitions:
relating_shape_aspect: an attribute inherited from the shape_aspect_relationship shall be redeclared as the derived_shape_aspect for the shape_aspect_deriving_relationship.
EXPRESS specification:
*)
ENTITY shape_representation_with_parameters
SUBTYPE OF (shape_representation);
SELF\representation.items : SET[1:?] OF shape_representation_with_parameters_items;
END_ENTITY;
(*
Attribute definitions:
items: an attribute inherited from the representation shall be redeclared as the shape_representation_with_parameters_items for the shape_representation_with_parameters. There shall exist one or more shape_representation_with_parameters_items for the shape_representation_with_parameters.
A symmetric_shape_aspect is a type of shape_aspect of a product that is symmetrical about a geometric element. It may also be a composite_shape_aspect.
EXAMPLE A cylinder is symmetric about its axis. A bolt hole pattern is a composite_shape_aspect that is symmetric about the axis of the common cylinder that intersects the centre of each hole. See figure 7.
NOTE Figure 7 illustrates a bolt hole circle pattern of four cylinders that is a composite_shape_aspect. Coincidentally, the bolt hole circle pattern is also a symmetric_shape_aspect that has a centre_of_symmetry about the axis of the common cylinder that intersects the centre of each hole. Furthermore, each hole can be as symmetric_shape_aspect when it is necessary to capture the relationship to the hole’s centre_of_symmetry.
EXPRESS specification:
*)
ENTITY symmetric_shape_aspect
SUBTYPE OF (shape_aspect);
INVERSE
basis_relationships : SET[1:?] OF shape_aspect_deriving_relationship FOR related_shape_aspect;
END_ENTITY;
(*
Attribute definitions:
basis_relationships: identifies relationships to one or more features that are symmetric about centres of symmetry, e.g., point, axis, or median plane. The relating_shape_aspect is a centre_of_symmetry. The related_shape_aspect is the symmetric_shape_aspect. There shall exist one or more shape_aspect_deriving_relationships for the symmetric_shape_aspect.
EXPRESS specification:
*)
ENTITY tangent
SUBTYPE OF (derived_shape_aspect);
WHERE
WR1: SIZEOF (SELF\derived_shape_aspect.deriving_relationships)= 1;
END_ENTITY;
(*
Formal propositions:
WR1: There shall be one member in the set of deriving_relationships.
The sads_shape_aspect_subtypes constraint specifies a constraint that applies to instances of subtypes of shape_aspect.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT sads_shape_aspect_subtypes FOR shape_aspect;
ONEOF (contacting_feature,
datum,
datum_feature,
datum_target,
datum_system,
general_datum_reference);
END_SUBTYPE_CONSTRAINT;
(*
EXPRESS specification:
*)
RULE unique_datum_system FOR
(product_definition_shape,datum_system);
LOCAL ds : SET OF datum_system := []; sa : SET OF shape_aspect := []; pass : BOOLEAN := TRUE; END_LOCAL; REPEAT ii := 1 TO SIZEOF (product_definition_shape) WHILE pass; sa := bag_to_set(USEDIN(product_definition_shape[ii], 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.' + 'SHAPE_ASPECT.' + 'OF_SHAPE')); REPEAT iii := 1 to SIZEOF (sa) WHILE pass; ds := QUERY(ds <* sa | 'SHAPE_ASPECT_DEFINITION_SCHEMA.DATUM_SYSTEM' IN TYPEOF(ds)); REPEAT i := 1 TO SIZEOF(ds); REPEAT j := 1 TO SIZEOF(ds); IF (i <> j) THEN IF ds[i]\datum_system.constituents = ds[j]\datum_system.constituents THEN pass := FALSE; END_IF; END_IF; END_REPEAT; END_REPEAT; END_REPEAT; END_REPEAT;
WHERE
WR1: pass;
END_RULE;
(*
Argument definitions:
product_definition_shape : the set of all instances of product_definition_shape.
datum_system : the set of all instances of datum_system.
Formal propositions:
WR1: The list of constituents shall be unique for a datum_system.
*)
END_SCHEMA; -- shape_aspect_definition_schema
(*
© ISO 2021 — All rights reserved