ГОСТ Р ИСО 10303-203-2003
END_REPEAT ;
RETURN (TRUE);
END_FUNCT10N; - - acyelic_produc«_dcfinition_rctationship
FUNCTION acyclic_surfacc_replica (rcp: surfacc_rcplica;
parent: surface): BOOLEAN;
IF NOT (‘CONFIG_CONTROL_DESIGN.SURFACE_REPLICA’ IN TYPEOF(parent))
THEN
RETURN (TRUE);
ENDJF:
IF parent : - : rcp THEN RETURN(FALSE):
ELSE
RETURN(acyclic_surfacc_replica (rcp, parcnt\surfacc_replica.
parent_suriacc>) ;
END_IF;
END_FUNCTION; - - acyclic_sutfacc_rcplica
FUNCTION assembly shape_is_defined (assy: ncxt_assembly usagc_occurrcnce;
schema: STRING): BOOLEAN;
LOCAL
srr_set: SET OF shapc_rcprcsentation_rclationship :■ | |:
i: INTEGER;
j: INTEGER;
sdr_sct: SET OF shapc_definition_reprcsentation := | ];
prl_sct: SET OF propeily_definition :■ | |;
pdrcl_scl : SET OF product_dcfinition_rclationship :" | J;
pr2_sct: SET OF propcrtv_dcfinitian := ( ];
END_LOCAL;
prl_set := bag_to_sct(USEDIN(assv.rclatcd_product_definition. schema *
\PROPERTY_DEFINITION.DEFINITION’ )) ;
REPEAT iI TO HI INDEX (prl_sct) BY l;
sdr_sct :» sdr_sct +■QUERY ( pdr <• USEDIN(pr!_sct|i|, schema +
‘.PROPERTY_DEFlNITION_REPRESENTATION.DEFINITION’) | ((schema +
,.SHAPE_DEFINITION_REPRESENTATION’) IN TYPEOF (pdr)) );
END_REPEAT:
pdrel_sct :» bag_to_sct(USEDIN(assy.rclatcd_product_definition. schema +
\PRODUCT_DEFINITION_RELATlONSHIP.‘ +
‘REl-ATED_PRODUCT_DEFINITION’ ));
REPEATj :- I TO HIINDEX (pdrcl_sct) BY I;
pr2_sct :•• pr2_sct + USEDIN (pdrcl_sctlj|, schema +■
’.PROPERTY_DEFINITION.DEFINITION’) ;
END_REPEAT ;
REPEAT i := l TO HIINDEX (pr2_sct) BY !:
sdr_set :« sdr_sct + QUERY ( pdr <* USEDlN(pr2_sct|i|. schema +
•.PROPERTY_DEFINITION_REPRESENTATION.DEFINITION’) | ((schema +
-.SHAPE_DEFINITION_REPRESENTATION’) IN TYPEOF (pdr)) );
END REPEAT ;
IF SIZEOF(sdr_sct) > 0 THEN
REPEAT i := l TO HllNDEX(sdr_set) BY I;
srr_sel :* QUERY ( rr <* bag_to_sct (USEDIN(sdr_sct(iJ\
propcrty_dcfinition_rcprescntation.used_rcprcscntation, schema +
‘.REPRESENTATION_RELATIONSHIP.REP_2’)) | ((schema +
*.SHAPE_REPRESENTATION_RELATIONSHIP‘) IN TYPEOF(rr)) );
IF SIZEOF(srr_set) > 0 THEN
REPEAT j
: -
I TO HIINDEX
(
s i t
set) BY I;
IF SIZEOF (QUERY ( pdr <* bag_to_sct(LSEDIN(srr_sctlj|\
representation re!ationship.rep_l, schema +
‘.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION‘ ) )
| ((schema + -.SHAPE_DEFINITION_REPRESENTATION‘>IN TYPEOF (
pdr)) ) * QUERY ( pdr <* bag_to_sct(USEDIN(assy.
ISO