(* SCHEMA Ap210_electronic_assembly_interconnect_and_packaging_design_mim_lf; *)
RULE ply_stock_material_select FOR (product_related_product_category, make_from_usage_option);
LOCAL
i,j,k,kp : INTEGER;
dkuhr : LOGICAL;
nmfuo : INTEGER;
nprpc : INTEGER := 0;
rp : product;
END_LOCAL;
dkuhr := TRUE;
REPEAT kp:= LOINDEX (product_related_product_category) TO
HIINDEX (product_related_product_category);
IF (product_related_product_category[kp].name = 'ply') THEN
REPEAT i:= LOINDEX (product_related_product_category[kp].products) TO
HIINDEX (product_related_product_category[kp].products);
nmfuo := 0;
REPEAT j:= LOINDEX (make_from_usage_option) TO
HIINDEX (make_from_usage_option);
rp := make_from_usage_option[j].related_product_definition.
formation.of_product;
IF (product_related_product_category[kp].products[i] = rp) THEN
REPEAT k:= LOINDEX (product_related_product_category) TO
HIINDEX (product_related_product_category);
IF ((rp IN product_related_product_category[k].products) AND
(product_related_product_category[k].name IN
['isotropic material', 'filament assembly',
'discontinuous fiber assembly'])) THEN
nprpc := nprpc + 1;
END_IF;
END_REPEAT;
IF (nprpc = 1) THEN
nmfuo := nmfuo + 1;
ELSE
dkuhr := FALSE;
ESCAPE;
END_IF;
END_IF;
END_REPEAT;
IF (dkuhr = FALSE) THEN
ESCAPE;
END_IF;
IF(nmfuo <> 1) THEN
dkuhr := FALSE;
ESCAPE;
END_IF;
END_REPEAT;
END_IF;
END_REPEAT;
WHERE
WR1 : dkuhr;
END_RULE;
Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:15:33-04:00