; ateil zeichnet entlang einer Linie, Polyline mit Punkten eine Unterteilung ; mit Berücksichtigung einer Fuge. (defun os-off (/) (setvar "OSMODE"(logior (getvar "OSMODE") 16384)) ) (defun os-on (/) (setvar "OSMODE"(logand (getvar "OSMODE") 16383)) ) (defun c:ateil () (os-off) (vl-load-com) (setq auswahl (car(entsel "Linie wählen..."))) (setq auswahl2 (vlax-ename->vla-object auswahl)) (setq teilung (getint "\n Teilung angeben...")) (setq fuge (getreal "Fugenbreite angeben...")) (setq laenge (vlax-get-property auswahl2 'LENGTH)) (setq punkt (vlax-curve-GetPointAtDist auswahl (/ fuge 2))) (command "_.POINT" punkt) (setq versatz (/ (- laenge (* fuge teilung)) teilung)) (while (<= versatz laenge) (progn (setq punkt (vlax-curve-GetPointAtDist auswahl (+ versatz (/ fuge 2)))) (setq punkt2 (vlax-curve-GetPointAtDist auswahl (+ versatz (* fuge 1.5)))) (command "_.POINT" punkt) (command "_.POINT" punkt2) (setq versatz (+ versatz fuge (/ (- laenge (* fuge teilung)) teilung))) ) ) (princ (strcat "\n ferdich")) (os-on) )