On Land

Environment Information
At Rill Architects we run ArchiCAD on Mac OS X. If you work at Rill, this is your stuff. If you don't, but you work in ArchiCAD, you may find something interesting. Anybody else, I don't know.
RSS

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.

Dashed Line 3D

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