Application module: Shape feature ISO/TS 10303-1764:2019(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
   4.3 ARM entity definitions
   4.4 ARM subtype constraint definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM entity definitions

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

(*
ISO/TC 184/SC 4/WG 12 N10170 - ISO/TS 10303-1764 Shape feature - EXPRESS MIM
Supersedes ISO/TC 184/SC 4/WG 12 N9876
*)



SCHEMA Shape_feature_mim;

USE FROM machining_feature_schema   -- ISO/DIS 10303-113
  (feature_component_relationship,
   shape_defining_relationship);

USE FROM Characterizable_object_mim;    -- ISO/TS 10303-1765

USE FROM Contextual_shape_positioning_mim;    -- ISO/TS 10303-1027

USE FROM product_property_definition_schema   -- ISO 10303-41
  (characterized_object_relationship,
   constituent_shape_aspect);

USE FROM Property_assignment_mim;    -- ISO/TS 10303-1030

USE FROM shape_aspect_definition_schema   -- ISO 10303-47
  (composite_shape_aspect,
   feature_definition,
   instanced_feature);

REFERENCE FROM product_property_definition_schema   -- ISO 10303-41
  (get_shape_aspects);

REFERENCE FROM product_property_representation_schema   -- ISO 10303-41
  (get_property_definition_representations);


ENTITY general_feature
  SUBTYPE OF (shape_feature_definition);
WHERE
  WR1: (SIZEOF(get_property_definition_representations(SELF)) <= 1) AND (SIZEOF( QUERY( pdr <* get_property_definition_representations(SELF) | 'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(pdr.used_representation) )) <= 1);
  WR2: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | sa.description = 'course of travel occurrence')) = SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | (sa.description = 'course of travel occurrence') AND (SIZEOF( QUERY( sar <* USEDIN( sa, 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.name = 'course of travel') )) = 1 )));
  WR3: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | sa.description = 'course of travel occurrence')) = SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | (sa.description = 'course of travel occurrence') AND (SIZEOF( QUERY( sar <* USEDIN( sa, 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND ('SHAPE_FEATURE_MIM.PATH_FEATURE_COMPONENT' IN TYPEOF(sar.relating_shape_aspect)) )) = 1 )));
  WR4: SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | sa.description = 'boundary occurrence')) = SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | (sa.description = 'boundary occurrence') AND (SIZEOF( QUERY( sar <* USEDIN( sa, 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') | ('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF(sar)) AND (sar.description = 'profile usage') )) = 1 )));
  WR5: (SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | ('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)) )) <= 1 ) AND (SIZEOF( QUERY( sa <* get_shape_aspects(SELF) | ('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN TYPEOF(sa)) AND (sa.name = 'general compound feature') AND (SIZEOF( QUERY( sar <* USEDIN( sa, 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') | ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP' IN TYPEOF(sar)) AND ('SHAPE_ASPECT_DEFINITION_SCHEMA.INSTANCED_FEATURE' IN TYPEOF(sar.related_shape_aspect)) )) >= 2 ) )) <= 1 );
END_ENTITY;

ENTITY placed_feature
  SUBTYPE OF (shape_aspect);
END_ENTITY;

ENTITY shape_feature_definition
  SUBTYPE OF (feature_definition);
END_ENTITY;

ENTITY shape_feature_definition_element_relationship
  SUBTYPE OF (shape_aspect_relationship, characterized_object);
DERIVE
  SELF\characterized_object.name : label := SELF\shape_aspect_relationship.name;
  SELF\characterized_object.description : text := SELF\shape_aspect_relationship.description;
END_ENTITY;

ENTITY shape_feature_definition_relationship
  SUBTYPE OF (characterized_object_relationship, characterized_object);
  SELF\characterized_object_relationship.relating_object : shape_feature_definition;
  SELF\characterized_object_relationship.related_object : shape_feature_definition;
DERIVE
  SELF\characterized_object.name : label := SELF\characterized_object_relationship.name;
  SELF\characterized_object.description : text := SELF\characterized_object_relationship.description;
END_ENTITY;

END_SCHEMA;  -- Shape_feature_mim


© ISO 2019 — All rights reserved