FUNCTION assembly_shape_is_defined
(* SCHEMA step_ship_schema; *)
-- ONLY IN AP203
FUNCTION assembly_shape_is_defined(assy: next_assembly_usage_occurrence;
schma: STRING): BOOLEAN;
LOCAL
srr_set : SET OF shape_representation_relationship := [];
i : INTEGER;
j : INTEGER;
sdr_set : SET OF shape_definition_representation := [];
pr1_set : SET OF property_definition := [];
pdrel_set : SET OF product_definition_relationship := [];
pr2_set : SET OF property_definition := [];
END_LOCAL;
pr1_set := bag_to_set(USEDIN(assy.related_product_definition,schma +
'.PROPERTY_DEFINITION.DEFINITION'));
REPEAT i := 1 TO HIINDEX(pr1_set) BY 1;
sdr_set := sdr_set + QUERY ( pdr <* USEDIN(pr1_set[i],schma +
'.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((schma +
'.SHAPE_DEFINITION_REPRESENTATION') IN TYPEOF(pdr)) );
END_REPEAT;
pdrel_set := bag_to_set(USEDIN(assy.related_product_definition,schma +
'.PRODUCT_DEFINITION_RELATIONSHIP.' +
'RELATED_PRODUCT_DEFINITION'));
REPEAT j := 1 TO HIINDEX(pdrel_set) BY 1;
pr2_set := pr2_set + USEDIN(pdrel_set[j],schma +
'.PROPERTY_DEFINITION.DEFINITION');
END_REPEAT;
REPEAT i := 1 TO HIINDEX(pr2_set) BY 1;
sdr_set := sdr_set + QUERY ( pdr <* USEDIN(pr2_set[i],schma +
'.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') | ((schma +
'.SHAPE_DEFINITION_REPRESENTATION') IN TYPEOF(pdr)) );
END_REPEAT;
IF SIZEOF(sdr_set) > 0 THEN
REPEAT i := 1 TO HIINDEX(sdr_set) BY 1;
srr_set := QUERY ( rr <* bag_to_set(USEDIN(sdr_set[i]\
property_definition_representation.used_representation,schma +
'.REPRESENTATION_RELATIONSHIP.REP_2')) | ((schma +
'.SHAPE_REPRESENTATION_RELATIONSHIP') IN TYPEOF(rr)) );
IF SIZEOF(srr_set) > 0 THEN
REPEAT j := 1 TO HIINDEX(srr_set) BY 1;
IF SIZEOF(QUERY ( pdr <* bag_to_set(USEDIN(srr_set[j]\
representation_relationship.rep_1,schma +
'.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'))
| ((schma + '.SHAPE_DEFINITION_REPRESENTATION') IN TYPEOF(
pdr)) ) * QUERY ( pdr <* bag_to_set(USEDIN(assy.
relating_product_definition,schma +
'.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')) | ((
schma + '.SHAPE_DEFINITION_REPRESENTATION') IN
TYPEOF(pdr)) )) >= 1 THEN
IF SIZEOF(QUERY ( cdsr <* USEDIN(srr_set[j],schma +
'.CONTEXT_DEPENDENT_SHAPE_REPRESENTATION.' +
'REPRESENTATION_RELATION') | (NOT (cdsr\
context_dependent_shape_representation.
represented_product_relation\property_definition.
definition :=: assy)) )) > 0 THEN
RETURN(FALSE);
END_IF;
END_IF;
END_REPEAT;
END_IF;
END_REPEAT;
END_IF;
RETURN(TRUE);
END_FUNCTION;
Referenced By
Defintion assembly_shape_is_defined is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2007-09-24T12:42:22-04:00