Hallo zusammen,
ich befasse mich erst seit kurzem mit Lispprogrammierung. Ich bin in diversen Tutorials und Foren bisher nicht auf eine Lösung für mein Problem gestoßen.
Was ich vorhabe: für die Verschachtelung verschiedener Frästeile möchte ich jeweils mehrere Zeichnungselemente zu einer Gruppe zusammenfassen. Eine Gruppe solcher Zeichnungselemente beinhaltet jeweils ein Textelement mit einer Nummerierung, z.B. "17" oder "1b16".
Ein Programm zum Erstellen dieser Gruppen habe ich bereits geschrieben. Dabei wird die Elementauswahl in einer Variablen gespeichert, die sich aus dem Text "block_" und dem Text der Nummerierung zusammensetzt, also z.B. "block_17" oder "block_1b16".
In einem Weiteren Programm möchte ich nun diese verschiedenen Elementgruppen weiter bearbeiten, z.B. verschieben, drehen ect. Und nun zu meinem Problem: das Speichern der jeweiligen Auswahl in einer Variablen funktioniert soweit (siehe Anhang "blerst"), aber mit dem Aufrufen der Variablen in command habe ich so meine Schwierigkeiten, da die Nummerierung keinem festgelegten Schema folgt, sondern höchst unterschiedlich sein kann.
Bisher hab ich versucht, die Gruppe folgendermaßen aufzurufen:
(defun c:blversch ()
(setq auswahl (car (entsel "Bitte die Zahl der Elementgruppe auswählen)))
(setq zahl (cdr (assoc 1 (entget auswahl))))
(setq basis (cdr (assoc 10 (entget auswahl))))
(setq varname (strcat "block_" zahl))
(command "_move" varname "" basis pause)
(princ)
)
Nun ist die Variable varname zwar mit dem Wert "block_17" oder "block_1b16" belegt. Aber eigentlich müsste die Variable selbst ja so lauten, um den vorher global gespeicherten Auswahlsatz aufrufen zu können. Aber das bekomme ich nicht hin.
Vielleicht kennt hier jemand ja eine Lösung. Für Euere Bemühungen schon mal vielen Dank.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP