FUNCTION assembly_shape_is_defined
(* SCHEMA AUTOMOTIVE_DESIGN; *)
FUNCTION assembly_shape_is_defined(assy : next_assembly_usage_occurrence) :
BOOLEAN;
LOCAL
sdr_set : SET OF shape_definition_representation := [];
srr_set : SET OF shape_representation_relationship := [];
sdr1_set : SET OF shape_definition_representation := [];
pd_set : SET OF property_definition := [];
pdr_set : SET OF product_definition_relationship := [];
pds_set : SET OF product_definition_shape := [];
prop_set : SET OF property_definition := [];
END_LOCAL;
pd_set := bag_to_set(USEDIN(assy.related_product_definition,
'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION'));
pdr_set := QUERY(pdr <* bag_to_set(USEDIN(assy.related_product_definition,
'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_RELATIONSHIP.RELATED_PRODUCT_DEFINITION'
)) | SIZEOF(USEDIN(pdr, 'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION'
)) > 0);
IF SIZEOF(pd_set) > 0 THEN
REPEAT i := 1 TO HIINDEX(pd_set);
sdr_set := sdr_set + QUERY(pdr <* USEDIN(pd_set[i],
'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION') |
'AUTOMOTIVE_DESIGN.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr));
END_REPEAT;
END_IF;
IF SIZEOF(pdr_set) > 0 THEN
REPEAT i := 1 TO HIINDEX(pdr_set);
prop_set := prop_set + bag_to_set(USEDIN(pdr_set[i],
'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION'));
END_REPEAT;
IF SIZEOF(prop_set) > 0 THEN
REPEAT i := 1 TO HIINDEX(prop_set);
sdr_set := sdr_set + QUERY(pdr <* USEDIN(prop_set[i],
'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')
| 'AUTOMOTIVE_DESIGN.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr
));
END_REPEAT;
END_IF;
END_IF;
IF SIZEOF(sdr_set) > 0 THEN
REPEAT i := 1 TO HIINDEX(sdr_set);
srr_set := QUERY(rr <* bag_to_set(USEDIN(sdr_set[i]\
property_definition_representation.used_representation,
'AUTOMOTIVE_DESIGN.REPRESENTATION_RELATIONSHIP.REP_2')) |
'AUTOMOTIVE_DESIGN.SHAPE_REPRESENTATION_RELATIONSHIP' IN TYPEOF(rr));
pd_set := bag_to_set(USEDIN(assy.relating_product_definition,
'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION'));
IF SIZEOF(pd_set) > 0 THEN
REPEAT i := 1 TO HIINDEX(pd_set);
sdr1_set := sdr1_set + QUERY(pdr <* USEDIN(pd_set[i],
'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION')
| 'AUTOMOTIVE_DESIGN.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(
pdr));
END_REPEAT;
END_IF;
IF (SIZEOF(sdr_set) > 0) AND (SIZEOF(sdr1_set) > 0) THEN
IF SIZEOF(srr_set) > 0 THEN
REPEAT j := 1 TO HIINDEX(srr_set);
IF SIZEOF(QUERY(pdr <* bag_to_set(USEDIN(srr_set[j]\
representation_relationship.rep_1,
'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION'
)) | 'AUTOMOTIVE_DESIGN.SHAPE_DEFINITION_REPRESENTATION' IN
TYPEOF(pdr)) * sdr1_set) >= 1 THEN
pds_set := QUERY(x <* bag_to_set(USEDIN(assy,
'AUTOMOTIVE_DESIGN.PROPERTY_DEFINITION.DEFINITION')) |
'AUTOMOTIVE_DESIGN.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(x));
IF SIZEOF(pds_set) = 0 THEN
RETURN (FALSE);
END_IF;
REPEAT k := 1 TO HIINDEX(pds_set);
IF SIZEOF(QUERY(cdsr <* USEDIN(pds_set[k],
'AUTOMOTIVE_DESIGN.CONTEXT_DEPENDENT_SHAPE_REPRESENTATION.REPRESENTED_PRODUCT_RELATION'
) | cdsr.representation_relation :=: srr_set[j])) > 0 THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
END_IF;
END_REPEAT;
END_IF;
END_IF;
END_REPEAT;
END_IF;
RETURN (TRUE);
END_FUNCTION; -- 10303-214: automotive_design
Referenced By
Defintion assembly_shape_is_defined is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:16:12-04:00