Zitat:
Original erstellt von gmk:
Servus!Mit den userI R und S Sysvars kann man sich Zahlen und Strings merken.
Wie mache ich das mit Listen?
Wie cadffm schon schrieb, kannst Du das mittels diverser Lisp Funktionen machen, musst dazu Deine Liste aber auf komplizierte Weise für das XDATA-Format aufbereiten. So eine Funktion zum Aufbereiten der Daten schreibst Du natürlich nur einmal für Deine Funktionsbibliothek.
Wenn Du meine kostenfreien ArchTools herunter lädst, dann sind darin schon fertige Funktionen enthalten, mit denen Du alle möglichen komplexen Daten einschließlich Listen und auch dotted pairs, und auch ganze Lisp-Funktionen als XData, XDictionary und Dictionary speichern kannst.
(XDATA-PUT <ename> <key> <data> ) -> (XDATA-GET <ename> <key> )
(XDICTIONARY-PUT <ename> <key> <data> ) -> (XDICTIONARY-GET <ename> <key> )
(DICTIONARY-PUT <name> <key> <data> ) -> (DICTIONARY-GET <name> <key> )
Die ersten beiden sind wohl selbsterklärend, bei DICTIONARY-PUT kannst Du einen freien Namen als String wählen. Sinnvoll ist das dann beispielsweise als (DICTIONARY-PUT "ARCHTOOLS" "MYVAR" <data> ), das Du dann in eine Funktion zum Speichern von Deinen App-Variablen in der DWG verwenden kannst wie mit (AT-SETVAR "MYVAR" <data> )
Ich verwende das in meinen Apps extrem häufig, meistens hänge ich komplexe Assoc-Listen als Xdata an Entities, in denen beispielsweise Produkt- und/oder Fertigungsdaten stehen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP