| Integrated generic resource: Shape variation tolerances | ISO 10303-47:2021(E)  © ISO  | 
         
         (*
ISO/TC 184/SC 4/WG 12 N9666 - ISO 10303-47 Shape variation tolerances - EXPRESS
Supersedes 
         ISO/TC 184/SC 4/WG 12 N7297
*)
         
            SCHEMA shape_dimension_schema;
         REFERENCE FROM 
         basic_attribute_schema   -- ISO 10303-41
  (get_id_value,
           
         id_attribute,
           
         id_attribute_select);
         
         REFERENCE FROM 
         measure_schema   -- ISO 10303-41
  (measure_with_unit);
         
         REFERENCE FROM 
         product_property_definition_schema   -- ISO 10303-41
  (shape_aspect,
           
         shape_aspect_relationship);
         
         REFERENCE FROM 
         product_property_representation_schema   -- ISO 10303-41
  (item_identified_representation_usage_definition,
           
         shape_representation);
         
         REFERENCE FROM 
         qualified_measure_schema   -- ISO 10303-45
  (descriptive_representation_item,
           
         measure_representation_item,
           
         qualified_representation_item);
         
         REFERENCE FROM 
         representation_schema   -- ISO 10303-43
  (representation,
           
         compound_representation_item);
         
         REFERENCE FROM 
         support_resource_schema   -- ISO 10303-41
  (identifier,
           
         label,
           
         text);
         
         REFERENCE FROM 
         geometry_schema   -- ISO 10303-42
  (placement);
         
TYPE angle_relator =
         
         ENUMERATION
         
         OF
         
            
         (equal,
    large,
    small);
         END_TYPE; 
         
TYPE dimensional_characteristic =
         
         
         SELECT
            (dimensional_location, 
    dimensional_size);
         END_TYPE; 
         
TYPE sd_id_attribute_select =
         
         
         SELECT
         BASED_ON
         id_attribute_select
         WITH 
         
            (dimensional_size);
         END_TYPE; 
         
TYPE sds_item_identified_representation_usage_definition =
         
         EXTENSIBLE
         
         GENERIC_ENTITY
         
         
         SELECT
         BASED_ON
         item_identified_representation_usage_definition
         WITH 
         
            (dimensional_size);
         END_TYPE; 
         
TYPE shape_dimension_representation_item =
         
         
         SELECT
            (compound_representation_item, 
    descriptive_representation_item, 
    measure_representation_item, 
    placement);
         END_TYPE; 
         
ENTITY angular_location
           SUBTYPE OF (dimensional_location);
           angle_selection : angle_relator;
         
         END_ENTITY;
ENTITY angular_size
           SUBTYPE OF (dimensional_size);
           angle_selection : angle_relator;
         
         END_ENTITY;
ENTITY dimensional_characteristic_representation;
           dimension : dimensional_characteristic;
           representation : shape_dimension_representation;
         
         END_ENTITY;
ENTITY dimensional_location
           SUPERTYPE OF 
         (ONEOF (angular_location,
                       dimensional_location_with_path))
           SUBTYPE OF (shape_aspect_relationship);
WHERE
           WR1: SELF\shape_aspect_relationship.relating_shape_aspect :<>: SELF\shape_aspect_relationship.related_shape_aspect;
           WR2: SELF\shape_aspect_relationship.relating_shape_aspect.of_shape :=: SELF\shape_aspect_relationship.related_shape_aspect.of_shape;
         
         END_ENTITY;
ENTITY dimensional_location_with_path
           SUBTYPE OF (dimensional_location);
           path : shape_aspect;
         
         END_ENTITY;
ENTITY dimensional_size
           SUPERTYPE OF 
         (ONEOF (angular_size,
                       dimensional_size_with_path));
           applies_to : shape_aspect;
           name : label;
DERIVE
           id : identifier := get_id_value(SELF);
UNIQUE
           UR1: id, applies_to;
WHERE
           WR1: applies_to.product_definitional = TRUE;
           WR2: SIZEOF(USEDIN(SELF, 'BASIC_ATTRIBUTE_SCHEMA.' + 'ID_ATTRIBUTE.IDENTIFIED_ITEM')) <= 1;
         
         END_ENTITY;
ENTITY dimensional_size_with_path
           SUBTYPE OF (dimensional_size);
           path : shape_aspect;
         
         END_ENTITY;
ENTITY directed_dimensional_location
           SUBTYPE OF (dimensional_location);
         
         END_ENTITY;
ENTITY shape_dimension_representation
           SUBTYPE OF (shape_representation);
           SELF\representation.items : SET[1:?] OF shape_dimension_representation_item;
         
         END_ENTITY;
         END_SCHEMA;  -- shape_dimension_schema
© ISO 2021 — All rights reserved