Guten Morgen,
ich habe ein Problem mit einer Lisp-Routine. Die Routine fügt nach Abfrage einen Block in eine Zeichnung ein. Anschließend wird abgefragt, ob der Block gespiegelt werden soll und ob gleich weitere Exemplare des gleichen Blockes eingefügt werden sollen (mit anderen Einfügepunkten). Bestätigt man die Abfrage ...nächster Einfügepunkt... mit Enter bzw. rechter Maustaste, wird die Routine beendet und kein weiterer Block eingefügt. So unter AutoCad 2002.
Unter AutoCad 2006/2007 läuft das Programm ebenfalls so ab, aber nach Bestätigen mit Enter bzw. rechter Maustaste wird noch ein Block exakt mit dem doppelten Abstand vom Koordinatenursprung wie der erste Block eingefügt.
Hier mal der Teil der Routine:
;;;Spiegeln des eingefügten Blocks
(initget "J N")
(princ)
(setq wahl (getkword "\nSpiegeln? J/N/<N>: "))
(if (not wahl) (setq wahl "N"))
(cond
((= wahl "J")
(prompt "\n 1. Punkt ist der Einfügepunkt!") ;;;1. Punkt der Spiegelachse
(setq iPkt2 (getpoint "\n 2. Punkt eingeben: ")) ;;;2. Punkt der Spiegelache
(command "_mirror" nEL "" iPkt1 iPkt2 "_y")
);;;END WAHL
);;;END COND
;;;Kopieren des Blockes
(setvar "osmode" 47)
(command "_copy" nEl "" "_m" iPkt1)
(while (setq iPkt1 (getpoint "\n Nächster Einfügepunkt : "))
(command iPkt1)
);;;END WHILE
(command "")
);;END PROGN
Das 2te, nicht gewollte, Einfügen passiert genau nach dem Command"". Warum läuft es jetzt unter 2006/2007 anders? Hat sich da was an der Programmierung geändert?
Die Einstellungen für die Rechtsklickanpassung ist bei den 3 Acads (2002/2006/2007) gleich. Beide laufen auf demselben PC. Ich denke daran liegt es nicht.
Hat jemand eine Tipp?
Grüße,
Thomas
------------------
Grüße,
Tommi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP