RULE restrict_product_definition_for_mating_tree

(* SCHEMA AUTOMOTIVE_DESIGN; *)
 
RULE restrict_product_definition_for_mating_tree FOR (product_definition);
WHERE
  wr1 : SIZEOF(QUERY(pd <* product_definition | (SIZEOF(QUERY(pdca <* USEDIN(pd
    , 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION')
     | pdca.frame_of_reference.name = 'mating definition')) = 1) AND (SIZEOF(
    QUERY(pdr <* USEDIN(pd, 
    'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION'
    ) | pdr.name = 'mating membership')) <> 2))) = 0;
  wr2 : SIZEOF(QUERY(pd <* product_definition | (SIZEOF(QUERY(pdca <* USEDIN(pd
    , 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION')
     | pdca.frame_of_reference.name = 'mating definition')) = 1) AND NOT ({1
     <= SIZEOF(QUERY(pdr <* USEDIN(pd, 
    'AUTOMOTIVE_DESIGN.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
    , 'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION')
     | pdca.frame_of_reference.name = 'mating definition')) = 1) AND (SIZEOF(
    QUERY(pdr <* USEDIN(pd, 
    'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATING_PRODUCT_DEFINITION'
    ) | (pdr.name = 'mating membership') AND (SIZEOF(QUERY(pdca <* USEDIN(pdr.
    related_product_definition, 
    'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_CONTEXT_ASSOCIATION.DEFINITION')
     | pdca.frame_of_reference.name = 'mating definition')) = 1))) > 1))) = 0;
END_RULE; -- 10303-214: automotive_design

[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:16:12-04:00