Additional Status Codes

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.

Previous part of the polyline: current position and tangent is defined

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_prevPart.png

Segment by absolute endpoint

x, y, s

where 0 < s < 100

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_absEndpoint.png

Segment by relative endpoint

dx, dy, 100+s,

where 0 < s < 100

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_relEndpoint.png


Segment by length and direction

l, a, 200+s,

where 0 < s < 100

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_lengthDirection.png

Tangential segment by length

l, 0, 300+s,

where 0 < s < 100

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_tangLength.png

Set start point

x1, y1, 600,
https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_startPoint.png

Close polyline

0, 0, 700,
https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_close.png

Set tangent

ex, ey, 800,
https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_tangent.png

Set centerpoint

x0, y0, 900,
https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_centerPoint.png

Tangential arc to endpoint

x, y, 1000+s,

where 0 < s < 100

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_tangArcEnd.png

Tangential arc by radius and angle

r, a, 2000+s,

where 0 < s < 100

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_tangArcRadAng.png

Arc using centerpoint and point on the final radius

x, y, 3000+s,

where 0 < s < 100

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_arcCentRad.png

Arc using centerpoint and angle

0, a, 4000+s,

where 0 < s < 100

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_arcCentAng.png

Full circle using centerpoint and radius

r, 360, 4000+s,

where 0 < s < 100

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_circleCentRad.png

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:

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_addStatCod_ex1_1.png
https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_addStatCod_ex1_2.png
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:

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_addStatCod_ex2.png
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:

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_addStatCod_ex3.png
EXTRUDE 3, 1, 1, 3, 1+2+4+16+32,
        0, 0, 900,
        3, 360, 4001,
        2, 360, 4000

Example 4:

https://gdl.graphisoft.com/wp-content/uploads/ac19-gdl/StatCod_addStatCod_ex4.png

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