Here's a general solution to dashed lines in 3D. Line types aren't available in 3D GDL. I'm using this for hinge lines on doors and windows.
The parameters are:
- lineLen, the total length of the line object
- dashLen, the paper length of the dash
- gapLen, the paper length of the gap
!! 3D SCRIPT
!!convert paper lengths to model
dashLen = dashLen * GLOB_SCALE
gapLen = gapLen * GLOB_SCALE
dashStart = 0 !! where the first dash starts
dashQ = 0 !! counter for dashes
flag = 0 !! stopper for while loop
!!count dashes
WHILE flag = 0 DO
!! add a dash to the count
dashQ = dashQ + 1
!! advance to the next dash start
dashStart = dashStart + dashLen + gapLen
!! if that's beyond the end, stop
IF dashStart > lineLen THEN flag = 1
ENDWHILE
!!start of final dash
dashStart = dashStart - dashLen - gapLen
!!Is the last dash trimmed by the end of the object
IF dashStart + dashLen > lineLen THEN
bTrimDash = 1
trimLen = lineLen - dashStart !! special length for last dash
ELSE
bTrimDash = 0 !! object ends with gap, no special dash
ENDIF
!!normal dashes, omit last if trimmed
FOR k = 1 TO dashQ - bTrimDash
LIN_ 0, 0, 0, dashLen, 0, 0
ADDx dashLen + gapLen
NEXT k
!!special trimmed last dash if needed
IF bTrimDash THEN LIN_ 0, 0, 0, trimLen, 0, 0
DEL dashQ - bTrimDash