RULE machining_feature_definition_constraints

(* SCHEMA step_merged_ap_schema; *)
-- IN AP238 STEP-NC/AP242
RULE machining_feature_definition_constraints FOR (feature_definition );
   LOCAL
      mfds : SET OF feature_definition := [];
   END_LOCAL;
      mfds := QUERY (temp <* feature_definition| 'STEP_MERGED_AP_SCHEMA.MACHINING_FEATURE_DEFINITION' IN TYPEOF(temp));
   WHERE
      WR1:
         SIZEOF(QUERY (mfd <* mfds| NOT (SIZEOF(QUERY (pdr <* get_property_definition_representations(mfd)| ('STEP_MERGED_AP_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(pdr.used_representation)))) <= 1))) = 0;
      WR2:
         SIZEOF(QUERY (mfd <* mfds| NOT (SIZEOF(QUERY (pd <* USEDIN(mfd, 'STEP_MERGED_AP_SCHEMA.PROPERTY_DEFINITION.DEFINITION')| NOT (SIZEOF(QUERY (impl_rep <* QUERY (pdr <* USEDIN(pd, 'STEP_MERGED_AP_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')| ('STEP_MERGED_AP_SCHEMA.SHAPE_REPRESENTATION_WITH_PARAMETERS' IN TYPEOF(pdr.used_representation)))| NOT (SIZEOF(QUERY (it <* impl_rep.used_representation.items| ('STEP_MERGED_AP_SCHEMA.PLACEMENT' IN TYPEOF(it)) AND (it.name = 'orientation'))) = 1))) = 0))) = 0))) = 0;
      WR3:
         SIZEOF(QUERY (mfd <* mfds| NOT (NOT (SIZEOF([ 'STEP_MERGED_AP_SCHEMA.ROUND_HOLE', 'STEP_MERGED_AP_SCHEMA.BOSS', 'STEP_MERGED_AP_SCHEMA.OUTSIDE_PROFILE', 'STEP_MERGED_AP_SCHEMA.REMOVAL_VOLUME', 'STEP_MERGED_AP_SCHEMA.FLAT_FACE', 'STEP_MERGED_AP_SCHEMA.POCKET', 'STEP_MERGED_AP_SCHEMA.PROTRUSION', 'STEP_MERGED_AP_SCHEMA.RIB_TOP', 'STEP_MERGED_AP_SCHEMA.ROUNDED_END', 'STEP_MERGED_AP_SCHEMA.SLOT', 'STEP_MERGED_AP_SCHEMA.STEP' ] * TYPEOF(mfds)) = 1) OR (SIZEOF(QUERY (pdr <* get_property_definition_representations(mfd)| ('STEP_MERGED_AP_SCHEMA.PLANAR_SHAPE_REPRESENTATION' IN TYPEOF(pdr.used_representation)) AND (pdr.used_representation.name = 'maximum feature limit'))) >= 0)))) = 0;
END_RULE;

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2024-09-06T14:00:33-04:00