FUNCTION using_items
(* SCHEMA Ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf; *)
FUNCTION using_items
(item: founded_item_select; checked_items: SET [0:?] OF founded_item_select) : SET [0:?] OF founded_item_select;
LOCAL
new_check_items : SET OF founded_item_select;
result_items : SET OF founded_item_select;
next_items : SET OF founded_item_select;
END_LOCAL;
result_items := [];
new_check_items := checked_items + item;
-- Find the set of representation_items or founded_items
-- in which item is used directly.
next_items := QUERY(z <* bag_to_set( USEDIN(item , '')) |
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.REPRESENTATION_ITEM' IN TYPEOF(z)) OR
('AP203_CONFIGURATION_CONTROLLED_3D_DESIGN_OF_MECHANICAL_PARTS_AND_ASSEMBLIES_MIM_LF.FOUNDED_ITEM' IN TYPEOF(z)));
-- If the set of next_items is not empty;
IF SIZEOF(next_items) > 0 THEN
-- For each element in the set, find the using_items recursively
REPEAT i := 1 TO HIINDEX(next_items);
-- Check for loop in data model, i.e. one of the next_items
-- occurred earlier in the set of check_items;
IF NOT(next_items[i] IN new_check_items) THEN
result_items := result_items + next_items[i] +
using_items(next_items[i],new_check_items);
END_IF;
END_REPEAT;
END_IF;
-- return the set of representation_items or founded_items
-- in which the input item is used directly and indirectly.
RETURN (result_items);
END_FUNCTION;
Referenced By
Defintion using_items is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:14:40-04:00