|
Lisp : reactor in lisp
Geos am 16.05.2011 um 07:23 Uhr (0)
Probier mal folgendes:(sssetfirst (ssget "_P") (ssget "_P"))und dann(command "_.PROPERTIES")hth------------------Schöne GrüßeErnst www.geopaint.at
|
In das Form Lisp wechseln |
|
Lisp : reactor in lisp
zech am 12.05.2011 um 13:39 Uhr (0)
Hallo,ich habe ein Problem mit de reactoren. Ich weiß nicht genau welchen ich benutzen muss oder obes überhaut geht.(im Moment nehme ich den command reactor mit vlr-commandEnded)Ich habe in der Zeichnung viele verschiedene Blöcke und möchte den reactor nur aktivierenwenn es ein Block ist dessen Name mit "P_" anfängt. Ich klicke also einen Block an mit der linken Maustaste, greife ihn und verschiebe ihn.Jetzt möchte z.B.: den Layer ändern, bekomme ich hin, aber dies macht der reactor für alleswas ich versch ...
|
In das Form Lisp wechseln |
|
Lisp : reactor in lisp
zech am 16.05.2011 um 07:45 Uhr (0)
Ich denke das war ein guter Hinweis.Ich habe allerdings "ssgetfirst" benutzt. Damit klappt es. Ich selektiere ein Objekt in der Zeichnung und ein nachträglich aufgerufenes Lispprogramm kann mit "ssgetfirst" das selektierte Objekt weiterverarbeiten.Danke, ich denke der Fall ist gelöst.
|
In das Form Lisp wechseln |
|
Lisp : reactor in lisp
CADmium am 16.05.2011 um 08:06 Uhr (0)
ssgetfirst ist das eine, aber guck dir auch mal (ssget "I" ... ) an ... ist IMHO vielseitiger------------------ - 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 : vla-explode: MTexte?
Dorfy am 18.05.2011 um 15:59 Uhr (0)
Block oder Blockreferenz...Objekt wählen: ; IAcadBlockReference: AutoCAD Block Reference-Schnittstelle (Blockreferenz); Eigenschaftswerte:; Application (RO) = ...; InsUnits (RO) = "Millimeter"; InsUnitsFactor (RO) = 1.0; IsDynamicBlock (RO) = 0...; Unterstützte Methoden:; ArrayPolar (3); ArrayRectangular (6); ConvertToAnonymousBlock (); ConvertToStaticBlock (1); Copy (); Delete (); Explode (); GetAttributes (); GetBoundingBox (2); GetConstantAttributes (); GetDynamicBlockProperties (); GetE ...
|
In das Form Lisp wechseln |
|
Lisp : reactor in lisp
fuchsi am 16.05.2011 um 12:32 Uhr (0)
vlr-modified Reaktoren sind ziemlich böse, wenn im Reaktor das Reaktor-aufrufende Objekt geändert wird.Frühere versionen von Autocad sind dabei gnadenlos abgestürtzt, da die im Reaktor aufgerufenen Änderung sofort wieder den Reaktor aufgerufen hat.Neuere versionen verweigern mittlerweile jedliche Änderung im Reaktor.Darum sind im Command-willStart (end) Reaktor auch kein (command "....) erlaubt.
|
In das Form Lisp wechseln |
|
Lisp : reactor in lisp
zech am 16.05.2011 um 12:47 Uhr (0)
Das ist jetzt mein Ergebnis und es funktioniert sehr gut,ohne Absturz oder Ähnlichem.(vlr-command-reactor nil ( (:vlr-commandEnded . cmd-end-action)))In der Prozedur "cmd-end-action" wird die Argumentenliste nach "GRIP_STRETCH" durchsucht, wenn ok dann wird mit "ssgetfirst" das Objekt identifziert und wenn das Objekt ein Block ist mit dem Namen "P_*" dann wird es geändert. Dank an alle die hier gepostet haben.
|
In das Form Lisp wechseln |
|
Lisp : Namensbereich zum Schließen des Dokuments nicht gefunden
alfred neswadba am 30.03.2011 um 12:15 Uhr (0)
Hi,wenn Du zeigen würdest, bei welcher Programmzeile (externe EXE klingt ja nicht gerade nach LISP) der Fehler auftritt, dann könnte noch eher ins Detail gegangen werden. Ich kann es insofern bestätigen, dass (mit dotNET, wird mit VBA/VB6 wahrscheinlich ident sein) das öffnen von DOCs, die mit besagter Warnmeldung kommen, seit 2011 Probleme hat. Spich mit dieser Zeile:Code:Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.Open(....fliegt das Teil ab (mit 2010 gings noch mit dieser Art von D ...
|
In das Form Lisp wechseln |
|
Lisp : Texte einfügen
Dorfy am 19.05.2011 um 08:31 Uhr (0)
#ss ist bei dir ein selection setvlax-for x ist die Schleife, x ist dein vla-objectEDIT: x ist ein bzw. sind die Objekte des selection sets, welche nacheinander einzeln angesprochen werden...wenn du mit den gc arbeiten möchtest brauchst du das "klassische" Objekt, welches du mit (vlax-vla-object-ename x) innerhalb der Schleife erhältswenn du dies hast, kannst du es weiter verwurschten...nun kannst du dir überlegen, wo innerhalb der vlax-for-schleife du es einbaust ggf in der cond-schleife innerhalb der vla ...
|
In das Form Lisp wechseln |
|
Lisp : Texte einfügen
Dorfy am 18.05.2011 um 13:36 Uhr (0)
vlax-vla-object-ename wandelt dein vla-objekt in ein "herkömmliches" Objekt um...dann kannst du mit deinen Zeilen weitermachen und diese in der Schleife einbauen...EDIT: gc10 ist beim Bogen der Kreismittelpunkt...------------------Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..."[Diese Nachricht wurde von Dorfy am 18. Mai. 2011 editiert.]
|
In das Form Lisp wechseln |
|
Lisp : Texte einfügen
Dorfy am 18.05.2011 um 16:11 Uhr (0)
nein...in der (vlax-for x... Schleife (am Ende der Schleife) das vla-objekt mittels vlax-vla-object-ename wandeln und deine Zeilen (setq PKT (cdr(assoc 10 #SS)))(command "text" PKT "0.375" "" #Len ) entsprechend einpassen... oder besser die gewünschten Infos vom vla-objekt abfragen und den text mit vla-addtext einfügen------------------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 : vla-explode: MTexte?
Dorfy am 18.05.2011 um 15:39 Uhr (0)
beim "dumpen" vom mtext wird explode nicht aufgeführt....------------------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 : vla-explode: MTexte?
Dorfy am 18.05.2011 um 15:39 Uhr (0)
beim "dumpen" vom mtext wird explode nicht aufgeführt....------------------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 |