RULE restrict_product_definition_for_mating_tree

(* SCHEMA step_merged_ap_schema; *)
-- IN AP214
RULE restrict_product_definition_for_mating_tree FOR (product_definition );
   WHERE
      wr1:
         SIZEOF(QUERY (pd <* product_definition| (SIZEOF(QUERY (pdca <* USEDIN(pd, 'STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION')| (pdca.frame_of_reference.name = 'mating definition'))) = 1) AND (SIZEOF(QUERY (pdr <* USEDIN(pd, 'STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION')| (pdr.name = 'mating membership'))) <> 2))) = 0;
      wr2:
         SIZEOF(QUERY (pd <* product_definition| (SIZEOF(QUERY (pdca <* USEDIN(pd, 'STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION')| (pdca.frame_of_reference.name = 'mating definition'))) = 1) AND NOT ((1 <= SIZEOF(QUERY (pdr <* USEDIN(pd, 'STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION')| (pdr.name = 'mating membership') AND (pdr.related_product_definition.frame_of_reference.name = 'part occurrence')))) AND (SIZEOF(QUERY (pdr <* USEDIN(pd, 'STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION')| (pdr.name = 'mating membership') AND (pdr.related_product_definition.frame_of_reference.name = 'part occurrence'))) <= 2)))) = 0;
      wr3:
         SIZEOF(QUERY (pd <* product_definition| (SIZEOF(QUERY (pdca <* USEDIN(pd, 'STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION')| (pdca.frame_of_reference.name = 'mating definition'))) = 1) AND (SIZEOF(QUERY (pdr <* USEDIN(pd, 'STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION')| (pdr.name = 'mating membership') AND (SIZEOF(QUERY (pdca <* USEDIN(pdr.related_product_definition, 'STEP_MERGED_AP_SCHEMA.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION')| (pdca.frame_of_reference.name = 'mating definition'))) = 1))) > 1))) = 0;
END_RULE;

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:20-04:00