ГОСТ Р ИСО/ТС 10303-1051—2009
EXPRESS-спецификаиия:
*>
FUNCTION valid_datum_target_parameters (pdf: placed_datum_target_feature) :BOOLEAN:
LOCAL
rep_set: SET OF representation := [];
parameter_representations: SETOF representation:
END_LOCAL;
REPEAT i:= 1TOHIINDEX(pdf.representation_associations):
rep_set := rep_set +
pdf.representation_associations[i].used_representation;
END_REPEAT;
parameter_representations :=QUERY(rep <* rep_set |
(’GEOMETRIC_TOLERANCE_MIM.SHAPE_REPRESENTATION_WITH_PARAMETERS‘ IN
TYPEOF(rep))):
IF (SIZEOF( QUERY( srwp <* parameter_representations |
(SIZEOF( QUERY( i<* srwp.items |
(i.name=orientation’) AND
(‘GEOMETRY_SCHEMA.PLACEMENT’ IN TYPEOF(i)))) = 1))) <> 1)
THEN
RETURN(FALSE);
ENDJF;
CASE pdf\shape_aspect.description OF
point’: RETURN(SIZEOF(QUERY( srwp <* parameter_representations |
(SIZEOF(srwp.items) = 1))) = 1):
circle’: RETURN((SIZEOF( QUERY(srwp <* parameter_representations |
(SIZEOF(srwp.items) =2») = 1) AND
(SIZEOF(QUERY{ srwp<* parameter_representations |
(SIZEOF( QUERY(i <* srwp.items |
(i.name=’targetdiameter’)AND
(SIZEOF((’GEOMETRIC_TOLERANCE_MIM.MEASURE_REPRESENTATIONJTEM’,
’GEOMETRIC_TOLERANCE_MIM.LENGTH_MEASURE_WITH_UNIT’)*TYPEOF(i)
) =2)» = 1))) = 1)):
’line’: RETURN(SIZEOF( QUERY( srwp <* parameter_representations |
(SIZEOF( QUERY( i <* srwp.items |
(i.name= target length ) AND
(SIZEOF([’GEOMETRIC_TOLERANCE_MIM.MEASURE_REPRESENTATION_ITEM’,
GEOMETRIC_TOLERANCE_MIM.LENGTH_MEASURE_WITH UNIT’)’TYPEOF(i)
) =2))) = 1))) = 1):
rectangle’: RETURN((SIZEOF( QUERY( sn«p <* parameter_reprosentations |
(SIZEOF(srwp.items)= 3)))= 1)AND
(SIZEOF( QUERY( srwp <* parameter_representations |
(SIZEOF{ QUERY( i <* snvp.items |
(i.name=’target length) AND
(SIZEOF([’GEOMETRIC_TOLERANCE_MIM.MEASURE_REPRESENTATION_ITEM’,
GEOMETRIC_TOLERANCE_MIM.LENGTH_MEASURE_WITH_UNIT’]*TYPEOF(i)
37