Application module: Shape feature | ISO/TS 10303-1764:2019(E) © ISO |
(*
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