(* SCHEMA step_merged_ap_schema; *)
-- IN AP203e2/AP242
RULE component_class_for_assembly_select FOR (composite_assembly_sequence_definition, next_assembly_usage_occurrence, product_related_product_category );
LOCAL
i : INTEGER := 0;
j : INTEGER := 0;
k : INTEGER := 0;
dkuhr : LOGICAL := TRUE;
nnauo : INTEGER := 0;
nprpc : INTEGER := 0;
rp : product;
END_LOCAL;
REPEAT i := LOINDEX(composite_assembly_sequence_definition) TO HIINDEX(composite_assembly_sequence_definition);
nnauo := 0;
REPEAT j := LOINDEX(next_assembly_usage_occurrence) TO HIINDEX(next_assembly_usage_occurrence);
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);
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;
Generated by STEP Tools® EXPRESS to HTML Converter
2025-09-04T17:14:54-04:00