|
FUNCTION valid_datum_target_parameters (pdf : placed_datum_target_feature) : BOOLEAN; LOCAL rep_set : SET OF representation := [ ] ; parameter_representations : SET OF representation ; END_LOCAL ; REPEAT i := 1 TO HIINDEX ( 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 ) ; END_IF ; 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 = 'target diameter' ) AND ( SIZEOF ( [ 'geometric_tolerance_mim.measure_representation_item' , '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 ( srwp <* parameter_representations | ( SIZEOF ( srwp . items ) = 3 ) ) ) = 1 ) AND ( 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 ) AND ( SIZEOF ( QUERY ( srwp <* parameter_representations | ( SIZEOF ( QUERY ( i <* srwp . items | ( i . name = 'target width' ) AND ( SIZEOF ( [ 'geometric_tolerance_mim.measure_representation_item' , 'geometric_tolerance_mim.length_measure_with_unit' ] * TYPEOF ( i ) ) = 2 ) ) ) = 1 ) ) ) = 1 ) ) ; OTHERWISE : RETURN ( FALSE ) ; END_CASE ; END_FUNCTION; -- valid_datum_target_parameters |
|
public class FValid_datum_target_parameters public static Value run(SdaiContext _context, Value pdf) |