Return to Statement


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
$$
$$ TRIM THE RIGHT SECTION OF ARC1 TO LINE1
$$
CRVTRM/ARC1,REF,ARC1P(2),FIRST,LINE1,INT,$
LINE1P(1),NOTRIM,STATUS,STAT,IFERR,ER1:
$$
$$ TRIM THE LEFT SECTION OF ARC2 TO LINE2
$$
CRVTRM/ARC2,REF,ARC2P(2),FIRST,LINE2,INT,$
LINE2P(1),NOTRIM,STATUS,STAT,IFERR,ER1:
$$
$$ TRIM MIDDLE SEGMENT OF SPLINE BETWEEN LINE1
$$ AND LINE2; THIS IS THE ONLY TRIM GENERATING A
$$ SECOND OBJECT WHICH WILL BE IN SPLNRS
$$
SPLNRS=CRVTRM/SPLN,REF,SPLNP(2),FIRST,LINE1,INT,$
LINE1P(1),NOTRIM,SECOND,LINE2,INT,LINE2P(1),NOTRIM,$
STATUS,STAT,IFERR,ER1:
$$
$$ TRIM BOTH ENDS OF LINE3 PLUS TRIM THE ENDS OF
$$ LINE1 AND LINE2
$$
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