Zitat:
Original erstellt von alterHausmeister:
Liebe LISPler,im Anhang meine kläglicher Versuch und eine Beispieldatei.
(setq Schnittlinie (entlast))
Das gibt Dir einen Entitynamen.
(command "_.rotate" Schnittlinie "" Point_S "k" "" Winkel) ;
ROTATE verlangt, wie die meisten AutoCAD-Befehle, keinen Entitynamen, sondern ein PICKSET (Auswahlsatz). Was soll das "k" und das "" da drin?
So wird's eventuell was:
(command "_.rotate" (ssadd Schnittlinie) "" Point_S Winkel)
Und dazu:
(entmake '((0 . "CIRCLE") (10 Point_S) (40 . MassC)))
Erstens quotest Du die ganze DXF-Liste, und was quoten bedeutet, liest Du am besten in Mapcars Lisp-Kurs durch: http://www.autolisp-tutorial.mapcar.net/. Da werden also die Variablen Point_S und MassC nicht ausgewertet.
Zweitens fängst Du da eine Liste mit (10 ...) an, einer andere mit (40 ...). Grundregel von Lisp ist aber, dass das erste Element einer zu evaluierenden Liste immer ein Funktionsname sein muss. Da muss also stehen: (cons 10 Point_S) bzw (cons 40 MassC)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP