| Integrated application resource: Mechanical features | ISO 10303-113:2021(E)  © ISO  | 
         
         (*
ISO/TC 184/SC 4/WG 12 N10931 - ISO 10303-113 Mechanical features - EXPRESS
Supersedes 
         ISO/TC 184/SC 4/WG 12 N10599
*)
         
            SCHEMA counterbore_countersink_schema;
         REFERENCE FROM 
         geometry_schema   -- ISO 10303-42
  (axis2_placement_3d);
         
         REFERENCE FROM 
         machining_feature_schema   -- ISO 10303-113
  (composite_hole,
           
         round_hole);
         
         REFERENCE FROM 
         measure_schema   -- ISO 10303-41
  (length_measure_with_unit,
           
         plane_angle_measure_with_unit,
           
         positive_length_measure_with_unit,
           
         positive_plane_angle_measure_with_unit);
         
         REFERENCE FROM 
         product_definition_schema   -- ISO 10303-41
  (product_definition);
         
         REFERENCE FROM 
         product_property_definition_schema   -- ISO 10303-41
  (characterized_object,
           
         property_definition,
           
         shape_aspect,
           
         shape_aspect_occurrence);
         
         REFERENCE FROM 
         product_property_representation_schema   -- ISO 10303-41
  (item_identified_representation_usage,
           
         item_identified_representation_usage_definition,
           
         shape_representation);
         
         REFERENCE FROM 
         product_structure_schema   -- ISO 10303-44
  (multi_level_reference_designator);
         
         REFERENCE FROM 
         representation_schema   -- ISO 10303-43
  (representation);
         
         REFERENCE FROM 
         shape_tolerance_schema   -- ISO 10303-47
  (limits_and_fits,
           
         tolerance_value);
         
TYPE ccs_item_identified_representation_usage_definition =
         
         
         SELECT
         BASED_ON
         item_identified_representation_usage_definition
         WITH 
         
            (characterized_object);
         END_TYPE; 
         
TYPE tolerance_value_or_limits_and_fits =
         
         
         SELECT
            (tolerance_value, 
    limits_and_fits);
         END_TYPE; 
         
ENTITY basic_round_hole
           SUBTYPE OF (round_hole);
           depth : 
         OPTIONAL 
         positive_length_measure_with_unit;
           depth_tolerance : 
         OPTIONAL 
         tolerance_value;
           diameter : positive_length_measure_with_unit;
           diameter_tolerance : 
         OPTIONAL 
         tolerance_value_or_limits_and_fits;
           placement : shape_representation;
           through_hole : BOOLEAN;
WHERE
           WR1: SIZEOF(placement\representation.items) = 1;
           WR2: SIZEOF(QUERY( ri <* placement\representation.items |
            ('GEOMETRY_SCHEMA.AXIS2_PLACEMENT_3D' IN TYPEOF (ri))
            )) = 1;
           WR3: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(depth_tolerance\tolerance_value.lower_bound);
           WR4: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(depth_tolerance\tolerance_value.upper_bound);
           WR5: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(diameter_tolerance\tolerance_value.lower_bound));
           WR6: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(diameter_tolerance\tolerance_value.upper_bound));
           WR7: through_hole XOR EXISTS(depth);
         
         END_ENTITY;
ENTITY basic_round_hole_occurrence
           SUBTYPE OF (shape_aspect_occurrence);
           SELF\shape_aspect_occurrence.definition : basic_round_hole;
WHERE
           WR1: 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF(SELF\shape_aspect.of_shape\property_definition.definition);
           WR2: SELF\shape_aspect.product_definitional = TRUE;
         
         END_ENTITY;
ENTITY basic_round_hole_occurrence_in_assembly
           SUBTYPE OF (basic_round_hole_occurrence);
           modified_components : LIST[1:?] OF 
         UNIQUE
         multi_level_reference_designator;
         
         END_ENTITY;
ENTITY counterbore_hole_definition
           SUBTYPE OF (explicit_composite_hole);
           counterbore : LIST[1:?] OF 
         UNIQUE
         explicit_round_hole;
           drilled_hole_depth : 
         OPTIONAL 
         positive_length_measure_with_unit;
           drilled_hole_depth_tolerance : 
         OPTIONAL 
         tolerance_value;
           drilled_hole_diameter : positive_length_measure_with_unit;
           drilled_hole_diameter_tolerance : 
         OPTIONAL 
         tolerance_value_or_limits_and_fits;
           through_hole : BOOLEAN;
WHERE
           WR1: through_hole XOR EXISTS(drilled_hole_depth);
           WR2: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_depth_tolerance\tolerance_value.lower_bound);
           WR3: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_depth_tolerance\tolerance_value.upper_bound);
           WR4: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(drilled_hole_diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_diameter_tolerance\tolerance_value.lower_bound));
           WR5: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(drilled_hole_diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_diameter_tolerance\tolerance_value.upper_bound));
         
         END_ENTITY;
ENTITY counterbore_hole_occurrence
           SUBTYPE OF (shape_aspect_occurrence);
           SELF\shape_aspect_occurrence.definition : counterbore_hole_definition;
WHERE
           WR1: 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF(SELF\shape_aspect.of_shape\property_definition.definition);
           WR2: SELF\shape_aspect.product_definitional = TRUE;
         
         END_ENTITY;
ENTITY counterbore_hole_occurrence_in_assembly
           SUBTYPE OF (counterbore_hole_occurrence);
           modified_components : LIST[1:?] OF 
         UNIQUE
         multi_level_reference_designator;
         
         END_ENTITY;
ENTITY counterdrill_hole_definition
           SUBTYPE OF (explicit_composite_hole);
           counterbore : explicit_round_hole;
           counterdrill_angle : positive_plane_angle_measure_with_unit;
           counterdrill_angle_tolerance : 
         OPTIONAL 
         tolerance_value;
           drilled_hole_depth : 
         OPTIONAL 
         positive_length_measure_with_unit;
           drilled_hole_depth_tolerance : 
         OPTIONAL 
         tolerance_value;
           drilled_hole_diameter : positive_length_measure_with_unit;
           drilled_hole_diameter_tolerance : 
         OPTIONAL 
         tolerance_value_or_limits_and_fits;
           through_hole : BOOLEAN;
WHERE
           WR1: through_hole XOR EXISTS(drilled_hole_depth);
           WR2: 'MEASURE_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT' IN TYPEOF(counterdrill_angle_tolerance\tolerance_value.lower_bound);
           WR3: 'MEASURE_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT' IN TYPEOF(counterdrill_angle_tolerance\tolerance_value.upper_bound);
           WR4: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_depth_tolerance\tolerance_value.lower_bound);
           WR5: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_depth_tolerance\tolerance_value.upper_bound);
           WR6: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(drilled_hole_diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_diameter_tolerance\tolerance_value.lower_bound));
           WR7: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(drilled_hole_diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_diameter_tolerance\tolerance_value.upper_bound));
         
         END_ENTITY;
ENTITY counterdrill_hole_occurrence
           SUBTYPE OF (shape_aspect_occurrence);
           SELF\shape_aspect_occurrence.definition : counterdrill_hole_definition;
WHERE
           WR1: 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF(SELF\shape_aspect.of_shape\property_definition.definition);
           WR2: SELF\shape_aspect.product_definitional = TRUE;
         
         END_ENTITY;
ENTITY counterdrill_hole_occurrence_in_assembly
           SUBTYPE OF (counterdrill_hole_occurrence);
           modified_components : LIST[1:?] OF 
         UNIQUE
         multi_level_reference_designator;
         
         END_ENTITY;
ENTITY countersink_hole_definition
           SUBTYPE OF (explicit_composite_hole);
           countersink_angle : positive_plane_angle_measure_with_unit;
           countersink_angle_tolerance : 
         OPTIONAL 
         tolerance_value;
           countersink_diameter : positive_length_measure_with_unit;
           countersink_diameter_tolerance : 
         OPTIONAL 
         tolerance_value_or_limits_and_fits;
           drilled_hole_depth : 
         OPTIONAL 
         positive_length_measure_with_unit;
           drilled_hole_depth_tolerance : 
         OPTIONAL 
         tolerance_value;
           drilled_hole_diameter : positive_length_measure_with_unit;
           drilled_hole_diameter_tolerance : 
         OPTIONAL 
         tolerance_value_or_limits_and_fits;
           through_hole : BOOLEAN;
WHERE
           WR1: through_hole XOR EXISTS(drilled_hole_depth);
           WR2: 'MEASURE_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT' IN TYPEOF(countersink_angle_tolerance\tolerance_value.lower_bound);
           WR3: 'MEASURE_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT' IN TYPEOF(countersink_angle_tolerance\tolerance_value.upper_bound);
           WR4: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(countersink_diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(countersink_diameter_tolerance\tolerance_value.lower_bound));
           WR5: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(countersink_diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(countersink_diameter_tolerance\tolerance_value.upper_bound));
           WR6: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_depth_tolerance\tolerance_value.lower_bound);
           WR7: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_depth_tolerance\tolerance_value.upper_bound);
           WR8: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(drilled_hole_diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_diameter_tolerance\tolerance_value.lower_bound));
           WR9: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(drilled_hole_diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(drilled_hole_diameter_tolerance\tolerance_value.upper_bound));
         
         END_ENTITY;
ENTITY countersink_hole_occurrence
           SUBTYPE OF (shape_aspect_occurrence);
           SELF\shape_aspect_occurrence.definition : countersink_hole_definition;
WHERE
           WR1: 'PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION' IN TYPEOF(SELF\shape_aspect.of_shape\property_definition.definition);
           WR2: SELF\shape_aspect.product_definitional = TRUE;
         
         END_ENTITY;
ENTITY countersink_hole_occurrence_in_assembly
           SUBTYPE OF (countersink_hole_occurrence);
           modified_components : LIST[1:?] OF 
         UNIQUE
         multi_level_reference_designator;
         
         END_ENTITY;
ENTITY explicit_composite_hole
           SUBTYPE OF (composite_hole);
           placement : shape_representation;
INVERSE
           explicit_shape : SET[0:?] OF item_identified_representation_usage FOR definition;
WHERE
           WR1: SIZEOF(QUERY( ri <* placement\representation.items |
            ('GEOMETRY_SCHEMA.AXIS2_PLACEMENT_3D' IN TYPEOF (ri))
            )) = 1;
           WR2: (SIZEOF(explicit_shape) = 0) OR 
            (SIZEOF(QUERY(es <* explicit_shape |
            NOT (placement = es\item_identified_representation_usage.used_representation)
            )) = 0);
         
         END_ENTITY;
ENTITY explicit_round_hole
           SUBTYPE OF (round_hole);
           depth : positive_length_measure_with_unit;
           depth_tolerance : 
         OPTIONAL 
         tolerance_value;
           diameter : positive_length_measure_with_unit;
           diameter_tolerance : 
         OPTIONAL 
         tolerance_value_or_limits_and_fits;
           placement : shape_representation;
WHERE
           WR1: SIZEOF(QUERY( ri <* placement\representation.items |
            ('GEOMETRY_SCHEMA.AXIS2_PLACEMENT_3D' IN TYPEOF (ri))
            )) = 1;
           WR2: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(depth_tolerance\tolerance_value.lower_bound);
           WR3: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(depth_tolerance\tolerance_value.upper_bound);
           WR4: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(diameter_tolerance\tolerance_value.lower_bound));
           WR5: NOT('SHAPE_TOLERANCE_SCHEMA.TOLERANCE_VALUE' IN TYPEOF(diameter_tolerance)) OR
            ('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(diameter_tolerance\tolerance_value.upper_bound));
         
         END_ENTITY;
ENTITY simplified_counterbore_hole_definition
           SUBTYPE OF (counterbore_hole_definition);
WHERE
           WR1: SIZEOF(SELF\explicit_composite_hole.placement\representation.items) = 1;
         
         END_ENTITY;
ENTITY simplified_counterdrill_hole_definition
           SUBTYPE OF (counterdrill_hole_definition);
WHERE
           WR1: SIZEOF(SELF\explicit_composite_hole.placement\representation.items) = 1;
         
         END_ENTITY;
ENTITY simplified_countersink_hole_definition
           SUBTYPE OF (countersink_hole_definition);
WHERE
           WR1: SIZEOF(SELF\explicit_composite_hole.placement\representation.items) = 1;
         
         END_ENTITY;
ENTITY simplified_spotface_hole_definition
           SUBTYPE OF (spotface_hole_definition, simplified_counterbore_hole_definition);
         
         END_ENTITY;
ENTITY spotface_definition
           SUBTYPE OF (explicit_round_hole);
           spotface_radius : positive_length_measure_with_unit;
           spotface_radius_tolerance : 
         OPTIONAL 
         tolerance_value;
WHERE
           WR1: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(spotface_radius_tolerance\tolerance_value.lower_bound);
           WR2: 'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT' IN TYPEOF(spotface_radius_tolerance\tolerance_value.upper_bound);
         
         END_ENTITY;
ENTITY spotface_hole_definition
           SUBTYPE OF (counterbore_hole_definition);
           SELF\counterbore_hole_definition.counterbore RENAMED spotface : LIST[1:?] OF 
         UNIQUE
         spotface_definition;
         
         END_ENTITY;
ENTITY spotface_occurrence
           SUBTYPE OF (counterbore_hole_occurrence);
           SELF\counterbore_hole_occurrence.definition : spotface_hole_definition;
         
         END_ENTITY;
ENTITY spotface_occurrence_in_assembly
           SUBTYPE OF (counterbore_hole_occurrence_in_assembly);
           SELF\counterbore_hole_occurrence.definition : spotface_hole_definition;
         
         END_ENTITY;
SUBTYPE_CONSTRAINT round_hole_subtypes FOR round_hole;
           ONEOF (basic_round_hole,
         explicit_round_hole);
      
         END_SUBTYPE_CONSTRAINT;
         END_SCHEMA;  -- counterbore_countersink_schema
© ISO 2021 — All rights reserved