; Koord.lsp ; Auto-CAD programm zum Digatalisieren und Ausgaben von Punktkoordinaten ; Punktkoordinaten als Liste x - y ; ; ; Werteausgabe als Zeichenkette, 3 Nachkommastellen wegen Rundung bei großen Zahlen ; ; (defun C:koord () ; (setq scmde (getvar "cmdecho")) (setvar "cmdecho" 0) ; (setq xkoord nil ykoord nil) ; ; hole dateinamen ; (progn (terpri) (setq mist (prompt "Dateinamen für Punktkoordinaten ")) (terpri) (prin1) ) (setq outfilehandle nil) (setq c_dwgpfad (getvar "dwgprefix")) ; (setq outfile (getfiled "Pkt-Datei" c_dwgpfad "pkt" 1)) (setq outfilehandle (open outfile "w")) (setq fertig 1) (setq radius (getdist "Radius eingeben oder zeigen ")) ; ; hole punkte bis keine mehr eingegeben ; (setq anzahl 0) (while (= 1 fertig) (setq punkt (getpoint "Punkt angeben ")) (if (= nil punkt) (setq fertig 0) ( progn (command "kreis" punkt radius) (setq xkoord (cons (car punkt) xkoord)) (setq ykoord (cons (cadr punkt) ykoord)) (setq anzahl (1+ anzahl)) ) ) ) ; ; alle punkte geladen, jetzt schreibe datei ; ; als Liste x - y ; (setq xyanz anzahl) (while (< 0 xyanz) (setq xyanz (1- xyanz)) (setq zeile (strcat (rtos (nth xyanz xkoord) 2 3) (chr 9) (rtos (nth xyanz ykoord) 2 3) (chr 10))) (princ zeile outfilehandle) ) ; (close outfilehandle) ; ; alle punkte geschrieben ; (setvar "cmdecho" scmde) )