Source : ISO 10303-113
SCHEMA machining_feature_schema;
REFERENCE FROM
counterbore_countersink_schema -- ISO 10303-113
(explicit_composite_hole,
explicit_round_hole);
REFERENCE FROM
external_reference_schema -- ISO 10303-41
(externally_defined_item);
REFERENCE FROM
geometry_schema -- ISO 10303-42
(bounded_curve,
direction,
plane,
placement,
point);
REFERENCE FROM
measure_schema -- ISO 10303-41
(count_measure,
length_measure_with_unit,
measure_with_unit,
named_unit,
plane_angle_measure_with_unit,
ratio_measure_with_unit);
REFERENCE FROM
product_definition_schema -- ISO 10303-41
(product_definition);
REFERENCE FROM
product_property_definition_schema -- ISO 10303-41
(characterized_object,
product_definition_shape,
property_definition,
shape_aspect,
shape_aspect_relationship);
REFERENCE FROM
product_property_representation_schema -- ISO 10303-41
(get_property_definition_representations,
property_definition_representation,
shape_representation);
REFERENCE FROM
qualified_measure_schema -- ISO 10303-45
(descriptive_representation_item,
measure_representation_item);
REFERENCE FROM
shape_aspect_definition_schema -- ISO 10303-47
(composite_shape_aspect,
feature_definition,
instanced_feature,
shape_representation_with_parameters);
REFERENCE FROM
topology_schema -- ISO 10303-42
(edge_curve,
face_surface,
oriented_face,
path);
TYPE machining_feature_definition =
SELECT
(boss,
compound_feature,
externally_defined_feature_definition,
flat_face,
gear,
marking,
outer_round,
outside_profile,
pocket,
protrusion,
removal_volume,
replicate_feature,
revolved_profile,
rib_top,
round_hole,
rounded_end,
spherical_cap,
step,
slot,
thread,
turned_knurl);
END_TYPE;
ENTITY applied_area
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(SELF.of_shape));
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
used_representation)) ) |
(NOT({2 <= SIZEOF(impl_rep.used_representation.items) <= 3} )
) )) = 0)) )) = 0);
WR4: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
NOT (srwp_i.name IN ['orientation','effective length',
'maximum length']) )) > 0 ) )) = 0 ) )) = 0;
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'effective length')) )) = 1)) ))
= 0)) )) <= 1);
WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'maximum length')) )) <= 1)) ))
= 0)) )) = 0);
WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('GEOMETRY_SCHEMA.PLACEMENT'
IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) ))
= 0)) )) = 0);
END_ENTITY;
ENTITY boss
SUBTYPE OF (feature_definition);
WHERE
WR1: SELF\characterized_object.description IN
['circular', 'complex', 'rectangular'];
WR2: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'boss height occurrence') AND
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'path feature component usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) |
('TOPOLOGY_SCHEMA.PATH_FEATURE_COMPONENT' IN
TYPEOF (sdr.relating_shape_aspect)) AND
(sdr.relating_shape_aspect.description = 'linear') AND
(sdr.name = 'boss height'))) = 1))) = 1))) = 0;
WR3: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
({1 <= SIZEOF(pdr.used_representation.items) <= 2} ) )) = 1 )) = 1;
WR4: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN
TYPEOF(pdr.used_representation)) AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
(srwp_i.name = 'orientation') OR
(srwp_i.name = 'fillet radius')))
= SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1;
WR5: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF (
['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'fillet radius'))) <= 1)))
= 0))) = 0;
WR6: (NOT (SELF\characterized_object.description = 'circular')) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'circular profile occurrence') AND
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF (sar))) |
'MACHINING_FEATURE_SCHEMA.CIRCULAR_CLOSED_PROFILE'
IN TYPEOF (sdr.relating_shape_aspect))) = 1))) = 1))) = 0);
WR7: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) |
(NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'top condition occurrence') AND
(SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'boss top usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar))) ) | (('MACHINING_FEATURE_SCHEMA.BOSS_TOP'
IN TYPEOF(fcr.relating_shape_aspect)) ) )) = 1)) )) = 1)) )) = 0;
WR8: (NOT (SELF\characterized_object.description = 'circular')) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'change in diameter occurrence') AND
(SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'taper usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF (sar))) |
(('MACHINING_FEATURE_SCHEMA.TAPER' IN TYPEOF (fcr.related_shape_aspect))
AND
('MACHINING_FEATURE_SCHEMA.BOSS' IN TYPEOF (fcr.relating_shape_aspect)))
) )= 1))) <= 1))) = 0);
WR9: (NOT (SELF\characterized_object.description = 'complex')) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'enclosed boundary occurrence') AND
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF (sar))) |
SIZEOF (['MACHINING_FEATURE_SCHEMA.NGON_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.CLOSED_PATH_PROFILE'] *
TYPEOF (sdr.relating_shape_aspect)) = 1)) = 1)))= 1))) = 0);
WR10: (NOT (SELF\characterized_object.description
IN ['complex','rectangular'])) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'change in boundary occurrence') AND
(SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
(sar.description = 'taper usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF (sar))) |
(('MACHINING_FEATURE_SCHEMA.TAPER' IN TYPEOF (fcr.related_shape_aspect))
AND
('MACHINING_FEATURE_SCHEMA.BOSS' IN TYPEOF (fcr.relating_shape_aspect))
AND
(fcr.related_shape_aspect.description IN
['angle taper','directed taper']))
)) = 1))) <= 1))) = 0);
WR11: (NOT (SELF\characterized_object.description = 'rectangular')) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'rectangular profile occurrence') AND
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF (sar))) |
'MACHINING_FEATURE_SCHEMA.RECTANGULAR_CLOSED_PROFILE'
IN TYPEOF (sdr.relating_shape_aspect))) = 1))) = 1))) = 0);
WR12: SIZEOF (QUERY(pdr <* get_property_definition_representations (SELF) |
( 'MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF ( pdr.used_representation ) ) AND
( pdr.used_representation.name ='maximum feature limit'))) >=0;
END_ENTITY;
ENTITY boss_top
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.of_shape.definition));
WR2: (SELF.description IN ['planar','complex']);
WR3: ((NOT (SELF.description = 'planar')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.DIRECTION_SHAPE_REPRESENTATION')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0));
WR4: ((NOT (SELF.description = 'planar')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.LOCATION_SHAPE_REPRESENTATION')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0));
WR5: (NOT (SELF.description = 'complex')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION')
IN TYPEOF(pdr.used_representation) )) = 1)) )) = 0);
WR6: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.' +
'RELATING_SHAPE_ASPECT') |
((sar.description = 'boss top usage') AND
(sar.name IN ['boss height start','boss height end']))AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar))) |
((fcr.related_shape_aspect.description = 'top condition occurrence')
AND
('MACHINING_FEATURE_SCHEMA.BOSS'
IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND
('MACHINING_FEATURE_SCHEMA.BOSS_TOP'
IN TYPEOF(fcr.relating_shape_aspect)) )
)) >= 1);
WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) <= 1)) )) = 0);
WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 1)) ))
= 0)) )) = 0);
WR9: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF (
['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'top radius'))) <= 1)))
= 0))) = 0;
END_ENTITY;
ENTITY chamfer
SUBTYPE OF (transition_feature);
WHERE
WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'chamfer face')) )) <= 1)) )) = 0);
WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) ) |
(('MACHINING_FEATURE_SCHEMA.CHAMFER_OFFSET'
IN TYPEOF(fcr.related_shape_aspect))AND
('MACHINING_FEATURE_SCHEMA.CHAMFER'
IN TYPEOF(fcr.relating_shape_aspect)) AND
(fcr.related_shape_aspect.description = 'first offset') )
)) = 1);
WR3: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) ) |
(('MACHINING_FEATURE_SCHEMA.CHAMFER_OFFSET'
IN TYPEOF(fcr.related_shape_aspect)) AND
('MACHINING_FEATURE_SCHEMA.CHAMFER'
IN TYPEOF(fcr.relating_shape_aspect))AND
(fcr.related_shape_aspect.description = 'second offset'))
)) = 1);
END_ENTITY;
ENTITY chamfer_offset
SUBTYPE OF (shape_aspect);
WHERE
WR1: (SELF.description IN ['first offset','second offset']);
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 1)) ))
= 0)) )) = 0);
WR4: ((NOT (SELF.description = 'first offset')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'offset amount')) )) = 1)) ))
= 0)) )) = 0));
WR5: ((NOT (SELF.description = 'first offset')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'first face shape')) )) <= 1)) ))
= 0));
WR6: ((NOT (SELF.description = 'second offset')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'offset amount')) OR
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']
* TYPEOF(it)) = 2) AND (it.name = 'offset angle'))) )) = 1)) ))
= 0)) )) = 0));
WR7: ((NOT (SELF.description = 'second offset')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'second face shape')) )) <= 1)) ))
= 0));
WR8: (SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP')
IN TYPEOF(sar)) ) |
(('MACHINING_FEATURE_SCHEMA.CHAMFER'
IN TYPEOF(sdr.relating_shape_aspect))AND
('MACHINING_FEATURE_SCHEMA.CHAMFER_OFFSET'
IN TYPEOF(sdr.related_shape_aspect)))
)) = 1);
END_ENTITY;
ENTITY circular_closed_profile
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.of_shape.definition));
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 2)) ))
= 0)) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
NOT(SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('GEOMETRY_SCHEMA.PLACEMENT'
IN TYPEOF(it))
AND (it.name = 'orientation')) )) = 1) )) = 0)) )) = 0);
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) = 1)) ))
= 0)) )) = 0);
END_ENTITY;
ENTITY circular_pattern
SUBTYPE OF (replicate_feature);
WHERE
WR1: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN
(pds,'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATING_SHAPE_ASPECT') |
((('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP')
IN TYPEOF(sar))) ) |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT'
IN TYPEOF(sdr.related_shape_aspect)) )) = 1)) )) <= 3)) )) = 0);
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT ((SIZEOF (impl_rep.used_representation.items) >= 3)
AND (SIZEOF(impl_rep.used_representation.items) <= 5))) ))
= 0)) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF(
['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) <= 1)) ))
= 0)) )) = 0);
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF(
['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'base feature rotation')) ))
<= 1)) )) = 0)) )) = 0);
WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND
('MEASURE_SCHEMA.COUNT_MEASURE'
IN TYPEOF(it\measure_with_unit.value_component)) AND
(it.name = 'number of features')) )) = 1)) )) = 0)) )) = 0);
WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF(
['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'angular spacing'))))= 1)) ))
= 0)) )) = 0);
WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('GEOMETRY_SCHEMA.PLACEMENT'
IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) ))
= 0)) )) = 0);
END_ENTITY;
ENTITY closed_path_profile
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.of_shape.definition));
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 1)) ))
= 0)) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('GEOMETRY_SCHEMA.PLACEMENT'
IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) ))
= 0)) )) = 0);
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('TOPOLOGY_SCHEMA.PATH_SHAPE_REPRESENTATION')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
END_ENTITY;
ENTITY composite_hole
SUBTYPE OF (compound_feature);
WHERE
WR1: ('COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_COMPOSITE_HOLE' IN TYPEOF(SELF)) XOR
(SELF\characterized_object.description IN ['counterbore',
'countersunk']);
WR2: ('COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_COMPOSITE_HOLE' IN TYPEOF(SELF)) XOR
(SIZEOF(QUERY ( pds <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT'
IN TYPEOF(csa)) AND
(SIZEOF(QUERY ( sar <* csa.component_relationships |
((('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) AND ('MACHINING_FEATURE_SCHEMA.ROUND_HOLE'
IN TYPEOF(sar.related_shape_aspect)))
))) = 2)) )) = 1)) )) = 1);
WR3: ('COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_COMPOSITE_HOLE' IN TYPEOF(SELF)) XOR
((NOT (SELF\characterized_object.description = 'countersunk')) OR
(SIZEOF(QUERY ( pds <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pds)) AND
(SIZEOF(QUERY ( csa <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT'
IN TYPEOF(csa)) AND
(SIZEOF(QUERY ( sar <* csa.component_relationships |
(('MACHINING_FEATURE_SCHEMA.ROUND_HOLE'
IN TYPEOF(sar.related_shape_aspect)) AND
(NOT (SIZEOF(QUERY ( pds <* QUERY ( pd <*
USEDIN(sar.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) |
(NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'change in diameter occurrence') AND
(SIZEOF(QUERY ( fcr2 <* QUERY ( sar2 <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
((sar2.description = 'taper usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar2))) ) |
('MACHINING_FEATURE_SCHEMA.TAPER' IN TYPEOF(fcr2.related_shape_aspect))
)) = 1)) )) = 0)) )) = 0))) )) = 1)) )) = 1)) )) = 1));
END_ENTITY;
ENTITY compound_feature
SUBTYPE OF (feature_definition);
WHERE
WR1: ('COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_COMPOSITE_HOLE' IN TYPEOF(SELF)) XOR
(SIZEOF( QUERY( pds <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pds)) AND
(SIZEOF( QUERY( csa <* USEDIN( pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((csa.name='compound feature in solid') AND
('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT'
IN TYPEOF(csa))) )) = 1) )) = 1);
WR2: ('COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_COMPOSITE_HOLE' IN TYPEOF(SELF)) XOR
(SIZEOF( QUERY( pds <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pds)) AND
(SIZEOF( QUERY( csa <* USEDIN( pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT'
IN TYPEOF(csa) )) = 1) )) = 1);
WR3: ('COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_COMPOSITE_HOLE' IN TYPEOF(SELF)) XOR
(SIZEOF(QUERY ( pds <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT'
IN TYPEOF(csa)) AND
(SIZEOF(QUERY ( fcr <* csa.component_relationships |
(NOT ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(fcr))) )) = 0)) )) = 1)) )) = 1);
WR4: ('COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_COMPOSITE_HOLE' IN TYPEOF(SELF)) XOR
(SIZEOF (QUERY (pds <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')|
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pds)) AND
(SIZEOF (QUERY (csa <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE')|
('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT'
IN TYPEOF (csa)) )) = 1) )) = 1);
WR5: ('COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_COMPOSITE_HOLE' IN TYPEOF(SELF)) XOR
(SIZEOF(QUERY ( pds <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pds)) AND
(SIZEOF(QUERY ( csa <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT'
IN TYPEOF(csa)) AND
(SIZEOF(QUERY ( sar <* csa.component_relationships |
('MACHINING_FEATURE_SCHEMA.THREAD'
IN TYPEOF(sar.related_shape_aspect)) )) = 0)
) )) = 1)) )) = 1);
WR6: ('COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_COMPOSITE_HOLE' IN TYPEOF(SELF)) XOR
(SIZEOF (QUERY (pds <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')|
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pds)) AND (SIZEOF (QUERY (csa <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE')|
('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT'
IN TYPEOF (csa)) AND
(SIZEOF (QUERY (sar <* csa.component_relationships |
(('MACHINING_FEATURE_SCHEMA.COMPOUND_FEATURE'
IN TYPEOF (sar.related_shape_aspect)) AND
(sar.related_shape_aspect\characterized_object.name <>
SELF\characterized_object.name)) )) = 0) )) = 1) )) = 1);
END_ENTITY;
ENTITY direction_shape_representation
SUBTYPE OF (shape_representation);
WHERE
WR1: (SIZEOF(SELF.items) = 1);
WR2: (SIZEOF(QUERY ( it <* SELF.items |
(NOT (
'MACHINING_FEATURE_SCHEMA.DIRECTION' IN TYPEOF(it))) ))
= 0);
END_ENTITY;
ENTITY edge_round
SUBTYPE OF (transition_feature);
WHERE
WR1: (NOT (SELF\shape_aspect.description = 'constant radius')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation))) = 1))) = 0);
WR2: (NOT (SELF\shape_aspect.description = 'constant radius')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
(NOT (SIZEOF (impl_rep.used_representation.items) >= 1)
AND (SIZEOF (impl_rep.used_representation.items) <= 3))))
= 0))) = 0);
WR3: (NOT (SELF.description = 'constant radius')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0);
WR4: (NOT (SELF.description = 'constant radius')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'first offset'))) <= 1)))
= 0))) = 0);
WR5: (NOT (SELF.description = 'constant radius')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'second offset'))) <= 1)))
= 0))) = 0);
WR6: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation)) AND
(pdr.used_representation.name = 'edge round face'))) <= 1))) = 0;
WR7: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation)) AND
(pdr.used_representation.name = 'first face shape'))) <= 1))) = 0;
WR8: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation)) AND
(pdr.used_representation.name = 'second face shape'))) <= 1))) = 0;
END_ENTITY;
ENTITY externally_defined_feature_definition
SUBTYPE OF (feature_definition, externally_defined_item);
WHERE
WR1: (((SELF\characterized_object.description = 'thread') AND
(SELF\externally_defined_item.item_id='external thread') AND
(SELF\externally_defined_item.source.source_id=
'external feature specification') ) OR
((SELF\characterized_object.description = 'gear') AND
(SELF\externally_defined_item.item_id='external gear') AND
(SELF\externally_defined_item.source.source_id=
'external feature specification')) OR
((SELF\characterized_object.description = 'marking') AND
(SELF\externally_defined_item.item_id='external marking') AND
(SELF\externally_defined_item.source.source_id=
'external feature specification')) OR
((SELF\characterized_object.description = 'knurl') AND
(SELF\externally_defined_item.item_id='external knurl') AND
(SELF\externally_defined_item.source.source_id=
'external feature specification')));
WR2: ((NOT (SELF\characterized_object.description = 'thread')) OR
(SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
({5 <= SIZEOF(pdr.used_representation.items) <= 10} ) ))
= 1 )) = 1));
WR3: ((NOT (SELF\characterized_object.description = 'marking')) OR
(SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF(pdr.used_representation.items) = 2) )) = 1 )) = 1));
WR4: ((NOT (SELF\characterized_object.description = 'knurl')) OR
(SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF(pdr.used_representation.items) = 1) )) = 1 )) = 1));
WR5: (NOT (SELF\characterized_object.description IN [ 'knurl',
'thread'])) OR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN
(pds,'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'partial area occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATED_SHAPE_ASPECT') |
((sar.description = 'applied area usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
('MACHINING_FEATURE_SCHEMA.APPLIED_AREA'
IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) <= 1)) )) = 0);
WR6: ((NOT (SELF\characterized_object.description = 'marking')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'marking text')) )) = 1)) ))
= 0)) )) = 0));
WR7: ((NOT (SELF\characterized_object.description = 'thread')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'removal direction') AND
((it.description = 'internal') OR
(it.description = 'external'))) )) = 1)) )) = 0)) )) = 0));
WR8: ((NOT (SELF\characterized_object.description = 'thread')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'qualifier')) ))<= 1)) ))= 0)) ))
= 0));
WR9: ((NOT (SELF\characterized_object.description = 'thread')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'hand')) )) = 1)) )) = 0)) ))
= 0));
WR10: ((NOT (SELF\characterized_object.description = 'thread')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'fit class')) )) = 1)) )) =
0)) )) = 0));
WR11: ((NOT (SELF\characterized_object.description = 'thread')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'form')) )) = 1)) )) = 0)) ))
= 0));
WR12: ((NOT (SELF\characterized_object.description = 'thread')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'major diameter')) )) <= 1)) ))
= 0)) )) = 0));
WR13: ((NOT (SELF\characterized_object.description = 'thread')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.RATIO_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'number of threads')) )) = 1)) ))
= 0)) )) = 0));
WR14: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'fit class 2')) )) <= 1)) )) = 0)) ))
= 0);
WR15: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']
* TYPEOF(it)) = 2) AND (it.name = 'nominal size')) ))
<= 1)) )) = 0)) )) = 0);
WR16: (NOT (SELF\characterized_object.description IN [ 'knurl',
'gear', 'thread'])) OR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN
(pds,'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATED_SHAPE_ASPECT') |
((sar.description = 'applied shape') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT'
IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) <= 1)) )) = 0);
WR17: ((NOT (SELF\characterized_object.description
IN ['gear'])) OR
(SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(10 <= SIZEOF(pdr.used_representation.items)) AND
(SIZEOF(pdr.used_representation.items) >= 11)
)) = 1 )) = 1));
WR18: ((NOT (SELF\characterized_object.description
IN ['gear'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.RATIO_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'number of teeth')) )) = 1)) ))
= 0)) )) = 0));
WR19: ((NOT (SELF\characterized_object.description
IN ['gear'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'reference pressure angle')) )) = 1)) ))
= 0)) )) = 0));
WR20: ((NOT (SELF\characterized_object.description
IN ['gear'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'rake shift factor')) )) = 1)) ))
= 0)) )) = 0));
WR21: ((NOT (SELF\characterized_object.description
IN ['gear'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'nominal tooth depth')) )) = 1)) ))
= 0)) )) = 0));
WR22: ((NOT (SELF\characterized_object.description
IN ['gear'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'face width')) )) = 1)) ))
= 0)) )) = 0));
WR23: ((NOT (SELF\characterized_object.description
IN ['gear'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'tip diameter')) )) = 1)) ))
= 0)) )) = 0));
WR24: ((NOT (SELF\characterized_object.description
IN ['gear'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'module or diametral pitch') AND
((it.description = 'module') OR
(it.description = 'diametral pitch'))) )) = 1)) )) = 0)) )) = 0));
WR25: ((NOT (SELF\characterized_object.description
IN ['gear'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'normal attribute')) )) = 1)) ))
= 0)) )) = 0));
WR26: ((NOT (SELF\characterized_object.description
IN ['gear'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'internal or external gear') AND
((it.description = 'internal') OR
(it.description = 'external'))) )) = 1)) )) = 0)) )) = 0));
WR27: ((NOT (SELF\characterized_object.description
IN ['gear'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN
(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'root fillet radius')) )) <= 1)) ))
= 0)) )) = 0));
END_ENTITY;
ENTITY face_shape_representation
SUBTYPE OF (shape_representation);
WHERE
WR1: (SIZEOF(SELF.items) >= 1);
WR2: (SIZEOF(QUERY ( it <* SELF.items | (NOT (
('TOPOLOGY_SCHEMA.FACE_SURFACE' IN TYPEOF(it)) OR
('TOPOLOGY_SCHEMA.ORIENTED_FACE' IN TYPEOF(it)) ))
)) = 0);
END_ENTITY;
ENTITY feature_component_definition
SUBTYPE OF (characterized_object);
WHERE
WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(USEDIN(pd,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE')) = 1)) ))
= 0);
END_ENTITY;
ENTITY feature_component_relationship
SUPERTYPE OF
(ONEOF (pattern_omit_membership,
pattern_offset_membership))
SUBTYPE OF (shape_aspect_relationship);
WHERE
WR1: ((SIZEOF([
'SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT',
'MACHINING_FEATURE_SCHEMA.REPLICATE_FEATURE',
'MACHINING_FEATURE_SCHEMA.TRANSITION_FEATURE',
'MACHINING_FEATURE_SCHEMA.MODIFIED_PATTERN'] * TYPEOF
(SELF.relating_shape_aspect)) = 1) OR
('MACHINING_FEATURE_SCHEMA.MACHINING_FEATURE_DEFINITION'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition)) OR
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition)));
END_ENTITY;
ENTITY feature_pattern
SUBTYPE OF (replicate_feature);
WHERE
WR1: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
NOT ('GEOMETRY_SCHEMA.PLACEMENT'
IN TYPEOF(srwp_i)) )) > 0 ) )) > 0 )) = 0;
WR2: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
('GEOMETRY_SCHEMA.PLACEMENT'
IN TYPEOF (it)) AND (it.name = 'base feature placement'))) > 1)))
= 0))) = 0;
END_ENTITY;
ENTITY fillet
SUBTYPE OF (transition_feature);
WHERE
WR1: (NOT (SELF\shape_aspect.description = 'constant radius')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation))) = 1))) = 0);
WR2: (NOT (SELF\shape_aspect.description = 'constant radius')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
(NOT (SIZEOF (impl_rep.used_representation.items) >= 1)
AND(SIZEOF (impl_rep.used_representation.items) <= 3))))
= 0))) = 0);
WR3: (NOT (SELF.description = 'constant radius')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0);
WR4: (NOT (SELF.description = 'constant radius')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'first offset'))) <= 1)))
= 0))) = 0);
WR5: (NOT (SELF.description = 'constant radius')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'second offset'))) <= 1)))
= 0))) = 0);
WR6: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation)) AND
(pdr.used_representation.name = 'fillet face'))) = 1))) = 0;
WR7: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation)) AND
(pdr.used_representation.name = 'first face shape'))) = 1))) = 0;
WR8: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation)) AND
(pdr.used_representation.name = 'second face shape'))) = 1))) = 0;
END_ENTITY;
ENTITY flat_face
SUBTYPE OF (feature_definition);
WHERE
WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.DIRECTION_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'removal direction')) )) = 1)) ))
= 0);
WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'course of travel occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'path feature component usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('TOPOLOGY_SCHEMA.PATH_FEATURE_COMPONENT'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.relating_shape_aspect.description = 'linear') AND
(sdr.name = 'course of travel')) )) = 1)) )) = 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'removal boundary occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.LINEAR_PROFILE'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.name = 'removal boundary')) )) = 1)) )) = 1)) )) = 0);
WR4: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'enclosed boundary occurrence') AND
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF (sar))) |
(SIZEOF
(['MACHINING_FEATURE_SCHEMA.CIRCULAR_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.NGON_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.RECTANGULAR_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.CLOSED_PATH_PROFILE'] *
TYPEOF (sdr.relating_shape_aspect)) = 1) AND
(sdr.relating_shape_aspect.description = 'boundary')))
= 1))) <= 1))) = 0;
WR5: SIZEOF(QUERY( pdr <* get_property_definition_representations (SELF) |
( 'MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF ( pdr.used_representation ) ) AND
( pdr.used_representation.name ='maximum feature limit'))) >=0;
WR6: SIZEOF(QUERY ( pds <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN
TYPEOF(csa)) AND
(csa.name='uncut volume') AND
(SIZEOF(QUERY ( sar <* csa.component_relationships |
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) AND (SIZEOF([
'MACHINING_FEATURE_SCHEMA.BOSS',
'MACHINING_FEATURE_SCHEMA.PROTRUSION'] * TYPEOF(sar.
related_shape_aspect)) = 1)) )) = 1)) )) <= 1)) )) = 1;
WR7: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF (
['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'removal depth'))) <= 1)))
= 0))) = 0;
END_ENTITY;
ENTITY gear
SUBTYPE OF (feature_definition);
WHERE
WR1: SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF(QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation))
AND (10 <= SIZEOF(pdr.used_representation.items)) AND
(SIZEOF(pdr.used_representation.items) <= 13))) = 1)) = 1;
WR2: NOT (SELF\characterized_object.description
IN ['straight bevel gear', 'helical bevel gear',
'spur gear', 'helical gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | NOT
(SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) | NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items |
(SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.RATIO_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND
(it.name = 'number of teeth'))) = 1))) = 0))) = 0);
WR3: NOT (SELF\characterized_object.description
IN ['straight bevel gear', 'helical bevel gear',
'spur gear', 'helical gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | NOT
(SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) | NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND
(it.name = 'reference pressure angle'))) = 1))) = 0))) = 0);
WR4: NOT (SELF\characterized_object.description
IN ['straight bevel gear', 'helical bevel gear',
'spur gear', 'helical gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | NOT
(SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) | NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it)) = 2) AND
(it.name = 'rake shift factor'))) = 1))) = 0))) = 0);
WR5: NOT (SELF\characterized_object.description
IN ['straight bevel gear', 'helical bevel gear',
'spur gear', 'helical gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | NOT
(SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation))| NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND
(it.name = 'nominal tooth depth'))) = 1))) = 0))) = 0);
WR6: NOT (SELF\characterized_object.description
IN ['straight bevel gear', 'helical bevel gear',
'spur gear', 'helical gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | NOT
(SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation))| NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND
(it.name = 'face width'))) = 1))) = 0))) = 0);
WR7: NOT (SELF\characterized_object.description
IN ['straight bevel gear', 'helical bevel gear',
'spur gear', 'helical gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | NOT
(SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation))| NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND
(it.name = 'tip diameter'))) = 1))) = 0))) = 0);
WR8: NOT (SELF\characterized_object.description
IN ['straight bevel gear', 'helical bevel gear',
'spur gear', 'helical gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | NOT
(SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation))| NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items |
('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND
(it.name = 'module or diametral pitch') AND
((it.description ='module') OR (it.description = 'diametral pitch'))))
= 1))) = 0))) = 0);
WR9: NOT (SELF\characterized_object.description
IN ['straight bevel gear', 'helical bevel gear',
'spur gear', 'helical gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | NOT
(SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation))| NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items |
('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF(it)) AND
(it.name = 'internal or external gear') AND
((it.description ='internal') OR (it.description = 'external'))))
= 1))) = 0))) = 0);
WR10: NOT (SELF\characterized_object.description
IN ['straight bevel gear', 'helical bevel gear',
'spur gear', 'helical gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | NOT
(SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation))| NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND
(it.name = 'normal attribute'))) = 1))) = 0))) = 0);
WR11: NOT (SELF\characterized_object.description
IN ['straight bevel gear', 'helical bevel gear',
'spur gear', 'helical gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | NOT
(SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation))| NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']* TYPEOF(it)) = 2) AND
(it.name = 'root fillet radius'))) <= 1))) = 0))) = 0);
WR12: NOT (SELF\characterized_object.description
IN ['helix gear','helical bevel gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) | NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND
(it.name = 'reference helix angle'))) = 1))) = 0))) = 0);
WR13: NOT (SELF\characterized_object.description
IN ['helix gear','helical bevel gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | NOT
(SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation))| NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items |
('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'gear tooth') AND
((it.description = 'left hand tooth') OR
(it.description = 'right hand tooth')))) = 1))) = 0))) = 0);
WR14: NOT (SELF\characterized_object.description
IN ['straight bevel gear','helical bevel gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) | NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND
(it.name = 'tip angle'))) = 1))) = 0))) = 0);
WR15: NOT (SELF\characterized_object.description
IN ['straight bevel gear','helical bevel gear']) OR
(SIZEOF(QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF(QUERY(impl_rep <* QUERY(pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) | NOT
(SIZEOF(QUERY(it <* impl_rep.used_representation.items | (SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']* TYPEOF(it))= 2) AND
(it.name = 'root angle'))) = 1))) = 0))) = 0);
WR16: SIZEOF(QUERY(pds <* QUERY(pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) | NOT
(SIZEOF(QUERY(sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
SIZEOF( QUERY(sdr <* QUERY(sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'applied shape') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF(sar))) | 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT'
IN TYPEOF(sdr.relating_shape_aspect))) = 1)) = 1))) = 0;
END_ENTITY;
ENTITY hole_bottom
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.of_shape.definition));
WR2: (SELF.description IN ['through', 'flat', 'flat with radius',
'flat with taper','spherical', 'conical']);
WR3: ((NOT (SELF.description = 'through')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 0)) ))
= 0));
WR4: ((NOT (SELF.description IN ['flat with radius',
'flat with taper', 'spherical','conical'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0));
WR5: ((NOT (SELF.description = 'flat')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 0)) ))
= 0)) )) = 0));
WR6: ((NOT (SELF.description IN ['flat with radius','spherical']))
OR (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 1)) ))
= 0)) )) = 0));
WR7: ((NOT (SELF.description = 'flat with taper')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 2)) ))
= 0)) )) = 0));
WR8: ((NOT (SELF.description = 'conical')) OR (SIZEOF(
QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF (impl_rep.used_representation.items) >= 1)
AND (SIZEOF (impl_rep.used_representation.items) <= 2)) ))
= 0)) )) = 0));
WR9: ((SELF.description = 'through') OR
(SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
((sar.description = 'hole bottom usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar))) ) |
((fcr.name IN ['hole depth start','hole depth end'])) )) >= 1));
WR10: ((NOT (SELF.description = 'flat with radius')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'corner radius')))) = 1)) ))
= 0)) )) = 0));
WR11: ((NOT (SELF.description = 'spherical')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) )) =
0)) )) = 0));
WR12: ((NOT (SELF.description = 'conical')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'tip radius')) )) <= 1)) ))
= 0)) )) = 0));
WR13: ((NOT (SELF.description = 'conical')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'tip angle')) )) = 1)) ))
= 0)) )) = 0));
WR14: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
((sar.description = 'hole bottom usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar))) ) |
((fcr.related_shape_aspect.description ='bottom condition occurrence')
AND ('MACHINING_FEATURE_SCHEMA.ROUND_HOLE'
IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND
('MACHINING_FEATURE_SCHEMA.HOLE_BOTTOM'
IN TYPEOF(fcr.relating_shape_aspect)))
)) >= 1);
WR15: ((NOT (SELF.description = 'flat with taper')) OR (SIZEOF(
QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'final diameter')))) = 1)) ))
= 0)) )) = 0));
WR16: ((NOT (SELF.description = 'flat with taper')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'taper diameter')) )) = 1)) ))
= 0)) )) = 0));
END_ENTITY;
ENTITY linear_profile
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.of_shape.definition));
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 2)) ))
= 0)) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('GEOMETRY_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND
(it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0);
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'profile length')) )) = 1)) ))
= 0)) )) = 0);
END_ENTITY;
ENTITY location_shape_representation
SUBTYPE OF (shape_representation);
WHERE
WR1: (SIZEOF(SELF.items) = 1);
WR2: (SIZEOF(QUERY ( it <* SELF.items |
(NOT ('GEOMETRY_SCHEMA.POINT'
IN TYPEOF(it))) )) = 0);
END_ENTITY;
ENTITY marking
SUBTYPE OF (feature_definition);
WHERE
WR1: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN
TYPEOF(pdr.used_representation)) AND
({2 <= SIZEOF(pdr.used_representation.items) <=6} ) ))
= 1 )) = 1;
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <*
QUERY ( pdr <* USEDIN(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'marking text')) )) = 1)) ))
= 0)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'special instructions')) )) <= 1)) ))
= 0)) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'font name')))) <= 1))))
= 0)) )) = 0);
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'character height')) )) <= 1)) ))
= 0)) )) = 0);
WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'character spacing')) )) <= 1)) ))
= 0)) )) = 0);
WR7: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) |
(NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATED_SHAPE_ASPECT') |
((sar.description = 'applied shape') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT'
IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0);
END_ENTITY;
ENTITY modified_pattern
SUBTYPE OF (shape_aspect);
WHERE
WR1: SIZEOF( QUERY (fcr <* QUERY(sar <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
'MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF (sar)) |
(SIZEOF(
['MACHINING_FEATURE_SCHEMA.REPLICATE_FEATURE',
'SHAPE_ASPECT_DEFINITION_SCHEMA.INSTANCED_FEATURE'] *
TYPEOF (fcr.related_shape_aspect.of_shape.definition)) >= 1) AND
(fcr.description = 'base shape')) ) = 1;
WR2: SIZEOF( QUERY (fcr <* QUERY(sar <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
'MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF (sar)) |
(SIZEOF(
['MACHINING_FEATURE_SCHEMA.CIRCULAR_PATTERN',
'MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'] *
TYPEOF(fcr.related_shape_aspect.of_shape.definition)) = 1) AND
(fcr.description = 'base pattern')) ) = 1;
WR3: SIZEOF(QUERY ( sar <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
(SIZEOF(QUERY ( msar <* USEDIN(sar.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(SIZEOF([
'MACHINING_FEATURE_SCHEMA.PATTERN_OFFSET_MEMBERSHIP',
'MACHINING_FEATURE_SCHEMA.PATTERN_OMIT_MEMBERSHIP'] *
TYPEOF(sar)) = 1) AND (sar.description='modified pattern')
AND (sar :<>: msar) )) >= 1) )) = 0;
END_ENTITY;
ENTITY ngon_closed_profile
SUBTYPE OF (shape_aspect);
WHERE
WR1: 'MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF (SELF.of_shape.definition);
WR2: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation))) = 1))) = 0;
WR3: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT ((SIZEOF (impl_rep.used_representation.items) >= 3)
AND (SIZEOF(impl_rep.used_representation.items) <= 4)))) = 0))) = 0;
WR4: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
(srwp_i.name = 'orientation') OR
(srwp_i.name = 'number of sides') OR
(srwp_i.name = 'circumscribed diameter') OR
(srwp_i.name = 'corner radius') OR
(srwp_i.name = 'diameter across flats')))
= SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1;
WR5: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
('GEOMETRY_SCHEMA.PLACEMENT' IN TYPEOF (it)) AND
(it.name = 'orientation'))) = 1))) = 0))) = 0;
WR6: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF (it)) AND
('MEASURE_SCHEMA.COUNT_MEASURE'
IN TYPEOF (it\measure_with_unit.value_component)) AND
(it.name = 'number of sides'))) = 1))) = 0))) = 0;
WR7: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name IN ['circumscribed diameter','diameter across flats']) ))
= 1) )) = 0))) = 0;
WR8: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'corner radius'))) <= 1))) = 0))) = 0;
END_ENTITY;
ENTITY open_path_profile
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.of_shape.definition));
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF (impl_rep.used_representation.items) = 1)) ))
= 0)) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('GEOMETRY_SCHEMA.PLACEMENT'
IN TYPEOF(it)) AND
(it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0);
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('TOPOLOGY_SCHEMA.PATH_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR6: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation))AND
(pdr.used_representation.name = 'profile limit') )) <= 1))) = 0;
END_ENTITY;
ENTITY outer_round
SUBTYPE OF (feature_definition);
WHERE
WR1: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR
(SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF (pdr.used_representation.items) = 3) )) = 1 )) = 1));
WR2: ((NOT (SELF\characterized_object.description
= 'outer diameter to shoulder')) OR
(SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
( {2 <= SIZEOF(pdr.used_representation.items) <= 3}) )) = 1 )) = 1));
WR3: (SELF\characterized_object.description IN
['outer diameter', 'outer diameter to shoulder']);
WR4: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR
(SIZEOF( QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'length')) )) = 1)) ))
= 0)) )) = 0));
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'diameter')) )) = 1)) ))
= 0)) )) = 0);
WR6: ((NOT (SELF\characterized_object.description
= 'outer diameter to shoulder')) OR (
SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
TYPEOF(pd)) ) |
(NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'v-shape boundary occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.VEE_PROFILE'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.relating_shape_aspect.description = 'v-shape')) )) = 1)) ))
= 1)) )) = 0));
WR7: ((NOT (SELF\characterized_object.description = 'outer diameter')) OR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'reduced size occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'taper usage') AND
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.TAPER'
IN TYPEOF(sdr.relating_shape_aspect)) AND
('MACHINING_FEATURE_SCHEMA.OUTER_ROUND'
IN TYPEOF(sdr.related_shape_aspect.of_shape.definition)) AND
(sdr.name = 'reduced size'))
)) = 1)) ))
<= 1)) )) = 0));
WR8: ((NOT (SELF\characterized_object.description =
'outer diameter to shoulder')) OR
(SIZEOF( QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'length')) )) <= 1)) ))
= 0)) )) = 0));
WR9: ((NOT (SELF\characterized_object.description =
'outer diameter to shoulder')) OR
(SIZEOF( QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'feature length')) )) <= 1)) ))
= 0)) )) = 0));
END_ENTITY;
ENTITY outside_profile
SUBTYPE OF (feature_definition);
WHERE
WR1: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF (pdr.used_representation.items) = 1) )) = 1 )) = 1;
WR2: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description IN ['boundary occurrence',
'non-planar boundary occurrence',
'partial circular boundary occurrence',
'closed circular boundary occurrence',
'open rectangular boundary occurrence',
'closed rectangular boundary occurrence']) )) =1) ))=0;
WR3: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'boundary occurrence') )) =1) ))=0)) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) |
(SIZEOF (['MACHINING_FEATURE_SCHEMA.CIRCULAR_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.NGON_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.RECTANGULAR_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.CLOSED_PATH_PROFILE',
'MACHINING_FEATURE_SCHEMA.SQUARE_U_PROFILE',
'MACHINING_FEATURE_SCHEMA.PARTIAL_CIRCULAR_PROFILE',
'MACHINING_FEATURE_SCHEMA.ROUNDED_U_PROFILE',
'MACHINING_FEATURE_SCHEMA.LINEAR_PROFILE',
'MACHINING_FEATURE_SCHEMA.VEE_PROFILE',
'MACHINING_FEATURE_SCHEMA.TEE_PROFILE',
'MACHINING_FEATURE_SCHEMA.OPEN_PATH_PROFILE'] *
TYPEOF (sdr.relating_shape_aspect)) = 1) AND
(sdr.relating_shape_aspect.description = 'outside boundary')))
= 1))) = 1))) = 0);
WR4: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description IN ['complex boundary occurrence',
'partial circular boundary occurrence',
'closed circular boundary occurrence',
'open rectangular boundary occurrence',
'closed rectangular boundary occurrence']) ))=1) ))=0)) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
NOT(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile floor usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF (sar))) |
(('MACHINING_FEATURE_SCHEMA.PROFILE_FLOOR'
IN TYPEOF (sdr.relating_shape_aspect)) AND
('MACHINING_FEATURE_SCHEMA.OUTSIDE_PROFILE'
IN TYPEOF (sdr.related_shape_aspect.of_shape.definition)))
)) = 1))) = 0))) = 0);
WR5: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description IN ['outside boundary',
'complex boundary occurrence',
'partial circular boundary occurrence',
'closed circular boundary occurrence',
'open rectangular boundary occurrence',
'closed rectangular boundary occurrence']) ))=1) ))=0)) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'path feature component usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP' IN TYPEOF (sar))) |
(SIZEOF (['TOPOLOGY_SCHEMA.PATH_FEATURE_COMPONENT'] *
TYPEOF (sdr.relating_shape_aspect)) = 1) AND
(sdr.name = 'profile swept shape') AND
(sdr.relating_shape_aspect.description='linear') )) = 1)))
= 1))) = 0);
WR6: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'complex boundary occurrence') ))
=1) ))=0)) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF (sar))) |
(SIZEOF (['MACHINING_FEATURE_SCHEMA.CIRCULAR_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.NGON_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.RECTANGULAR_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.CLOSED_PATH_PROFILE',
'MACHINING_FEATURE_SCHEMA.SQUARE_U_PROFILE',
'MACHINING_FEATURE_SCHEMA.PARTIAL_CIRCULAR_PROFILE',
'MACHINING_FEATURE_SCHEMA.ROUNDED_U_PROFILE',
'MACHINING_FEATURE_SCHEMA.VEE_PROFILE',
'MACHINING_FEATURE_SCHEMA.TEE_PROFILE',
'MACHINING_FEATURE_SCHEMA.LINEAR_PROFILE',
'MACHINING_FEATURE_SCHEMA.OPEN_PATH_PROFILE'] *
TYPEOF (sdr.relating_shape_aspect)) =1)) )
= 1)))= 1))) = 0);
WR7: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'partial circular boundary occurrence') ))
=1) ))=0)) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF (sar))) |
('MACHINING_FEATURE_SCHEMA.PARTIAL_CIRCULAR_PROFILE' IN
TYPEOF (sdr.relating_shape_aspect))))
= 1)))= 1))) = 0);
WR8: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'closed circular boundary occurrence') ))
=1) ))=0)) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF (sar))) |
('MACHINING_FEATURE_SCHEMA.CIRCULAR_CLOSED_PROFILE' IN
TYPEOF (sdr.relating_shape_aspect))))
= 1)))= 1))) = 0);
WR9: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'open rectangular boundary occurrence') ))
=1) ))=0)) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF (sar))) |
('MACHINING_FEATURE_SCHEMA.SQUARE_U_PROFILE' IN
TYPEOF (sdr.relating_shape_aspect))))
= 1)))= 1))) = 0);
WR10: (NOT(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'closed rectangular boundary occurrence') ))
=1) ))=0)) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF (sar))) |
('MACHINING_FEATURE_SCHEMA.RECTANGULAR_CLOSED_PROFILE' IN
TYPEOF (sdr.relating_shape_aspect)) )) = 1)))
= 1))) = 0);
WR11: (SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description IN ['boundary occurrence',
'complex boundary occurrence',
'partial circular boundary occurrence',
'closed circular boundary occurrence',
'open rectangular boundary occurrence',
'closed rectangular boundary occurrence']) )) =1) ))=0) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.DIRECTION_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'removal direction')) )) = 1)) ))
= 0);
WR12: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) |
( 'MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF ( pdr.used_representation ) ) AND
( pdr.used_representation.name ='maximum feature limit'))) >=0;
END_ENTITY;
ENTITY partial_circular_profile
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.of_shape.definition));
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF (impl_rep.used_representation.items) >= 3)) ))
= 0)) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('GEOMETRY_SCHEMA.PLACEMENT'
IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) ))
= 0)) )) = 0);
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'radius')))) = 1)) ))
= 0)) )) = 0);
WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'sweep angle')) )) = 1)) ))
= 0)) )) = 0);
WR7: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation))AND
(pdr.used_representation.name = 'profile limit'))) <= 1))) = 0;
END_ENTITY;
ENTITY path_feature_component
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.of_shape.definition));
WR2: (SELF.description IN ['partial circular','complete circular',
'linear','complex']);
WR3: ((NOT (SELF.description = 'complex')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0));
WR4: ((SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('GEOMETRY_SCHEMA.PLACEMENT'
IN TYPEOF(it)) AND (it.name = 'orientation')) )) = 1)) ))
= 0)) )) = 0));
WR5: ((NOT (SELF.description = 'partial circular')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 3)) ))
= 0)) )) = 0));
WR6: ((NOT (SELF.description = 'partial circular')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) ))
= 0)) )) = 0));
WR7: ((NOT (SELF.description = 'partial circular')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'sweep angle')) )) = 1)) ))
= 0)) )) = 0));
WR8: ((NOT (SELF.description = 'complete circular')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 2)) ))
= 0)) )) = 0));
WR9: ((NOT (SELF.description = 'complete circular')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1)) ))
= 0)) )) = 0));
WR10: ((NOT (SELF.description = 'linear')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 2)) ))
= 0)) )) = 0));
WR11: ((NOT (SELF.description = 'linear')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'distance')) )) = 1)) ))
= 0)) )) = 0));
WR12: ((NOT (SELF.description = 'linear')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.DIRECTION_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0));
WR13: ((NOT (SELF.description = 'complex')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('TOPOLOGY_SCHEMA.PATH_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'sweep path')AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
(srwp_i.name = 'profile shape') )) = 1)
) )) = 1)) )) = 0));
END_ENTITY;
ENTITY path_shape_representation
SUBTYPE OF (shape_representation);
WHERE
WR1: (SIZEOF(SELF.items) >= 1);
WR2: (SIZEOF(QUERY ( i <* SELF.items | (SIZEOF([
'MACHINING_FEATURE_SCHEMA.BOUNDED_CURVE',
'TOPOLOGY_SCHEMA.EDGE_CURVE',
'TOPOLOGY_SCHEMA.PATH'] * TYPEOF(i)) =
1) )) >= 1);
END_ENTITY;
ENTITY pattern_offset_membership
SUBTYPE OF (feature_component_relationship);
WHERE
WR1: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(
SELF.relating_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATING_SHAPE_ASPECT') |
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) AND (sar :<>: SELF)) ) |
((SIZEOF (QUERY( pdr <*(QUERY(pd <* USEDIN
(fcr.related_shape_aspect.of_shape,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd))) |
SIZEOF (['MACHINING_FEATURE_SCHEMA.CIRCULAR_PATTERN',
'MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN']
* TYPEOF(pdr.definition)) =1 )) = 0 )) )) = 0);
WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(
SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) AND (sar :<>: SELF)) ) |
(fcr.description='modified pattern') AND
('MACHINING_FEATURE_SCHEMA.MODIFIED_PATTERN'
IN TYPEOF(fcr.relating_shape_aspect)) )) >= 1);
WR3: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(
SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) AND (sar :<>: SELF)) ) |
(('MACHINING_FEATURE_SCHEMA.MODIFIED_PATTERN'
IN TYPEOF(fcr.relating_shape_aspect)) AND
(NOT (SIZEOF(QUERY ( modfcr <* QUERY ( modsar <* USEDIN(
fcr.relating_shape_aspect,'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
((SIZEOF(['MACHINING_FEATURE_SCHEMA.CIRCULAR_PATTERN',
'MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'] *
TYPEOF(modsar.related_shape_aspect.of_shape.definition)) = 1) AND
(modsar :<>: fcr)) ) |
(NOT (modfcr.related_shape_aspect.of_shape.definition :=:
SELF.relating_shape_aspect.of_shape.definition)) ))
= 0))) )) = 0);
WR4: ((NOT ('MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(USEDIN(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 2)) )) =
0));
WR5: ((NOT ('MACHINING_FEATURE_SCHEMA.CIRCULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(USEDIN(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 1)) )) =
0));
WR6: ((NOT ('MACHINING_FEATURE_SCHEMA.CIRCULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(NOT (SIZEOF(pdr.used_representation.items) = 2)) )) = 0)) ))
= 0));
WR7: ((NOT ('MACHINING_FEATURE_SCHEMA.CIRCULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND
('MEASURE_SCHEMA.COUNT_MEASURE'
IN TYPEOF(it\measure_with_unit.value_component)) AND
(it.name = 'index number')) )) = 1)) )) = 0)) )) = 0));
WR8: ((NOT ('MACHINING_FEATURE_SCHEMA.CIRCULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'
IN TYPEOF(it)) AND (it.name = 'offset')) )) = 1)) )) = 0)) ))
= 0));
WR9: ((NOT ('MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')|
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items ) = 3)) ))
= 0)) )) = 0));
WR10: ((NOT ('MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')|
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND
('MEASURE_SCHEMA.COUNT_MEASURE'
IN TYPEOF(it\measure_with_unit.value_component)) AND
(it.name = 'row index')) )) = 1)) )) = 0)) )) = 0));
WR11: ((NOT ('MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND
('MEASURE_SCHEMA.COUNT_MEASURE'
IN TYPEOF(it\measure_with_unit.value_component)) AND
(it.name = 'column index')) )) = 1)) )) = 0)) )) = 0));
WR12: ((NOT ('MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'
IN TYPEOF(it)) AND (it.name = 'offset distance')) )) = 1)) ))
= 0)) )) = 0));
WR13: ((NOT ('MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.DIRECTION_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'offset direction')) )) = 1)) ))
= 0));
END_ENTITY;
ENTITY pattern_omit_membership
SUBTYPE OF (feature_component_relationship);
WHERE
WR1: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(
SELF.relating_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATING_SHAPE_ASPECT') |
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) AND (sar :<>: SELF)) ) |
((SIZEOF (QUERY( pdr <*(QUERY(pd <* USEDIN
(fcr.related_shape_aspect.of_shape,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd))) |
SIZEOF (['MACHINING_FEATURE_SCHEMA.CIRCULAR_PATTERN',
'MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN']
* TYPEOF(pdr.definition)) =1 )) = 0 )) )) = 0);
WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(
SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) AND (sar :<>: SELF)) ) |
(fcr.description='modified pattern') AND
('MACHINING_FEATURE_SCHEMA.MODIFIED_PATTERN'
IN TYPEOF(fcr.relating_shape_aspect)) )) >= 1);
WR3: (SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(
SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) AND (sar :<>: SELF)) ) |
(('MACHINING_FEATURE_SCHEMA.MODIFIED_PATTERN'
IN TYPEOF(fcr.relating_shape_aspect)) AND
(NOT (SIZEOF(QUERY ( modfcr <* QUERY ( modsar <* USEDIN(
fcr.relating_shape_aspect,'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
((SIZEOF(['MACHINING_FEATURE_SCHEMA.CIRCULAR_PATTERN',
'MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'] *
TYPEOF(modsar.related_shape_aspect.of_shape.definition)) = 1) AND
(modsar :<>: fcr)) ) |
(NOT (modfcr.related_shape_aspect.of_shape.definition :=:
SELF.relating_shape_aspect.of_shape.definition)) ))
= 0))) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(USEDIN(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) = 1)) )) =
0);
WR5: ((NOT ('MACHINING_FEATURE_SCHEMA.CIRCULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(NOT (SIZEOF(pdr.used_representation.items) = 1)) )) = 0)) )) = 0));
WR6: ((NOT ('MACHINING_FEATURE_SCHEMA.CIRCULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND
('MEASURE_SCHEMA.COUNT_MEASURE'
IN TYPEOF(it\measure_with_unit.value_component)) AND
(it.name = 'index number')) )) = 1)) )) = 0)) )) = 0));
WR7: ((NOT ('MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(NOT (SIZEOF(pdr.used_representation.items) = 2)) )) = 0)) )) = 0));
WR8: ((NOT ('MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND ('MEASURE_SCHEMA.COUNT_MEASURE'
IN TYPEOF(it\measure_with_unit.value_component)) AND
(it.name = 'row index')) )) = 1)) )) = 0)) )) = 0));
WR9: ((NOT ('MACHINING_FEATURE_SCHEMA.RECTANGULAR_PATTERN'
IN TYPEOF(SELF.relating_shape_aspect.of_shape.definition))) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF.related_shape_aspect,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND ('MEASURE_SCHEMA.COUNT_MEASURE'
IN TYPEOF(it\measure_with_unit.value_component)) AND
(it.name = 'column index')) )) = 1)) )) = 0)) )) = 0));
END_ENTITY;
ENTITY planar_shape_representation
SUBTYPE OF (shape_representation);
WHERE
WR1: SIZEOF (SELF.items) = 1;
WR2: SIZEOF (QUERY (it <* SELF.items |
('GEOMETRY_SCHEMA.PLANE' IN TYPEOF (it)))) = 1;
END_ENTITY;
ENTITY pocket
SUBTYPE OF (feature_definition);
WHERE
WR1: (SELF\characterized_object.description IN
['closed rectangular','open rectangular', 'complex',
'circular cutout', 'complex cutout', 'recess']);
WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'pocket depth occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'path feature component usage') AND
(sar.name = 'pocket depth') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('TOPOLOGY_SCHEMA.PATH_FEATURE_COMPONENT'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.relating_shape_aspect.description ='linear')) ))
= 1)) )) = 1)) )) = 0);
WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) |
( 'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF ( pdr.used_representation ) ) )) =1;
WR4: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
({1 <= SIZEOF(pdr.used_representation.items) <= 2} ) )) = 1 )) = 1;
WR5: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN
TYPEOF(pdr.used_representation)) AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
(srwp_i.name = 'orientation') OR
(srwp_i.name = 'fillet radius')))
= SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1;
WR6: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF (
['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'fillet radius'))) <= 1)))
= 0))) = 0;
WR7: ((NOT (SELF\characterized_object.description IN ['complex',
'non-circular cutout','recess'])) OR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'boundary occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) | ((SIZEOF([
'MACHINING_FEATURE_SCHEMA.CIRCULAR_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.NGON_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.RECTANGULAR_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.CLOSED_PATH_PROFILE',
'MACHINING_FEATURE_SCHEMA.SQUARE_U_PROFILE',
'MACHINING_FEATURE_SCHEMA.PARTIAL_CIRCULAR_PROFILE',
'MACHINING_FEATURE_SCHEMA.ROUNDED_U_PROFILE',
'MACHINING_FEATURE_SCHEMA.VEE_PROFILE',
'MACHINING_FEATURE_SCHEMA.TEE_PROFILE',
'MACHINING_FEATURE_SCHEMA.OPEN_PATH_PROFILE'] *
TYPEOF(sdr.relating_shape_aspect)) = 1)) )) = 1)) ))
= 1)) )) = 0));
WR8: ((NOT (SELF\characterized_object.description =
'closed rectangular'))
OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'closed boundary occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.RECTANGULAR_CLOSED_PROFILE'
IN TYPEOF(sdr.relating_shape_aspect))) )) = 1)) ))
= 1)) )) = 0));
WR9: ((NOT (SELF\characterized_object.description = 'open rectangular'))
OR (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'open boundary occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.SQUARE_U_PROFILE'
IN TYPEOF(sdr.relating_shape_aspect))) )) = 1)) ))
= 1)) )) = 0));
WR10: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'bottom condition occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'pocket bottom usage') AND
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.POCKET_BOTTOM'
IN TYPEOF(sdr.relating_shape_aspect)) AND
('MACHINING_FEATURE_SCHEMA.POCKET'
IN TYPEOF(sdr.related_shape_aspect.of_shape.definition)))
)) = 1)) )) = 1)) )) = 0);
WR11: ((NOT (SELF\characterized_object.description IN ['complex',
'non-circular cutout','recess'])) OR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'change in boundary occurrence') AND
(SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
((sar.description = 'taper usage') AND
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.TAPER'
IN TYPEOF(fcr.relating_shape_aspect)) AND
('MACHINING_FEATURE_SCHEMA.POCKET'
IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND
(fcr.related_shape_aspect.description
IN ['angle taper','directed taper']))
)) = 1)) )) <= 1)) )) = 0));
WR12: (NOT (SELF\characterized_object.description = 'circular cutout')) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
TYPEOF (pd)) | NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'enclosed boundary occurrence') AND
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF (sar))) |
('MACHINING_FEATURE_SCHEMA.CIRCULAR_CLOSED_PROFILE'
IN TYPEOF (sdr.relating_shape_aspect))))
= 1))) = 1))) = 0);
WR13: (NOT (SELF\characterized_object.description IN
['circular cutout','complex cutout'])) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
TYPEOF (pd)) | NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'bottom condition occurrence') AND
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'pocket bottom usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF (sar))) |
(('MACHINING_FEATURE_SCHEMA.POCKET_BOTTOM'
IN TYPEOF (sdr.relating_shape_aspect)) AND
('MACHINING_FEATURE_SCHEMA.POCKET'
IN TYPEOF (sdr.related_shape_aspect.of_shape.definition))AND
(sdr.relating_shape_aspect.description = 'through') )
)) = 1))) = 1))) = 0);
WR14: (NOT (SELF\characterized_object.description = 'recess')) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'bottom condition occurrence') AND
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'pocket bottom usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF (sar))) |
(('MACHINING_FEATURE_SCHEMA.POCKET_BOTTOM'
IN TYPEOF (sdr.relating_shape_aspect)) AND
('MACHINING_FEATURE_SCHEMA.POCKET'
IN TYPEOF (sdr.related_shape_aspect.of_shape.definition)) AND
(sdr.relating_shape_aspect.description IN ['planar','complex']) )
)) = 1))) = 1))) = 0);
WR15: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) |
( 'MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF ( pdr.used_representation ) ) AND
( pdr.used_representation.name ='maximum feature limit'))) >=0;
WR16: ((NOT (SELF\characterized_object.description IN
['closed rectangular','open rectangular', 'complex',
'recess'])) OR
(SIZEOF(QUERY ( pds <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT'
IN TYPEOF(csa)) AND
(csa.name='uncut volume') AND
(SIZEOF(QUERY ( sar <* csa.component_relationships |
((('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) AND
(SIZEOF(['MACHINING_FEATURE_SCHEMA.BOSS','MACHINING_FEATURE_SCHEMA.PROTRUSION']
* TYPEOF(sar.related_shape_aspect))=1)
) ))) = 1)) )) <= 1)) )) = 1));
WR17: ((NOT (SELF\characterized_object.description IN
['closed rectangular','open rectangular'])) OR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'change in boundary occurrence') AND
(SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
((sar.description = 'taper usage') AND
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.TAPER'
IN TYPEOF(fcr.relating_shape_aspect)) AND
('MACHINING_FEATURE_SCHEMA.POCKET'
IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND
(fcr.related_shape_aspect.description
IN ['angle taper','directed taper']))
)) >= 1)) )) <=1)) )) = 0));
END_ENTITY;
ENTITY pocket_bottom
SUBTYPE OF (shape_aspect);
WHERE
WR1: 'MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF (SELF.of_shape.definition);
WR2: SELF.description IN ['planar', 'complex', 'through'];
WR3: ((NOT (SELF.description = 'planar')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.DIRECTION_SHAPE_REPRESENTATION')
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'floor normal') )) = 1)) )) = 0));
WR4: ((NOT (SELF.description = 'planar')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.LOCATION_SHAPE_REPRESENTATION')
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'floor location'))) = 1)) )) = 0));
WR5: ((NOT (SELF.description = 'complex')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'floor face') )) = 1)) )) = 0));
WR6: (NOT (SELF.description IN ['planar', 'complex']) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation))) = 1))) = 0));
WR7: (NOT (SELF.description IN ['planar', 'complex']) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (impl_rep.used_representation.items)
<= 1) )) = 0))) = 0));
WR8: (NOT (SELF.description = 'through') OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation))) = 0))) = 0));
WR9: (NOT (SELF.description IN ['planar', 'complex'])) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'radius'))) <= 1))) = 0))) = 0);
WR10: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
(sar.description = 'pocket bottom usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF (sar))) |
((fcr.related_shape_aspect.description = 'bottom condition occurrence')
AND
('MACHINING_FEATURE_SCHEMA.POCKET'
IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) AND
('MACHINING_FEATURE_SCHEMA.POCKET_BOTTOM'
IN TYPEOF(fcr.relating_shape_aspect)) )
)) >= 1;
WR11: ((NOT (SELF.description IN ['planar','complex'])) OR
(SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
(sar.description = 'pocket bottom usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF (sar))) |
(fcr.related_shape_aspect.description = 'bottom condition occurrence')
AND
(fcr.related_shape_aspect.name IN
['pocket depth start', 'pocket depth end'])
)) = 0));
END_ENTITY;
ENTITY profile_floor
SUBTYPE OF (shape_aspect);
WHERE
WR1: 'MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF (SELF.of_shape.definition);
WR2: SELF.description IN ['planar', 'complex', 'through'];
WR3: (NOT (SELF.description IN ['planar', 'complex']) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation))) = 1))) = 0));
WR4: (NOT (SELF.description IN ['planar', 'complex'])) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (impl_rep.used_representation.items) >= 1)AND
(SIZEOF (impl_rep.used_representation.items) <= 2))) = 0))) = 0);
WR5: (NOT (SELF.description = 'through') OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation))) = 0))) = 0));
WR6: (NOT (SELF.description IN ['planar', 'complex'])) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF (['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'radius'))) = 1))) = 0))) = 0);
WR7: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
(sar.description = 'profile floor usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP' IN
TYPEOF (sar))) |
(('MACHINING_FEATURE_SCHEMA.OUTSIDE_PROFILE' IN TYPEOF
(fcr.related_shape_aspect.of_shape.definition))AND
('MACHINING_FEATURE_SCHEMA.PROFILE_FLOOR' IN TYPEOF
(fcr.relating_shape_aspect)))
)) >= 1;
WR8: ((NOT (SELF.description IN ['planar','complex'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
| (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'shape profile floor orientation')
AND (it.description IN ['shape profile start','shape profile end']))
)) = 1)) )) = 0)) )) = 0));
WR9: (NOT (SELF.description = 'complex')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation)) AND
(pdr.used_representation.name='floor'))) = 1))) = 1);
WR10: (NOT (SELF.description = 'planar')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation)) AND
(pdr.used_representation.name='floor'))) = 1))) = 1);
END_ENTITY;
ENTITY protrusion
SUBTYPE OF (feature_definition);
WHERE
WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 1)) ))
= 0)) )) = 0);
WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'shape volume occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'volume shape usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(sdr.relating_shape_aspect.description = 'volume shape') )) = 1)) ))
= 1)) )) = 0);
WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) |
( 'MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF ( pdr.used_representation ) ) AND
( pdr.used_representation.name ='maximum feature limit'))) >=0;
END_ENTITY;
ENTITY rectangular_closed_profile
SUBTYPE OF (shape_aspect);
WHERE
WR1: 'MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF (SELF.of_shape.definition);
WR2: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation))) = 1))) = 0;
WR3: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT ((SIZEOF (impl_rep.used_representation.items) >= 3)
AND (SIZEOF(impl_rep.used_representation.items) <= 4)))) = 0))) = 0;
WR4: SIZEOF( QUERY( pd <*
USEDIN( SELF,'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd, 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')
|
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
(srwp_i.name = 'orientation') OR
(srwp_i.name = 'length') OR
(srwp_i.name = 'width') OR
(srwp_i.name = 'corner radius') )) =
SIZEOF(pdr.used_representation.items))
)) = 1 )) = 1;
WR5: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
('GEOMETRY_SCHEMA.PLACEMENT' IN TYPEOF (it)) AND
(it.name = 'orientation'))) = 1))) = 0))) = 0;
WR6: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'width'))) = 1))) = 0))) = 0;
WR7: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'length'))) = 1))) = 0))) = 0;
WR8: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'corner radius'))) <= 1))) = 0))) = 0;
END_ENTITY;
ENTITY rectangular_pattern
SUBTYPE OF (replicate_feature);
WHERE
WR1: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN
(pds,'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATING_SHAPE_ASPECT') |
((('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP')
IN TYPEOF(sar))) ) |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT'
IN TYPEOF(sdr.related_shape_aspect)) )) = 1)) )) <= 5)) )) = 0);
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.DIRECTION_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'row layout direction') ) ))
= 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('MACHINING_FEATURE_SCHEMA.DIRECTION_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'column layout direction')) ))
= 1)) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 5)) ))
= 0)) )) = 0);
WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND
('MEASURE_SCHEMA.COUNT_MEASURE'
IN TYPEOF(it\measure_with_unit.value_component)) AND
(it.name = 'number of rows')) )) = 1)) )) = 0)) )) = 0);
WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND
('MEASURE_SCHEMA.COUNT_MEASURE'
IN TYPEOF(it\measure_with_unit.value_component)) AND
(it.name = 'number of columns')) )) = 1)) )) = 0)) )) = 0);
WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'row spacing')) )) = 1)) ))
= 0)) )) = 0);
WR9: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'column spacing'))))= 1)) ))
= 0)) )) = 0);
WR10: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('GEOMETRY_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND
(it.name = 'orientation')) )) = 1)) )) = 0)) )) = 0);
END_ENTITY;
ENTITY removal_volume
SUBTYPE OF (feature_definition);
WHERE
WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 1)) ))
= 0)) )) = 0);
WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'shape volume occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATED_SHAPE_ASPECT') |
((sar.description = 'volume shape usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(sdr.relating_shape_aspect.description = 'volume shape') )) = 1)) ))
= 1)) )) = 0);
END_ENTITY;
ENTITY replicate_feature
SUPERTYPE OF
(ONEOF (circular_pattern,
rectangular_pattern,
feature_pattern))
SUBTYPE OF (feature_definition);
WHERE
WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
| (NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
used_representation)) )) = 1)) )) = 0);
WR2: (SIZEOF(QUERY ( fcr <* QUERY ( sar <*
USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATING_SHAPE_ASPECT') |
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) ) |
((SIZEOF(['MACHINING_FEATURE_SCHEMA.REPLICATE_FEATURE',
'SHAPE_ASPECT_DEFINITION_SCHEMA.INSTANCED_FEATURE'] *
TYPEOF(fcr.related_shape_aspect)) >= 1) AND
(fcr.name = 'pattern basis')) )) = 1);
WR3: ((SIZEOF(QUERY ( sar <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATING_SHAPE_ASPECT') |
(NOT
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar))) )) +
SIZEOF(QUERY ( sar <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATED_SHAPE_ASPECT') |
(NOT
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar))) ))) = 0);
END_ENTITY;
ENTITY revolved_profile
SUBTYPE OF (feature_definition);
WHERE
WR1: (SELF\characterized_object.description IN
['groove','flat','round','open profile']);
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 2)) ))
= 0)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'radius')))) = 1)) ))
= 0)) )) = 0);
WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) |
( 'MACHINING_FEATURE_SCHEMA.DIRECTION_SHAPE_REPRESENTATION'
IN TYPEOF ( pdr.used_representation ) ) AND
( pdr.used_representation.name ='removal direction'))) =1;
WR5: ((NOT (SELF\characterized_object.description = 'open profile')) OR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'outer edge shape occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.OPEN_PATH_PROFILE'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.relating_shape_aspect.description = 'outer edge shape')) ))
= 1)) )) = 1)) )) = 0));
WR6: (NOT (SELF\characterized_object.description = 'flat')) OR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')|
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(( sa_occ.description = 'flat edge shape occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.LINEAR_PROFILE'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.relating_shape_aspect.description = 'flat edge shape')) ))
= 1)) )) = 1)) )) = 0);
WR7: ((NOT (SELF\characterized_object.description = 'round')) OR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'rounded edge shape occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.PARTIAL_CIRCULAR_PROFILE'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.relating_shape_aspect.description = 'rounded edge shape')) ))
= 1)) )) = 1)) )) = 0));
WR8: ((NOT (SELF\characterized_object.description = 'groove')) OR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'sweep occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
((SIZEOF(['MACHINING_FEATURE_SCHEMA.SQUARE_U_PROFILE',
'MACHINING_FEATURE_SCHEMA.PARTIAL_CIRCULAR_PROFILE',
'MACHINING_FEATURE_SCHEMA.ROUNDED_U_PROFILE',
'MACHINING_FEATURE_SCHEMA.VEE_PROFILE',
'MACHINING_FEATURE_SCHEMA.TEE_PROFILE',
'MACHINING_FEATURE_SCHEMA.OPEN_PATH_PROFILE'] *
TYPEOF(sdr.relating_shape_aspect)) = 1) AND
(sdr.relating_shape_aspect.description = 'sweep')) )) = 1)) ))
= 1)) )) = 0));
WR9: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) |
( 'MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF ( pdr.used_representation ) ) AND
( pdr.used_representation.name ='maximum feature limit'))) >=0;
END_ENTITY;
ENTITY rib_top
SUBTYPE OF (feature_definition);
WHERE
WR1: SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'rib top condition occurrence') AND
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'rib top usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF (sar))) |
(('MACHINING_FEATURE_SCHEMA.RIB_TOP_FLOOR'
IN TYPEOF (sdr.relating_shape_aspect)) AND
('MACHINING_FEATURE_SCHEMA.RIB_TOP'
IN TYPEOF (sdr.related_shape_aspect.of_shape.definition)) )
)) = 1))) = 1))) = 0;
WR2: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.DIRECTION_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation))AND
(pdr.used_representation.name = 'removal direction'))) = 1))) = 1;
WR3: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) |
( 'MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF ( pdr.used_representation ) ) AND
( pdr.used_representation.name ='maximum feature limit'))) >=0;
END_ENTITY;
ENTITY rib_top_floor
SUBTYPE OF (shape_aspect);
WHERE
WR1: 'MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION' IN
TYPEOF (SELF.of_shape.definition);
WR2: SELF.description IN ['planar', 'complex'];
WR3: SIZEOF (QUERY (fcr <* QUERY (sar <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATING_SHAPE_ASPECT') |
(sar.description = 'rib top usage') AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF (sar))) |
((fcr.related_shape_aspect.description = 'rib top condition occurrence')
AND
('MACHINING_FEATURE_SCHEMA.RIB_TOP' IN TYPEOF
(fcr.related_shape_aspect.of_shape.definition)) AND
('MACHINING_FEATURE_SCHEMA.RIB_TOP_FLOOR' IN TYPEOF
(fcr.relating_shape_aspect)) )
)) >= 1;
WR4: (NOT (SELF.description = 'complex')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.FACE_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation))AND
(pdr.used_representation.name = 'rib top face'))) = 1))) = 0);
WR5: (NOT (SELF.description = 'planar')) OR
(SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation))AND
(pdr.used_representation.name = 'rib top face'))) = 1))) = 0);
WR6: (NOT (SELF.description = 'planar')) OR
(SIZEOF (QUERY (pds <* QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF (pd)) |
NOT (SIZEOF (QUERY (sa_occ <* USEDIN (pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(sa_occ.description = 'boundary occurrence') AND
(SIZEOF (QUERY (sdr <* QUERY (sar <* USEDIN (sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(sar.description = 'profile usage') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF (sar))) |
(SIZEOF (['MACHINING_FEATURE_SCHEMA.CIRCULAR_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.NGON_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.RECTANGULAR_CLOSED_PROFILE',
'MACHINING_FEATURE_SCHEMA.CLOSED_PATH_PROFILE'] *
TYPEOF (sdr.relating_shape_aspect)) = 1) AND
(sdr.relating_shape_aspect.description = 'rib top floor boundary')))
= 1))) = 1))) = 0);
END_ENTITY;
ENTITY round_hole
SUBTYPE OF (feature_definition);
WHERE
WR1: (SIZEOF(['COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_ROUND_HOLE',
'COUNTERBORE_COUNTERSINK_SCHEMA.BASIC_ROUND_HOLE'] * TYPEOF(SELF)) = 1) XOR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')|
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'diameter occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.CIRCULAR_CLOSED_PROFILE'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.name = 'diameter')) )) = 1)) )) = 1)) )) = 0);
WR2: (SIZEOF(['COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_ROUND_HOLE',
'COUNTERBORE_COUNTERSINK_SCHEMA.BASIC_ROUND_HOLE'] * TYPEOF(SELF)) = 1) XOR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'hole depth occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'path feature component usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('TOPOLOGY_SCHEMA.PATH_FEATURE_COMPONENT'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.name = 'hole depth') AND
(sdr.relating_shape_aspect.description = 'linear')) )) = 1)) ))
= 1)) )) = 0);
WR3: (SIZEOF(['COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_ROUND_HOLE',
'COUNTERBORE_COUNTERSINK_SCHEMA.BASIC_ROUND_HOLE'] * TYPEOF(SELF)) = 1) XOR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'bottom condition occurrence') AND
(SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'hole bottom usage') AND
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.HOLE_BOTTOM'
IN TYPEOF(fcr.relating_shape_aspect)) AND
('MACHINING_FEATURE_SCHEMA.ROUND_HOLE'
IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)))
)) = 1)) )) = 1)) )) = 0);
WR4: (SIZEOF(['COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_ROUND_HOLE',
'COUNTERBORE_COUNTERSINK_SCHEMA.BASIC_ROUND_HOLE'] * TYPEOF(SELF)) = 1) XOR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'change in diameter occurrence') AND
(SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'taper usage') AND
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.TAPER'
IN TYPEOF(fcr.relating_shape_aspect)) AND
('MACHINING_FEATURE_SCHEMA.ROUND_HOLE'
IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)) )
)) = 1)) )) <= 1)) )) = 0);
WR5: (SIZEOF(['COUNTERBORE_COUNTERSINK_SCHEMA.EXPLICIT_ROUND_HOLE',
'COUNTERBORE_COUNTERSINK_SCHEMA.BASIC_ROUND_HOLE'] * TYPEOF(SELF)) = 1) XOR
(SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) |
( 'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF ( pdr.used_representation ) ) )) =1);
END_ENTITY;
ENTITY rounded_end
SUBTYPE OF (feature_definition);
WHERE
WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 1)) ))
= 0)) )) = 0);
WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'partial circular boundary occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('MACHINING_FEATURE_SCHEMA.PARTIAL_CIRCULAR_PROFILE'
IN TYPEOF(sdr.relating_shape_aspect)) ) )) = 1)) )) = 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'course of travel occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'path feature component usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('TOPOLOGY_SCHEMA.PATH_FEATURE_COMPONENT'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.relating_shape_aspect.description = 'linear')) )) = 1)) ))
= 1)) )) = 0);
WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) |
( 'MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF ( pdr.used_representation ) ) AND
( pdr.used_representation.name ='maximum feature limit'))) >=0;
END_ENTITY;
ENTITY rounded_u_profile
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.of_shape.definition));
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR3: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
(NOT (SIZEOF (impl_rep.used_representation.items) >= 1)
AND (SIZEOF (impl_rep.used_representation.items) <= 2))))
= 0))) = 0;
WR4: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd, 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')
|
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
(srwp_i.name = 'orientation') OR
(srwp_i.name = 'depth') ))
= SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1;
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'width'))))= 1))))= 0))))= 0);
WR6: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation))AND
(pdr.used_representation.name = 'profile limit'))) <= 1))) = 0;
WR7: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'depth'))) <= 1))) = 0))) = 0;
END_ENTITY;
ENTITY shape_defining_relationship
SUBTYPE OF (shape_aspect_relationship);
END_ENTITY;
ENTITY slot
SUBTYPE OF (feature_definition);
WHERE
WR1: SIZEOF(QUERY ( pd <* USEDIN(SELF,'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
| (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
used_representation)) ) | (NOT (SIZEOF(impl_rep.
used_representation.items) = 1)) )) = 0)) )) = 0;
WR2: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
| (
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
sa_occ.description = 'swept shape occurrence') AND (SIZEOF(
QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATED_SHAPE_ASPECT') | ((sar.description =
'profile usage') AND ('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF(sar))) ) | (SIZEOF([
'MACHINING_FEATURE_SCHEMA.SQUARE_U_PROFILE',
'MACHINING_FEATURE_SCHEMA.PARTIAL_CIRCULAR_PROFILE',
'MACHINING_FEATURE_SCHEMA.ROUNDED_U_PROFILE',
'MACHINING_FEATURE_SCHEMA.VEE_PROFILE',
'MACHINING_FEATURE_SCHEMA.TEE_PROFILE',
'MACHINING_FEATURE_SCHEMA.OPEN_PATH_PROFILE'] *
TYPEOF(sdr.relating_shape_aspect)) = 1) )) = 1)) )) = 1)) ))
= 0;
WR3: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
| (
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN
TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') | ((
sa_occ.description = 'course of travel occurrence') AND (
SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATED_SHAPE_ASPECT') | ((sar.description =
'path feature component usage') AND ((sar.name =
'course of travel') AND ('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF(sar)))) ) | (
'TOPOLOGY_SCHEMA.PATH_FEATURE_COMPONENT' IN
TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0;
WR4: SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) |
(NOT((SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'end condition occurrence') AND
(SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(((sar.description = 'slot end usage') AND
(sar.name IN ['course of travel start','course of travel end'])) AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar))) ) |
((('MACHINING_FEATURE_SCHEMA.SLOT_END'
IN TYPEOF(fcr.relating_shape_aspect)) AND
(fcr.relating_shape_aspect.description
IN ['open','radiused','flat','woodruff'])) AND
('MACHINING_FEATURE_SCHEMA.SLOT'
IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)))
)) = 1) ) )) = 2)
OR
(SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'end condition occurrence') AND
(SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(((sar.description = 'slot end usage') AND
(sar.name IN ['course of travel start','course of travel end'])) AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar))) ) |
((('MACHINING_FEATURE_SCHEMA.SLOT_END'
IN TYPEOF(fcr.relating_shape_aspect)) AND
(fcr.relating_shape_aspect.description IN ['loop'])) AND
('MACHINING_FEATURE_SCHEMA.SLOT'
IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)))
)) = 1) ) )) = 1))) )) =0;
WR5: (NOT (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) ) |
(NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'end condition occurrence') AND
(SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
(((sar.description = 'slot end usage') AND
(sar.name IN ['course of travel start','course of travel end'])) AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar))) ) |
((('MACHINING_FEATURE_SCHEMA.SLOT_END'
IN TYPEOF(fcr.relating_shape_aspect)) AND
(fcr.relating_shape_aspect.description IN ['loop'])) AND
('MACHINING_FEATURE_SCHEMA.SLOT'
IN TYPEOF(fcr.related_shape_aspect.of_shape.definition)))
)) = 1)) )) = 1)) )) =0)
OR
(SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')|
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd)) ) |
(NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'course of travel occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'path feature component usage') AND
((sar.name = 'course of travel') AND
('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP'
IN TYPEOF(sar)))) ) |
(('TOPOLOGY_SCHEMA.PATH_FEATURE_COMPONENT'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.relating_shape_aspect.description
IN ['complex','complete circular']))
)) = 1)) )) = 1)) )) = 0));
WR6: SIZEOF(QUERY ( pdr <* get_property_definition_representations(
SELF) | ((
'MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND (pdr.
used_representation.name = 'maximum feature limit')) )) >= 0;
END_ENTITY;
ENTITY slot_end
SUBTYPE OF (shape_aspect);
WHERE
WR1: 'MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.of_shape.definition);
WR2: SELF.description IN ['open','radiused','flat','woodruff',
'loop'];
WR3: (NOT (SELF.description IN ['open','radiused','loop'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')|
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 0)) )) = 0);
WR4: (NOT (SELF.description IN ['flat','woodruff'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR5: (NOT (SELF.description IN ['flat'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 2)) )) = 0)) )) = 0);
WR6: (NOT (SELF.description = 'flat')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it))
= 2) AND
(it.name = 'first radius')) )) = 1)) )) = 0)) )) = 0);
WR7: (NOT (SELF.description = 'flat')) OR (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] * TYPEOF(it))
= 2) AND (it.name = 'second radius')) )) = 1)) )) = 0)) )) = 0);
WR8: (NOT (SELF.description = 'woodruff')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'
IN TYPEOF(it)) AND
(it.name = 'radius')) )) = 1)) )) = 0)) )) = 0);
WR9: (NOT (SELF.description IN ['woodruff'])) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 1)) )) = 0)) )) = 0);
WR10: SIZEOF(QUERY ( fcr <* QUERY ( sar <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.'
+ 'RELATING_SHAPE_ASPECT') |
(((sar.description = 'slot end usage') AND
(sar.name IN ['course of travel start','course of travel end'])) AND
('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar))) ) |
(((fcr.related_shape_aspect.description = 'end condition occurrence') AND
('MACHINING_FEATURE_SCHEMA.SLOT'
IN TYPEOF(fcr.related_shape_aspect.of_shape.definition))) AND
('MACHINING_FEATURE_SCHEMA.SLOT_END'
IN TYPEOF(fcr.relating_shape_aspect))) )) >= 1;
END_ENTITY;
ENTITY spherical_cap
SUBTYPE OF (feature_definition);
WHERE
WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 3)) ))
= 0)) )) = 0);
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'radius')) )) = 1))))
= 0)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'internal angle')))) = 1)) ))
= 0)) )) = 0);
END_ENTITY;
ENTITY square_u_profile
SUBTYPE OF (shape_aspect);
WHERE
WR1: 'MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF (SELF.of_shape.definition);
WR2: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation))) = 1))) = 0;
WR3: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
(NOT (SIZEOF (impl_rep.used_representation.items) >= 4)
AND (SIZEOF (impl_rep.used_representation.items) <= 7))))
= 0))) = 0;
WR4: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd, 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')
|
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
(srwp_i.name = 'orientation') OR
(srwp_i.name = 'width') OR
(srwp_i.name = 'first angle') OR
(srwp_i.name = 'second angle') OR
(srwp_i.name = 'first radius') OR
(srwp_i.name = 'second radius') OR
(srwp_i.name = 'profile limit') OR
(srwp_i.name = 'depth') ))
= SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1;
WR5: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
('GEOMETRY_SCHEMA.PLACEMENT' IN TYPEOF (it)) AND
(it.name = 'orientation'))) = 1))) = 0))) = 0;
WR6: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'width'))) = 1))) = 0))) = 0;
WR7: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'first radius'))) <= 1))) = 0))) = 0;
WR8: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'second radius'))) <= 1))) = 0))) = 0;
WR9: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'first angle'))) = 1))) = 0))) = 0;
WR10: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'second angle'))) = 1))) = 0))) = 0;
WR11: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation))AND
(pdr.used_representation.name = 'profile limit'))) <= 1))) = 0;
WR12: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'depth'))) <= 1))) = 0))) = 0;
END_ENTITY;
ENTITY step
SUBTYPE OF (feature_definition);
WHERE
WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 1)) ))
= 0)) )) = 0);
WR2: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'course of travel occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'path feature component usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
(('TOPOLOGY_SCHEMA.PATH_FEATURE_COMPONENT'
IN TYPEOF(sdr.relating_shape_aspect)) AND
(sdr.relating_shape_aspect.description = 'linear')) )) = 1)) ))
= 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'removal boundary occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'profile usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
('MACHINING_FEATURE_SCHEMA.VEE_PROFILE'
IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0);
WR4: SIZEOF(QUERY(pdr <* get_property_definition_representations (SELF) |
( 'MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF ( pdr.used_representation ) ) AND
( pdr.used_representation.name ='maximum feature limit'))) >=0;
WR5: SIZEOF(QUERY ( pds <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pds)) AND (SIZEOF(QUERY ( csa <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.COMPOSITE_SHAPE_ASPECT' IN
TYPEOF(csa)) AND
(csa.name='uncut volume') AND
(SIZEOF(QUERY ( sar <* csa.component_relationships |
(('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_RELATIONSHIP'
IN TYPEOF(sar)) AND (SIZEOF([
'MACHINING_FEATURE_SCHEMA.BOSS',
'MACHINING_FEATURE_SCHEMA.PROTRUSION'] * TYPEOF(sar.
related_shape_aspect)) = 1)) )) = 1)) )) <= 1)) )) = 1;
END_ENTITY;
ENTITY taper
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF(SELF.of_shape.definition));
WR2: (SELF.description IN ['angle taper','diameter taper',
'directed taper']);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(impl_rep.used_representation.items) = 1)) ))
= 0)) )) = 0);
WR5: ((NOT (SELF.description = 'angle taper')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'taper angle')) )) = 1)) ))
= 0)) )) = 0));
WR6: ((NOT (SELF.description = 'diameter taper')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'final diameter')) )) = 1)) ))
= 0)) )) = 0));
WR7: ((NOT (SELF.description = 'directed taper')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'angle')) )) = 1)) ))
= 0)) )) = 0));
WR8: ((NOT (SELF.description = 'directed taper')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.DIRECTION_SHAPE_REPRESENTATION'
IN TYPEOF(pdr.used_representation)) AND
(pdr.used_representation.name = 'direction') ))
= 1)) )) = 0));
END_ENTITY;
ENTITY tee_profile
SUBTYPE OF (shape_aspect);
WHERE
WR1: 'MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF (SELF.of_shape.definition);
WR2: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation))) = 1))) = 0;
WR3: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
(NOT (SIZEOF (impl_rep.used_representation.items) >= 9)
AND (SIZEOF (impl_rep.used_representation.items) <= 10))))
= 0))) = 0;
WR4: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
(srwp_i.name = 'orientation') OR
(srwp_i.name = 'width') OR
(srwp_i.name = 'depth') OR
(srwp_i.name = 'cross bar width') OR
(srwp_i.name = 'cross bar depth') OR
(srwp_i.name = 'first offset') OR
(srwp_i.name = 'second offset') OR
(srwp_i.name = 'first angle') OR
(srwp_i.name = 'second angle') OR
(srwp_i.name = 'radius') ))
= SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1;
WR5: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
('GEOMETRY_SCHEMA.PLACEMENT' IN TYPEOF (it)) AND
(it.name = 'orientation'))) = 1))) = 0))) = 0;
WR6: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'width'))) = 1))) = 0))) = 0;
WR7: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'depth'))) = 1))) = 0))) = 0;
WR8: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'cross bar width'))) = 1)))
= 0))) = 0;
WR9: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'cross bar depth'))) = 1)))
= 0))) = 0;
WR10: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'first offset'))) = 1)))
= 0))) = 0;
WR11: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'second offset'))) = 1)))
= 0))) = 0;
WR12: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'first angle'))) = 1)))
= 0))) = 0;
WR13: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'second angle'))) = 1)))
= 0))) = 0;
WR14: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND (it.name = 'radius'))) <= 1))) = 0))) = 0;
WR15: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation))AND
(pdr.used_representation.name = 'profile limit'))) <= 1))) = 0;
END_ENTITY;
ENTITY thread
SUBTYPE OF (feature_definition);
WHERE
WR1: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
((('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) AND
(8 <= SIZEOF(pdr.used_representation.items)) AND
(SIZEOF(pdr.used_representation.items) <= 11)) )) = 1) )) = 1);
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']
* TYPEOF(it)) = 2) AND (it.name = 'major diameter')) )) = 1)) ))
= 0)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']
* TYPEOF(it)) = 2) AND (it.name = 'minor diameter')) ))
<= 1)) )) = 0)) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']
* TYPEOF(it)) = 2) AND (it.name = 'pitch diameter')) )) <= 1)) ))
= 0)) )) = 0);
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.RATIO_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'number of threads')) ))
= 1)) )) = 0)) )) = 0);
WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'fit class')) )) = 1)) )) = 0)) ))
= 0);
WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'form')) )) = 1)) )) = 0)) ))
= 0);
WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'hand')AND
(it.description IN ['left', 'right']) ) )) = 1)) )) = 0)) ))
= 0);
WR9: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'qualifier')) )) <= 1)) ))
= 0)) )) = 0);
WR10: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'thread side') AND
((it.description = 'internal') OR (it.description = 'external'))) ))
= 1)) )) = 0)) )) = 0);
WR11: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']
* TYPEOF(it)) = 2) AND (it.name = 'crest')) )) <= 1)) ))
= 0)) )) = 0);
WR12: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) |
(NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'partial area occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'applied area usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
('MACHINING_FEATURE_SCHEMA.APPLIED_AREA'
IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0);
WR13: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) |
(NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'applied shape') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT'
IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0);
WR14: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'fit class 2')) )) <= 1)) )) = 0)) ))
= 0);
WR15: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']
* TYPEOF(it)) = 2) AND (it.name = 'nominal size')) ))
<= 1)) )) = 0)) )) = 0);
WR16: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) |
(NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'thread runout') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'thread runout usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
('MACHINING_FEATURE_SCHEMA.THREAD_RUNOUT'
IN TYPEOF(sdr.relating_shape_aspect)) )) <= 1)) )) = 1)) )) = 0);
END_ENTITY;
ENTITY thread_runout
SUBTYPE OF (shape_aspect);
WHERE
WR1: ('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(SELF.of_shape));
WR2: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) )) = 1)) )) = 0);
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF (impl_rep.used_representation.items) = 3)) ))
= 0)) )) = 0);
WR4: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
NOT (srwp_i.name IN ['length of runout','pitch or dimension',
'included or extra']) )) > 0 ) )) = 0 ) )) = 0;
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'length of runout')) )) = 1)) ))
= 0)) )) <= 1);
WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
| (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'pitch or dimension')
AND (it.description IN ['pitch','pitch or dimension']))
)) = 1)) )) = 0)) )) = 0);
WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
| (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'included or extra')
AND (it.description IN ['included','extra']))
)) = 1)) )) = 0)) )) = 0);
END_ENTITY;
ENTITY transition_feature
SUPERTYPE OF
(ONEOF (chamfer,
edge_round,
fillet))
SUBTYPE OF (shape_aspect);
WHERE
WR1: SIZEOF(['PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION',
'MACHINING_FEATURE_SCHEMA.COMPOUND_FEATURE']
* TYPEOF(SELF.of_shape.definition)) = 1;
WR2: SIZEOF(['MACHINING_FEATURE_SCHEMA.CHAMFER',
'MACHINING_FEATURE_SCHEMA.EDGE_ROUND',
'MACHINING_FEATURE_SCHEMA.FILLET'] *
TYPEOF(SELF)) = 1;
END_ENTITY;
ENTITY turned_knurl
SUBTYPE OF (feature_definition);
WHERE
WR1: (SELF\characterized_object.description IN
['diamond','diagonal','straight']);
WR2: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN
TYPEOF(pdr.used_representation)) AND
({6 <= SIZEOF(pdr.used_representation.items) <= 9}) )) = 1 )) = 1;
WR3: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND
('MEASURE_SCHEMA.COUNT_MEASURE'
IN TYPEOF(it\measure_with_unit.value_component)) AND
(it.name = 'number of teeth')) )) <= 1)) )) = 0)) )) = 0);
WR4: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']
* TYPEOF(it)) = 2) AND (it.name = 'major diameter'))))= 1)) ))
= 0)) )) = 0);
WR5: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']
* TYPEOF(it)) = 2) AND (it.name = 'nominal diameter')) )) = 1)) ))
= 0)) )) = 0);
WR6: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | (NOT (SIZEOF(QUERY ( impl_rep <*
QUERY ( pdr <* USEDIN(pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
impl_rep.used_representation.items | ((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT']
* TYPEOF(it)) = 2) AND (it.name = 'tooth depth')) )) <= 1)) ))
= 0)) )) = 0);
WR7: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'root fillet')) )) <= 1)) ))
= 0)) )) = 0);
WR8: (SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'] *
TYPEOF(it)) = 2) AND (it.name = 'diametral pitch')) )) = 1)) ))
= 0)) )) = 0);
WR9: ((NOT (SELF\characterized_object.description IN
['diamond','diagonal'])) OR (
SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION')
| (NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(
pd,'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS') IN TYPEOF(pdr.
used_representation)) ) | (NOT (SIZEOF(QUERY ( it <*
impl_rep.used_representation.items | ((SIZEOF([
'QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT']
* TYPEOF(it)) = 2) AND (it.name = 'helix angle')) )) = 1)) ))
= 0)) )) = 0));
WR10: ((NOT (SELF\characterized_object.description = 'diagonal')) OR
(SIZEOF(QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
(NOT (SIZEOF(QUERY ( impl_rep <* QUERY ( pdr <* USEDIN(pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
(('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS')
IN TYPEOF(pdr.used_representation)) ) |
(NOT (SIZEOF(QUERY ( it <* impl_rep.used_representation.items |
(('QUALIFIED_MEASURE_SCHEMA.DESCRIPTIVE_REPRESENTATION_ITEM'
IN TYPEOF(it)) AND (it.name = 'helix hand')) )) = 1)) ))
= 0)) )) = 0));
WR11: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) | (NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((sa_occ.description = 'partial area occurrence') AND
(SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'applied area usage') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP') IN TYPEOF(sar))) ) |
('MACHINING_FEATURE_SCHEMA.APPLIED_AREA'
IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0);
WR12: (SIZEOF(QUERY ( pds <* QUERY ( pd <* USEDIN(SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE'
IN TYPEOF(pd)) ) |
(NOT (SIZEOF(QUERY ( sa_occ <* USEDIN(pds,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE') |
((SIZEOF(QUERY ( sdr <* QUERY ( sar <* USEDIN(sa_occ,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT_RELATIONSHIP.RELATED_SHAPE_ASPECT') |
((sar.description = 'applied shape') AND
(('MACHINING_FEATURE_SCHEMA.SHAPE_DEFINING_RELATIONSHIP')
IN TYPEOF(sar))) ) |
('PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT'
IN TYPEOF(sdr.relating_shape_aspect)) )) = 1)) )) = 1)) )) = 0);
END_ENTITY;
ENTITY vee_profile
SUBTYPE OF (shape_aspect);
WHERE
WR1: 'MACHINING_FEATURE_SCHEMA.FEATURE_COMPONENT_DEFINITION'
IN TYPEOF (SELF.of_shape.definition);
WR2: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation))) = 1))) = 0;
WR3: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
(NOT (SIZEOF (impl_rep.used_representation.items) >= 3)
AND (SIZEOF (impl_rep.used_representation.items) <= 6))))
= 0))) = 0;
WR4: SIZEOF( QUERY( pd <* USEDIN( SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
SIZEOF( QUERY( pdr <* USEDIN( pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF(pdr.used_representation)) AND
(SIZEOF( QUERY( srwp_i <* pdr.used_representation.items |
(srwp_i.name = 'orientation') OR
(srwp_i.name = 'profile angle') OR
(srwp_i.name = 'tilt angle') OR
(srwp_i.name = 'profile radius') OR
(srwp_i.name = 'first length') OR
(srwp_i.name = 'second length') ))
= SIZEOF(pdr.used_representation.items)) )) = 1 )) = 1;
WR5: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
('GEOMETRY_SCHEMA.PLACEMENT' IN TYPEOF (it)) AND
(it.name = 'orientation'))) = 1))) = 0))) = 0;
WR6: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF (it)) AND
('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'
IN TYPEOF (it\measure_with_unit.value_component)) AND
(it.name = 'profile radius'))) <= 1))) = 0))) = 0;
WR7: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'profile angle'))) = 1))) = 0))) = 0;
WR8: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
(SIZEOF
(['QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM',
'GEOMETRY_SCHEMA.PLANE_ANGLE_MEASURE_WITH_UNIT'] *
TYPEOF (it)) = 2) AND
(it.name = 'tilt angle'))) = 1))) = 0))) = 0;
WR9: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
('MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF (pdr.used_representation))AND
(pdr.used_representation.name = 'profile limit'))) <= 1))) = 0;
WR10: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF (it)) AND
('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'
IN TYPEOF (it\measure_with_unit.value_component)) AND
(it.name = 'first length'))) <= 1))) = 0))) = 0;
WR11: SIZEOF (QUERY (pd <* USEDIN (SELF,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
('QUALIFIED_MEASURE_SCHEMA.MEASURE_REPRESENTATION_ITEM'
IN TYPEOF (it)) AND
('MEASURE_SCHEMA.LENGTH_MEASURE_WITH_UNIT'
IN TYPEOF (it\measure_with_unit.value_component)) AND
(it.name = 'second length'))) <= 1))) = 0))) = 0;
END_ENTITY;
SUBTYPE_CONSTRAINT machining_feature_definition_subtypes FOR feature_definition;
ONEOF (boss,
compound_feature,
externally_defined_feature_definition,
flat_face,
gear,
marking,
outer_round,
outside_profile,
pocket,
protrusion,
removal_volume,
replicate_feature,
revolved_profile,
rib_top,
round_hole,
rounded_end,
spherical_cap,
step,
slot,
thread,
turned_knurl);
END_SUBTYPE_CONSTRAINT;
RULE machining_feature_definition_constraints FOR
(feature_definition);
LOCAL mfds : SET OF feature_definition := []; END_LOCAL; mfds := QUERY(temp <* feature_definition | 'MACHINING_FEATURE_SCHEMA.MACHINING_FEATURE_DEFINITION' IN TYPEOF (temp) );
WHERE
WR1: SIZEOF(QUERY( mfd <* mfds | NOT (SIZEOF(QUERY( pdr <*
get_property_definition_representations (mfd) |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF ( pdr.used_representation ) ) ) <=1 ) ) ) = 0;
WR2: SIZEOF(QUERY( mfd <* mfds | NOT (SIZEOF (QUERY (pd <* USEDIN (mfd,
'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') |
NOT (SIZEOF (QUERY (impl_rep <* QUERY (pdr <* USEDIN (pd,
'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'SHAPE_ASPECT_DEFINITION_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS'
IN TYPEOF (pdr.used_representation)) |
NOT (SIZEOF (QUERY (it <* impl_rep.used_representation.items |
('GEOMETRY_SCHEMA.PLACEMENT'
IN TYPEOF (it)) AND (it.name = 'orientation'))) = 1))) = 0))) = 0 ) ) ) = 0;
WR3: SIZEOF(QUERY( mfd <* mfds | NOT ((NOT (SIZEOF(['MACHINING_FEATURE_SCHEMA.ROUND_HOLE',
'MACHINING_FEATURE_SCHEMA.BOSS',
'MACHINING_FEATURE_SCHEMA.OUTSIDE_PROFILE',
'MACHINING_FEATURE_SCHEMA.REMOVAL_VOLUME',
'MACHINING_FEATURE_SCHEMA.FLAT_FACE',
'MACHINING_FEATURE_SCHEMA.POCKET',
'MACHINING_FEATURE_SCHEMA.PROTRUSION',
'MACHINING_FEATURE_SCHEMA.RIB_TOP',
'MACHINING_FEATURE_SCHEMA.ROUNDED_END',
'MACHINING_FEATURE_SCHEMA.SLOT',
'MACHINING_FEATURE_SCHEMA.STEP'] * TYPEOF(mfds)) = 1)) OR
((SIZEOF(QUERY(pdr <* get_property_definition_representations (mfd) |
( 'MACHINING_FEATURE_SCHEMA.PLANAR_SHAPE_REPRESENTATION'
IN TYPEOF ( pdr.used_representation ) ) AND
( pdr.used_representation.name ='maximum feature limit'))) >=0)) ) ) ) = 0;
END_RULE;
END_SCHEMA; -- machining_feature_schema