(* SCHEMA structural_analysis_design; *)
RULE component_class_for_assembly_select FOR (
composite_assembly_sequence_definition,
next_assembly_usage_occurrence,
product_related_product_category);
LOCAL
i : INTEGER;
j : INTEGER;
k : INTEGER;
nnauo : INTEGER;
dkuhr : LOGICAL;
rp : product;
nprpc : INTEGER;
END_LOCAL;
dkuhr := TRUE;
REPEAT i := LOINDEX(composite_assembly_sequence_definition) TO
HIINDEX(composite_assembly_sequence_definition) BY 1;
nnauo := 0;
REPEAT j := LOINDEX(next_assembly_usage_occurrence) TO HIINDEX(
next_assembly_usage_occurrence) BY 1;
IF composite_assembly_sequence_definition[i] =
next_assembly_usage_occurrence[j].relating_product_definition
THEN
rp := next_assembly_usage_occurrence[j].
related_product_definition.formation.of_product;
nprpc := 0;
REPEAT k := LOINDEX(product_related_product_category) TO
HIINDEX(product_related_product_category) BY 1;
IF (rp IN product_related_product_category[k].products) AND (
product_related_product_category[k].name IN ['ply',
'ply laminate','filament laminate','processed core',
'composite assembly']) THEN
nprpc := nprpc + 1;
END_IF;
END_REPEAT;
IF nprpc = 1 THEN
nnauo := nnauo + 1;
ELSE
dkuhr := FALSE;
ESCAPE;
END_IF;
END_IF;
END_REPEAT;
IF dkuhr = FALSE THEN
ESCAPE;
END_IF;
IF nnauo = 0 THEN
dkuhr := FALSE;
ESCAPE;
END_IF;
END_REPEAT;
WHERE
wr1: dkuhr;
END_RULE; -- component_class_for_assembly_select
Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:15:08-04:00