|
Lisp : AutoLisp-Funktion in DWG-Datei integrieren
-reltro- am 09.07.2010 um 22:32 Uhr (0)
Halloalso das schreiben einer Funktion als bespielsweise Text in eine Zeichnung funktioniert im Grunde schon, nur recht kompliziert.Fügt man den Programmcode 1:1 in ein Textelement ein, werden Strings beim lesen des Textes und umwandeln zu Programmcode, nicht mehr als Solche erkannt.So habe ich nun den Programmcode in seine Einzelzeichen zerlegt, um anschließend jedes Zeichen einzeln in einen ascii-code umzuwandeln, und dann alle gemeinsam als Text in die zeichnung zu schreiben...ganz klein und unscheinbar ...
| | In das Form Lisp wechseln |
|
Lisp : AutoLisp-Funktion in DWG-Datei integrieren
-reltro- am 20.07.2010 um 11:40 Uhr (0)
Zitat:Original erstellt von archtools: Aber natürlich wird Text als Programmcode erkannt, wenn im Text Programmcode steht.(setq str "(defun c:test () (alert "HALLO"))")Das speicherst Du jetzt auf eine Dir genehme Weise in einer Zeichnungsdatei ab (als Textelement macht sich das nicht besonders vorteilhaft, als Dictionary schon etwas besser), und holst es dann auf die passende Weise wieder als String zurück. Dann wird das mit (eval (read str)) als Lisp evaluiert.Das geht, wenn Du Strings in Dictionaries od ...
| | In das Form Lisp wechseln |
|
Lisp : AutoLisp-Funktion in DWG-Datei integrieren
-reltro- am 20.07.2010 um 14:12 Uhr (0)
Zitat:Original erstellt von Dorfy:@reltro ob das was wird...vllt solltest du dir die Grundlagen erstmal anschauen .hier mal ein kleines Beispiel - (ausführen in leerer Zeichnung)Code:(defun c:test1 (/) (entmake (list (0 . "MTEXT") (100 . "AcDbEntity") (100 . "AcDbMText") (10 0.0 0.0 0.0) (1 . "(defun c:test2 () (alert "HALLO"))")) ) ;(princ (cdr (assoc 1 (entget (car(entsel)))))) (princ (cdr (assoc 1 (entget (entlast))))) (eval(read(cdr (assoc 1 (entget (entlast)))))) (princ))er ...
| | In das Form Lisp wechseln |
|
Anzeige:
Anzeige: (Infos zum Werbeplatz)
 |