| Application module: Physical unit shape with parameters | ISO/TS 10303-1730:2014-02(E) © ISO | 
         (*
ISO TC184/SC4/WG12 N8212 - ISO/TS 10303-1730 Physical unit shape with parameters - EXPRESS ARM
Supersedes 
         ISO TC184/SC4/WG12 N7607
*)
         
SCHEMA Physical_unit_shape_with_parameters_arm;
         USE FROM
         Physical_unit_usage_view_arm;
            -- ISO/TS 10303-1732
         USE FROM
         Shape_parameters_arm;
            -- ISO/TS 10303-1743
         REFERENCE FROM 
         Support_resource_arm   -- ISO/TS 10303-1800
  (bag_to_set);
         
TYPE mass_property_quality =
         
         ENUMERATION
         
         OF
         
            
         (high,
    medium,
    low,
    is_unknown);
         END_TYPE; 
         
TYPE puswp_external_identification_item =
         
         EXTENSIBLE
         
         GENERIC_ENTITY
         
         
         SELECT
         BASED_ON
         external_identification_item
         WITH 
         
            (Physical_unit_keepout_shape_model);
         END_TYPE; 
         
TYPE puswp_requirement_assignment_item =
         
         EXTENSIBLE
         
         GENERIC_ENTITY
         
         
         SELECT
         BASED_ON
         requirement_assignment_item
         WITH 
         
            (Physical_unit_keepout_shape_model, 
    Physical_unit_shape_model);
         END_TYPE; 
         
TYPE shape_approximation_level =
         
         ENUMERATION
         
         OF
         
            
         (coarse,
    detailed,
    is_unknown);
         END_TYPE; 
         
TYPE shape_extent =
         
         ENUMERATION
         
         OF
         
            
         (envelope,
    over_body,
    over_lands,
    over_breakout);
         END_TYPE; 
         
ENTITY Physical_unit_keepout_shape_model
           ABSTRACT SUPERTYPE
         
           SUBTYPE OF (Geometric_model);
           constrained_design_object_category : keepout_product_design_object_category;
           shape_characterized_definition : Part_usage_view;
           shape_material_condition : material_condition;
           shape_purpose : 
         OPTIONAL 
         predefined_keepout_purpose;
           shape_environment : application_environment;
           shape_extent : shape_extent;
           shape_approximation_level : shape_approximation_level;
           centroid_location : 
         OPTIONAL 
         Cartesian_point;
DERIVE
           principal_part_shape : SET[0:1] OF Geometric_model_relationship := bag_to_set(QUERY( gmr <* USEDIN(SELF,
         'GEOMETRIC_MODEL_RELATIONSHIP_ARM.GEOMETRIC_MODEL_RELATIONSHIP.REP_2') |
         (gmr\Representation_relationship.relation_type = 'principal part shape')));
INVERSE
           external_shape_purpose : SET[0:1] OF External_source_identification FOR item;
WHERE
           WR1: (EXISTS (shape_purpose)) XOR ((SIZEOF(external_shape_purpose)) = 1);
           WR2: SIZEOF(principal_part_shape) < 2;
         
         END_ENTITY;
ENTITY Physical_unit_shape_model
           ABSTRACT SUPERTYPE
         
           SUBTYPE OF (Geometric_model);
           shape_characterized_definition : physical_unit;
           shape_material_condition : material_condition;
           centroid_location : 
         OPTIONAL 
         Cartesian_point;
           shape_environment : application_environment;
           shape_extent : shape_extent;
           shape_approximation_level : shape_approximation_level;
           mass_property_quality : mass_property_quality;
DERIVE
           principal_part_shape : SET[0:1] OF Geometric_model_relationship := bag_to_set(QUERY( gmr <* USEDIN(SELF,
         'GEOMETRIC_MODEL_RELATIONSHIP_ARM.GEOMETRIC_MODEL_RELATIONSHIP.REP_2') |
         (gmr\Representation_relationship.relation_type = 'principal part shape')));
WHERE
           WR1: NOT ('PACKAGED_PART_BLACK_BOX_MODEL_ARM.PACKAGED_PART' IN TYPEOF(shape_characterized_definition));
           WR2: SIZEOF(QUERY( x <* USEDIN(SELF, 'PROPERTY_ASSIGNMENT_ARM.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION')
            | 'SHAPE_PROPERTY_ASSIGNMENT_ARM.SHAPE_DESCRIPTION_ASSOCIATION' IN TYPEOF(x)))=0;
           WR3: SIZEOF(principal_part_shape) < 2;
         
         END_ENTITY;
SUBTYPE_CONSTRAINT puswp_geometric_model_subtypes FOR Geometric_model;
           ONEOF (Physical_unit_keepout_shape_model,
         Physical_unit_shape_model);
      
         END_SUBTYPE_CONSTRAINT;
         END_SCHEMA;  -- Physical_unit_shape_with_parameters_arm
© ISO 2014 — All rights reserved