RULE unique_datum_system

(* SCHEMA step_merged_ap_schema; *)
-- IN AP238 STEP-NC/AP242
RULE unique_datum_system FOR (product_definition_shape, datum_system );
   LOCAL
      ds : SET OF datum_system := [];
      sa : SET OF shape_aspect := [];
      pass : BOOLEAN := TRUE;
   END_LOCAL;
      REPEAT ii := 1 TO SIZEOF(product_definition_shape) WHILE pass;
         sa := bag_to_set(USEDIN(product_definition_shape[ii], 'STEP_MERGED_AP_SCHEMA.SHAPE_ASPECT.OF_SHAPE'));
         REPEAT iii := 1 TO SIZEOF(sa) WHILE pass;
            ds := QUERY (ds <* sa| 'STEP_MERGED_AP_SCHEMA.DATUM_SYSTEM' IN TYPEOF(ds));
            REPEAT i := 1 TO SIZEOF(ds);
               REPEAT j := 1 TO SIZEOF(ds);
                  IF i <> j THEN
                     IF ds[i]\datum_system.constituents = ds[j]\datum_system.constituents THEN
                        pass := FALSE;
                     END_IF;
                  END_IF;
               END_REPEAT;
            END_REPEAT;
         END_REPEAT;
      END_REPEAT;
   WHERE
      WR1:
         pass;
END_RULE;

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2023-12-22T16:32:03-05:00