|
Tsetfurom : Josys Schultüte
fuchsi am 05.09.2007 um 15:18 Uhr (0)
Na dann gehen wir mal, eineige inge Schritt für Schritt durch (setq OldOsmode (getvar "OSMODE")) (setvar "OSMODE" 0)Merken des alten Objektfangesund Löschen des Objektfanges (setq LastObj (entlast)) Merken des letzten Objektes. Alle nachfolgenden Objekte sind dann von deinem LISP erzeugt wordenHier gibt es 3 Möglichkeiten, die zu beachten sind1. Zeichnung ist leer die Variable LastObj = nil2. Das letzte Objekt war ein INSERT mit Attributen - Es gibt noch NachfolgeObjekte3. Das letzte Objekt ist irgenein so ...
|
| In das Form Tsetfurom wechseln |
|
Lisp : Layerliste aus gschlossener Zeichnung
fuchsi am 04.10.2007 um 12:06 Uhr (0)
Zitat:Original erstellt von CADmium:..und (Command "_open" "c:/kist2007/template/kist2007.dwt")funktioniert nur wenn die SYSVAR SDI auf 1 steht...Mit Lisp wirst überhaupt Probleme kriegen eine Zeichnung zu öffnen , und Lisp weiterlaufen zu lassen.Lisp läuft im Namespace der aktuellen Zeichnung, und wennst mit SDI=1 eine andere zeichnung öffnest, ist dieser Namespace mit dem Lisp futsch.Ich sehe hier auch eher die Lösung mit dem Object-DBX !------------------ Ing. Anton FuchsWWW.FFZELL.AT.TC
|
| In das Form Lisp wechseln |
|
AutoLisp : Anzahl der Attribute einer Zeichnung
fuchsi am 03.11.2003 um 13:58 Uhr (0)
tschuldige natürlich nicht sslength sondern nur length
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Objekte suchen ihn Zeichnung
fuchsi am 19.10.2005 um 08:47 Uhr (0)
Zitat:So ist das Beispiel sauber: (setq ss (ssget "X" (list (assoc 0 ed))))yepp, hast natürlich absolut recht !------------------ Ing. Anton FuchsWWW.FFZELL.AT.TC
|
| In das Form AutoLisp wechseln |
|
Lisp : Zeichnung vom Modellbereich in den Layoutbereich verschieben
fuchsi am 20.05.2009 um 18:07 Uhr (0)
wenn diese Funktion nicht geht.Ist das zeichnungsabhängig? Also in der selben zeichnung immer wieder nachvollziehbar?Wird dabei noch auf das Layout1 umgeschaltet?Die meldung unbekannter Befehl 0,0 sagt mir, dass einer der vorigen befehle (aus welchem Grund auch immer) einen Befehlsoption mehr benötigt hat, und dewegen das (command "_pasteclip" "0,0") nicht mehr als eine Befehl abgehandelt wird, sondern die Option 0,0 einen neuen Befehl beginnt.Das (command .....) darf man nicht als abgeschlossenen Befehl s ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Befehle bei jeder Zeichnung und nur beim Start
fuchsi am 02.08.2004 um 11:58 Uhr (0)
an und für sich alles nicht so leicht lösbar. die punkt.exe soll solange laufen, wie die acad.exe läuft, und zwar nur genau 1 mal. beim beenden der acad.exe soll auch die punkt.exe beendet werden. das wirst du so mit lisp nicht ermöglichen können. (zwar das einmalige starten mittels blackboard, aber nicht das beenden, (naja mit einem VBA Reaktor application.AppDeactivate und wilden API -Funktionen die aus dem Taskmanager applis abschiessen)) Besser wäre es eigentlich, wenn Programme , die nur 1mal laufen d ...
|
| In das Form AutoLisp wechseln |
|
AutoLisp : Objekte suchen ihn Zeichnung
fuchsi am 18.10.2005 um 10:25 Uhr (0)
Zitat:Original erstellt von Dober Heinz:Hallo Lisplerich habe mit diesem Befehl (setq (ssget)) ein Objekt gewählt, wie kann ich die Ganze Zeichnug durchsuchen nach gleichen Objekten.danke heinzich würd das erste Objekt nicht mit SSGET wählen, sondern mit Entsel (ssget = Objkte wählten entsel = Objekt wählen)und dann z.B.: hiermit(setq en (car (entsel)))(setq ed (entget en))(setq ss (ssget "X" (list (cons 0 (cdr (assoc 0 ed))))))alle Elemente des gleichen Typs (z.B.: alle Linien) wählen------------------ ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Meldung beim Öffnen der Zeichnung unterdrücken
fuchsi am 08.07.2010 um 13:20 Uhr (0)
IMHO die einfachste Möglichkeit diese meldung wegzubekommen, wäre das Wiederherstellen dieser Zeichnungen.Wenn Ihr diese meldungen auf Dauer ignoriert (und das tut ihr automatisch, wenn die Meldung nicht erscheint), riskierst Du damit einen Datenverlust.Für diverse Stapelbearbeitungen, beid enen diese Meldungen stören würden, setzte ich dazu das Programm ClickOff ein. Das erkennt automatsich diese Meldung, und bestätigt diese mit einem OK.
|
| In das Form Lisp wechseln |
|
AutoLisp : Anzahl der Attribute einer Zeichnung
fuchsi am 03.11.2003 um 13:57 Uhr (0)
hier 2 kleine lisp programme mit dem einen kannst du attribute per lisp setzten (WriteAttribute (entlast) Myattribut MyNewValue ) das 2. liest dir alle attributte eines eingefügten blockes als assoc-liste aus (GetAllAttributes (entlast)) ergibt (( Attname1 . AttValue1 )( AttName2 . AttValue2 ) ...) also ATTREQ auf 0 setzen, den block per lisp eingügen, und mit (sslenght (GetAllAttributes (entlast))) kriegst du rasu wieviele attribute der block hat ; ; schreibt in einen Block ein Attribut ; (defun ...
|
| In das Form AutoLisp wechseln |
|
Lisp : (command-Zeile aus ACAD14
fuchsi am 11.12.2007 um 15:00 Uhr (0)
Damit lädt man lediglich die Blockdefinition aus einer externen Zeichnung in die Zeichnung, ohne den Block zu plazieren.Mit dem (commamd) wird einfach die Abfrage nach dem Einfügepunkt angebrochenKann durchaus Sinn machenZ.B.: zum automatischen umdefinieren von Blöcken(command "._insert" "MyBlock=d:/test.dwg") (command)damit wird der vorhandene Block MyBlock mit dem Inhalt der Zeichnung test.dwg überschrieben.------------------ Ing. Anton FuchsWWW.FFZELL.AT.TC
|
| In das Form Lisp wechseln |
|
Lisp : Zwischenablage - Datei - oder ?
fuchsi am 09.08.2010 um 12:06 Uhr (0)
Um zwischen 2 Autocad Instanzen (2x acad.exe) zu kommunizieren, würde ich auch den Weg über eine temp. Datei wählen.Kommt mir sicherer vor, als die Zwischenablage. Vor allem, da ich in beiden Programmen, die Lispprogramme selber schreiben kann. Die Zwischenablage würde ich nur dort verwenden, wenn das Zielprogramm nur über diese Importmöglichkeit verfügt.(aber von acad nach acad kann man selber Lisp oder VBA Programme schreiben)Um von Zeichnung zu Zeichnung in der SELBEN acad.exe zu kommunizieren, kann man ...
|
| In das Form Lisp wechseln |
|
AutoLisp : mehrere Zeichnungen mit Script bearbeiten
fuchsi am 11.05.2004 um 14:01 Uhr (0)
_open C:/Temp/Test1.dwg ..... (command _qsave ) _open C:/Temp/Test2.dwg ..... (command _qsave ) _open C:/Temp/Test3.dwg ..... allerdings musst du in der konfig unter system den Kompatibilitätsmudus für einzelne Zeichnungen einstellen da laufens cripte dann viel unproblematischer ab (ein open einer neuen Zeichnunge ebednet immer die vorige Zeichnung, so wie früher las man nur eine Zeichnung öffnen konnte) ------------------
|
| In das Form AutoLisp wechseln |
|
Lisp : Objektname als String
fuchsi am 06.04.2010 um 12:56 Uhr (0)
Zum Einlesen in eine anderes Programm???IMHO werden Elementnamen beim Öffnen einer Zeichnung neu vergeben. Für die Anwendungen ist nur die Referenznummer (Gruppencode 5) sinnvoll verwendbar.
|
| In das Form Lisp wechseln |