ГОСТ Р ИСО 10303-203-2003
composite_curYc.sclf_intersect
= UNKNOWN) THEN
RETURN (SIZEOF (QUERY <
seg <* cv\com positc_curvc.scgm cnts
|
(
NOT gbsf_check_curvc(bcg.parcM_curvc)))) = 0);
ELSE
IF ,CONFlG_CONTROL_DESIGN.CURVE_REPLICA* IN TYPEOF(cv) THEN
RETURN(gbsf_chcck_curvc(cv\curvc_replica.parenl_curvc)) ;
ELSE
IF (’CON FIGJ20NTROL_DESIGN.OFFSET_CURVE_3D‘ IN TYPEORcv))
AND ((cv\ofYsct_curve_3d.selfJntcrsccl = FALSE) OR (cv\
oftsct_curve_3d.$elfJntcrsect = UNKNOWN)) AND (NOT (
’CON FlG_CONTROL_DESIGN.POLYLINE’ IN
TYPEOF <cv.basis_curvc))) THEN
RETURN(gbsf chcck_curvc(cv\offsct_curve_3d.basis_curvc)) ;
ELSE
IF ’CONFIG_CONTROL_DESIGN.PCURVE‘ IN TYPEOF(cv) THEN
RETURN (gbsf_chcck_curve (cv\pcunc.refersnc€_to_curvc\
representation,items) l|) AND gbsf_chcck_surfacc(cv\
pcurvc.basis_surface));
ELSE
IF ’CON FIG_CONTROL_DESIGN.POLYLINE’ IN TYPEOF(cv) THEN
IF SIZEOF (cv\polyiine.points) >= 3 THEN
RETURN (TRUE);
END IF;
ELSE
IF ’CONFIG_CONTROL_DESIGN.SURFACE_CURVE’ IN TYPEOFicvi
THEN
IF gM’_chcck_curvc(cv\surfacc_ctirvc.curve_3d) THEN
REPEAT i := 1 TO SIZEOF (cv\surfacc_curvc.
associated_gcomctry) BY I;
IF ’CONFIG_CONTROL_DESIGN.SURFACE’ IN TYPEOF(cv\
suriacc_curvc.associatcd_gcometry |i|) THEN
IF NOT gbsf_check_surface (cv\surfacc_curve.
associated _geomctry|i)) THEN
RETURN (FALSE);
E N D JF;
ELSE
IF ’CONFlG_CONTROL_DESIGN.PClJRVE’ IN TYPEOFtcv
\.vurface_cu rvc.associated_geomct rv|i|)
THEN
IF NOT ghsf:_chcck_curve(cv\surtace_curve.
associatcd_gcometryli|) THEN
RETURN (FALSE) :
E N D JF;
END_IF;
E N D JF;
END_REPEAT ;
RETURN (TRUE);
END_IF;
ELSE
IF ’CONFIG_CONTROL_DESIGN.TRIMMED_CURVE’ IN TYPEOF(
cv) THEN
IF SIZEOF’d’CONFIG CONTROLJ3ESIGN.LINE’ ,
’CONFIG_CONTROL_DESIGN.PARABOLA’ .
’CONFIG_CONTROL_DESIGN.HYPERBOLA’! * TYPEOF(cv\
trimmed curvc.basis_curvc)) = 1 THEN
RETURN (TRUE);
ELSE
RETURN (gbsf_chcck_curvc(cv\trimmcd_curve.
basis curve)):
E N D JF ;
192