|
Lisp : BKS Im- und Export
Dorfy am 19.07.2010 um 11:13 Uhr (0)
Hi Jörn,hab mir deine Zeilen nicht genau angesehen...aber mit (vl-catch-all-apply vla-add (list (vla-get-UserCoordinateSystems doc) (vlax-3d-point (mapcar.........sollte es auch gehen...------------------Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."
|
In das Form Lisp wechseln |
|
Lisp : Layoutnamen aus nicht geöffneten Zeichnungen
Dorfy am 20.07.2010 um 11:33 Uhr (0)
Hallo,"nicht geöffnete Zeichnung" -- das ist relativmit ObjectDBX aber ob da vla-open bei dir unter öffnen läuft ------------------Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."
|
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
Dorfy am 20.07.2010 um 12:22 Uhr (0)
@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))erstmal test2 starten -- unbekanter Befehldann test1 st ...
|
In das Form Lisp wechseln |
|
Lisp : Layoutnamen aus nicht geöffneten Zeichnungen
mundal am 20.07.2010 um 10:25 Uhr (0)
Hallo Forum,kann ich über LISP aus einer nicht geöffneten ACAD-Zeichnungdie Namen der darin enthaltenen Layouts ermitteln.Danke im VorausJoachim
|
In das Form Lisp wechseln |
|
Lisp : AutoLisp-Funktion in DWG-Datei integrieren
SebZ am 26.03.2010 um 17:10 Uhr (0)
zur Benutzerfreundlichkeit kannst du aber dennoch bedenken, dass man eine Lisp-Datei aus dem Explorer einfach in die AutoCAD-Zeichnung per DragnDrop ziehen kann. Das wäre einem Nutzer mit "einfachem Erfahrungshorizont" sicherlich zuzumuten. Und wenn du in deiner Lisp-Datei eine Code-Zeile spendierst, die dem Nutzer im Augenblick des Ladens sagt, wie er das Makro starten kann, dann ist doch alles schon relativ einfach.Schönes Wochenende!------------------GrußSebZ
|
In das Form Lisp wechseln |
|
Lisp : Fields/Felder und deren Werte addieren
-reltro- am 20.07.2010 um 14:41 Uhr (0)
Danke für die schnelle Antwort cadffmHmmm... ok...Funktioniert, nur wenn ich mir die Field-Expression anschau (erzeugt im Dialog zum erzeugen von Fields), hab ich ehrlich gesagt keine Ahnung wie ich diese aus einem Lisp heraus erzeugen soll.Das Field für die Fläche ist kein Problem.kannst du mir unter Umständen weiterhelfen?1.Field: %AcObjProp Object(%\_ObjId -1445000%).Area f "%lu2"%2.Field: %AcObjProp Object(%\_ObjId -1444992%).Area f "%lu2"%Formula: 1.Field - 2.Field- %AcExpr (%\_FldPtr -1353776% ...
|
In das Form Lisp wechseln |
|
Lisp : Fields/Felder und deren Werte addieren
Dorfy am 20.07.2010 um 17:05 Uhr (0)
Zitat:Original erstellt von -reltro-:Hmmm... ok...Funktioniert, nur wenn ich mir die Field-Expression anschau (erzeugt im Dialog zum erzeugen von Fields), hab ich ehrlich gesagt keine Ahnung wie ich diese aus einem Lisp heraus erzeugen soll.schon mal im Forum oder im Netz gesucht? hier im Forum------------------Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."
|
In das Form Lisp wechseln |
|
Lisp : AutoLisp-Funktion in DWG-Datei integrieren
aRakun am 26.03.2010 um 09:43 Uhr (0)
Hallo AutoLisp-Profis,ich bin neu im Forum und AutoLisp-Anfänger:Ich habe eine Funktion in Lisp geschrieben und möchte diese jetzt zusammen mit der DWG-Datei weitergeben. Nun scheint es nicht so einfach, diese Funktion in eine DWG-Datei einzubinden. Klar könnte ich die Funktion als separate Datei mit der DWG-Datei verschicken. Aber aus Erfahrung weiss ich, dass damit viele AutoCAD-Anwender nicht zurecht kommen werden.Jetzt gibt es meiner Meinung nach 3 Möglichkeiten:1. Das ist gar nicht möglich bzw. vorges ...
|
In das Form Lisp wechseln |
|
Lisp : AutoLisp-Funktion in DWG-Datei integrieren
CADmium am 26.03.2010 um 09:49 Uhr (0)
Das ist so nicht vorgesehen.Klar kannste deine Lisp bspweise in ein Dictionarie der Zeichnung speichern .. aber dann brauchst du wieder ein Tool, das die Funktion extrahiert und startet.ACAD ist kein Excel ....VBA-Projekte lassen sich aber (so) einbetten.------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
In das Form Lisp wechseln |
|
Lisp : AutoLisp-Funktion in DWG-Datei integrieren
alfred neswadba am 26.03.2010 um 09:50 Uhr (0)
Hi,herzlich willkommen bei CAD-de! 1. Das ist gar nicht möglich bzw. vorgesehen, dann muss ich mir was anderes einfallen lassen.Genau dieses, und damit gibt es (zumindest mit LISP) keine Viren, die man in DWG-Files hineinimpfen kann. Mit VBA wäre das anders, da ginge es, lehne ich aber auch wegen Virengefahr ab. Bekomme ich so eine Zeichung, öffne diese und hüpft mich das Fenster Makros aktivieren an == rat mal, wo ich draufklick. - alfred -------------------www.hollaus.at
|
In das Form Lisp wechseln |
|
Lisp : AutoLisp-Funktion in DWG-Datei integrieren
cadffm am 20.07.2010 um 11:57 Uhr (0)
Gemeint war: Du liest den Text über Lisp ein, im Beispiel wurde derString sogar an das Symbol "str" gepappt.an str hängt nun also der String "(defun c:test () (alert "HALLO"))"nun könnte man so: (eval (read str)) : zB den AutoCADbefehl "Test" definieren - ausgehend von einem "String" der in der Datei gespeichert wurde.Nur wie bereis am Anfang gesagt wurde - du brauchst ja im System erst mal eine Funktion welche diesen lesen&umsetzen macht.Dictionarys.. da sind zB. Multilinienstile gespeichert usw."ACAD_COL ...
|
In das Form Lisp wechseln |
|
Lisp : AutoLisp-Funktion in DWG-Datei integrieren
Dorfy am 20.07.2010 um 17:37 Uhr (0)
Zitat:Original erstellt von -reltro-: Die Sache mit dem Dictionary - hab mir die GCs von den Dingern angeschaut und muss sagen ich durchblick den Aufbau nicht.Gruppencode 3 scheint als Namensgeber zu fungieren, und 350 als Eigenschaft von GC 3 - right?jetzt ist GC 350 ein Entity name.- und dann?? dieses Entity weiter zu "entgeten" - jo, auch nicht wirklich aufschlussreich.Wäre dankbar wenn mir wer den Aufbau eines solchen Dictionary-objekt beschreiben könnte - weil es anscheinend besser funktionieren würd ...
|
In das Form Lisp wechseln |