The following additional status codes allow you to create segments and arcs in the polyline using special constraints. They refer to the next segment or arc. Original status code(s) are only effective where they are specified (a “+s” is included after the additional code).

### Note

Resolution of arcs is controlled by directives described in the section called “Directives for 3D and 2D Scripts”. In case of the POLY2_ command, if the resolution is greater than 8, it generates real arcs; otherwise all generated arcs will be segmented.

### Segment by absolute endpoint

x, y, s

where 0 < s < 100

### Segment by relative endpoint

dx, dy, 100+s,

where 0 < s < 100

### Segment by length and direction

`l, a, 200+s,`

where 0 < s < 100

### Tangential segment by length

`l, 0, 300+s,`

where 0 < s < 100

### Set start point

`x1, y1, 600,`

### Close polyline

`0, 0, 700,`

### Set tangent

`ex, ey, 800,`

### Set centerpoint

`x0, y0, 900,`

### Tangential arc to endpoint

`x, y, 1000+s,`

where 0 < s < 100

### Tangential arc by radius and angle

`r, a, 2000+s,`

where 0 < s < 100

### Arc using centerpoint and point on the final radius

`x, y, 3000+s,`

where 0 < s < 100

### Arc using centerpoint and angle

`0, a, 4000+s,`

where 0 < s < 100

### Full circle using centerpoint and radius

`r, 360, 4000+s,`

where 0 < s < 100

In this case the s status refers to the whole circle.

All angle values are in degrees. Omitted coordinates marked by 0
(for codes 300, 700, 4000) can have any value.

Example 1:

```EXTRUDE 21, 0, 0, 3, 1+2+4+16+32,
0, 0, 0,
7,   0,    0,
7,   3,    1,
6,   3,    1000, ! tangential arc to endpoint
5,   3,    1001, ! tangential arc to endpoint
1,   90,   2000, ! tangential arc by radius and angle
2,   3,    1001, ! tangential arc to endpoint
1,   3,    900,  ! set centerpoint
1,   2,    3000, ! arc using startpoint, centerpoint and point on final radius
1,   2.5,  900,  ! set centerpoint
0, -180, 4001,   ! arc using start point, centerpoint and angle
1,   5,    1000, !tangential arc to endpoint
-1,  0,    100,  ! segment by (dx, dy)
2,   225,  200,  ! segment by (len, angle)
-1,  0,    800,  ! set tangent
-1,  0,    1000, ! tangential arc to endpoint
0,   0,    -1,   ! end of contour
1,   1,    900,  ! set centerpoint
0.5, 360,  4000, ! full circle by centerpoint and radius
3.5, 1.5,  900,  ! set centerpoint
1, 360, 4001     ! full circle by centerpoint and radius```

Example 2:

 ```EXTRUDE 2+5+10+10+2, 0, 0, 3, 1+2+4+16+32, 0, 0, 900, 3, 360, 4001, 2.5, -1, 0, 2.5, 1, 0, 1.5, 1, 1, 1.5, -1, 1001, 2.5, -1, -1, 0, 2.5, 600, 0, -1, 800, 1, 1.5, 1001, -1, 0, 800, 0, 0.5, 1001, 0, 1, 800, -1, 1.5, 1001, 1, 0, 800, 0, 2.5, 1001, 0, 2.5, 700, -1.5, 0, 900, -2.5, 0, 600, -2.5, 1, 3000, -2.5, 1, 0, -1.5, 1, 0, -1.5, -1, 1001, -2.5, -1, 0, SQR(2)-1, 45, 200, -2.5, 0, 3000, -2.5, 0, 700, 0, -1.5, 900, 1, 360, 4000```

Example 3:

```EXTRUDE 3, 1, 1, 3, 1+2+4+16+32,
0, 0, 900,
3, 360, 4001,
2, 360, 4000
```

Example 4:

```ROTY-90
REVOLVE 9, 180, 16+32,
7, 1, 0,
6, 1, 0,
5.5, 2, 0,
5, 1, 0,
4, 1, 0,
3, 1, 900, ! set centerpoint
0, 180, 4001, ! arc using startpoint, centerpoint and angle
2, 1, 0,
1, 1, 0
```