Hall Lispler,
wie unter
https://ww3.cad.de/foren/ubb/Forum330/HTML/000089.shtml beschrieben, gibt es die ArchTools ab sofort kostenfrei. Das Programm kann auch im Quellcode erworben werden, und kann sowohl in de rkostenfreien kompilierten Version als auch im Quellcode als sehr umfangreiche Lisp-Funktionsbibliothek genutzt werden, die Lisp-Programmierer dann in eigene Apps einbauen und ohne Lizenzgebühren weiter geben dürfen.
Leider habe ich mir bisher nicht die Mühe gemacht, eine Übersicht über die darin stehenden Funktionen aufzustellen. Falls hier in der Community ausreichend Interesse besteht, wird das aber noch nachgeholt.
Programmierer können das sofrt testen: einfach von https://ww3.cad.de/foren/ubb/Forum330/HTML/000089.shtml die aktuelle ArchTools Version downloaden, installieren und loslegen. Beispielsweise gibt es Funktionen wie:
(at-setvar <Varname> <Value> )
um beliebige eigene Systgemvariablen definieren und in der DWG speichern zu könne. Dazu gibt es natürlich auch die Funktion zum Auslesen:
(at-getvar <VarName> )
Das funktioniert auch mit Symbolen, Listen und DottedPairs:
(at-setvar "TEST" '(1 2 3 A B C))
(at-setvar "TEST" '(1 . 2))
Man kann deshalb auch ganze DEFUNs damit speichern:
(at-setvar "TEST" '(defun (a b) (+ a b)))
Oder die Funktionen zum Speichern und Auslesen von XDATA:
(xdata-put <EntityName> <AppName> <Value> )
und
(xdata-get <EntityName> <AppName> )
Auch damit kann man Symbole, Listen und ganze DEFUNs als Xdata an Entities hängen:
(xdata-put (car (entsel)) "TEST" '(a B C 1 2 3))
oder
(xdata-put (car (entsel)) "TEST" '(1 . 2))
Ausgelesen werden die Xdata dann wieder so:
(xdata-get (car (entsel)) "TEST")
Ähnliche Funktionen gibt es auch für Dictionaries (wird bei AT-SETVAR verwendet) und XDictionaries.
Falls also Interesse besteht, werde ich gerne eine Übersicht über wenigstens die wichtigsten Lisp-Funktionen in den ArchTools zusammenstellen. Lasst es mich einfach hier wissen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP