Вот Вам пример.
Даю 2D-скрипт. Аналогично делается и 3D-скрипт.
A - длина всего элемента.
_A - это длина отрезка.
B - толщина отрезка
_________________________________________________________
_A = 0.1
n = INT (A/_A)
FOR i=1 TO n
ADD2 0, -B*(i/2=INT(i/2))
GOSUB 1
ADD2 _A, 0
DEL 1*(i/2=INT(i/2)), NTR() -1
NEXT i
ADD2 0, -B*(i/2=INT(i/2))
_A = A-(n*_A)
IF _A > 0 THEN GOSUB 1
END
1:
FILL gs_Fill_type
POLY2_B 5, 2, gs_fill_pen, gs_back_pen,
0, B/2, 1,
_A, B/2, 1,
_A,-B/2, 1,
0,-B/2, 1,
0, B/2,-1
RETURN
_________________________________________________________
Это был "аскетичный" вид скрипта.
Ниже более простой.
_________________________________________________________
FILL gs_Fill_type
_A = 0.1
n = INT (A/_A)
FOR i=1 TO n
IF i/2=INT(i/2) THEN
ADD2 0, -B
ENDIF
POLY2_B 5, 2, gs_fill_pen, gs_back_pen,
0, B/2, 1,
_A, B/2, 1,
_A,-B/2, 1,
0,-B/2, 1,
0, B/2,-1
ADD2 _A, 0
IF i/2=INT(i/2) THEN
DEL 2
ADD2 _A, 0
ENDIF
NEXT i
IF i/2=INT(i/2) THEN
ADD2 0, -B
ENDIF
_A = A-(n*_A)
IF _A > 0 THEN
POLY2_B 5, 2, gs_fill_pen, gs_back_pen,
0, B/2, 1,
_A, B/2, 1,
_A,-B/2, 1,
0,-B/2, 1,
0, B/2,-1
ENDIF
_________________________________________________________