$$Trim Curve Using Bounding Objects Example
ENTITY/SPLNP(4),SPLN,SPLNRS,ARC1P(3),ARC1,ARC2P(3),ARC2
ENTITY/LINE1P(2),LINE1,LINE2P(2),LINE2,LINE3P(2),LINE3
NUMBER/STAT
$$ CREATE LINES, ARCS, AND SPLINES TO TRIM
LINE1P(1) = POINT/-1,5,0
LINE1P(2) = POINT/-1,-1,0
LINE1 = LINE/LINE1P
LINE2P(1) = POINT/1,5,0
LINE2P(2) = POINT/1,-1,0
LINE2 = LINE/LINE2P
LINE3P(1) = POINT/-2,1,0
LINE3P(2) = POINT/2,1,0
LINE3 = LINE/LINE3P
SPLNP(1) = POINT/-2,2,0
SPLNP(2) = POINT/-0.5,2.5,0
SPLNP(3) = POINT/0.5,1.5,0
SPLNP(4) = POINT/2,2,0
SPLN = SPLINE/SPLNP
ARC1P(1) = POINT/2,4,0
ARC1P(2) = POINT/0,4.5,0
ARC1P(3) = POINT/-2,4,0
ARC1 = CIRCLE/ARC1P
ARC2P(1) = POINT/2,3,0
ARC2P(2) = POINT/0,3.5,0
ARC2P(3) = POINT/-2,3,0
ARC2 = CIRCLE/ARC2P
$$用LINE1剪去ARC1的右边
CRVTRM/ARC1,REF,ARC1P(2),FIRST,LINE1,INT,LINE1P(1),NOTRIM,STATUS,STAT,IFERR,ER1:
$$用LINE2剪去ARC2的左边
CRVTRM/ARC2,REF,ARC2P(2),FIRST,LINE2,INT,LINE2P(1),NOTRIM,STATUS,STAT,IFERR,ER1:
$$用LINE1、2剪去SPLIN的中间,是唯一产生另外线段SPLNRS的裁剪
SPLNRS=CRVTRM/SPLN,REF,SPLNP(2),FIRST,LINE1,INT,LINE1P(1),NOTRIM,$
SECOND,LINE2,INT,LINE2P(1),NOTRIM,STATUS,STAT,IFERR,ER1:
$$LINE1、2、3一起剪
CRVTRM/LINE3,REF,LINE3P(1),FIRST,LINE1,REF,LINE1P(2),$
SECOND,LINE2,REF,LINE2P(2),STATUS,STAT,IFERR,ER1:
JUMP/TERM:
ER1:
MESSG/'CRVTRM ERROR STATUS = ',ISTR(STAT)
TERM: HALT |