|
Autocad VBA : Grundsätzliche Entscheidung: VBA oder LISP?
Netwurm am 01.03.2006 um 10:13 Uhr (0)
Und wo ist die Variante für die Frau? ------------------
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Grundsätzliche Entscheidung: VBA oder LISP?
Ontario am 01.03.2006 um 10:24 Uhr (0)
Ok, bin überzeugt von VBA.
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Grundsätzliche Entscheidung: VBA oder LISP?
Big Sven am 02.03.2006 um 14:32 Uhr (0)
Hallo Ontario!Ich stand neulich vor einer ganz ähnlichen Entscheidung. Nur war es bei mir ein wenig verdreht: Lisp seit vielen Jahren und VBA gleich null. Habe dann ein Projekt begonnen, welches Daten aus der Zeichnung in eine Excel-Liste schreibt und im nächsten Schritt wieder Daten aus der Liste in die Zeichnung überträgt. Ich hatte das schon mit Acad und Lisp realisiert, aber der Zeitunterschied für das Ein- bzw. Auslesen mit der Excellösung ist so erheblich, dass ich alles was mit irgendwelchen Listen ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Interpolation z-wert in 3d-fläche
CAD-Huebner am 09.03.2006 um 22:03 Uhr (0)
Bei der Winkelmethode reicht eigentlich schon die Überprüfung, ob aller Winkel = 180°, evt. kann das Dreieck schon beim ersten Vergleich ausscheiden.Alternativ kann man auch prüfen, ob Fläche des Dreiecks P1-P2-P3idetisch ist mit der Summe der Teilflächen P-P1-P2, P-P2-P3 und P-P3-P1.Um die zu überprüfenden 3D Flächen vorab zu filtern, kann man prüfen, ob die Boundingbox der Flächen den prüfenden Punkt überhaupt einschließt.Ich hab auf die Schnelle nur eine LISP Variante, die lässt sich wegen der Selection ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Blockgebundene Layer ändern
CADmium am 24.03.2006 um 09:04 Uhr (0)
da du im VBA-Forum fragst, hast du zum "auflösen" der Blockreferenz sicher die entsprechende Methode "explode" verwendet?! Diese gibt ein array mit den neu entstandenen Elementen zurück.wenn nicht .. in Lisp gibts die Funktion (entlast) welche das letzte Objekt in der Datenbank zurückgibt. Wenn man sich dieses Objekt in einer Variablen merkt, dann "explodet" kann man mittels (entnext ..) die neuen Elemente einsammeln.------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Blockgebundene Layer ändern
CADmium am 24.03.2006 um 09:04 Uhr (0)
da du im VBA-Forum fragst, hast du zum "auflösen" der Blockreferenz sicher die entsprechende Methode "explode" verwendet?! Diese gibt ein array mit den neu entstandenen Elementen zurück.wenn nicht .. in Lisp gibts die Funktion (entlast) welche das letzte Objekt in der Datenbank zurückgibt. Wenn man sich dieses Objekt in einer Variablen merkt, dann "explodet" kann man mittels (entnext ..) die neuen Elemente einsammeln.------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Blockgebundene Layer ändern
CADmium am 24.03.2006 um 09:04 Uhr (0)
da du im VBA-Forum fragst, hast du zum "auflösen" der Blockreferenz sicher die entsprechende Methode "explode" verwendet?! Diese gibt ein array mit den neu entstandenen Elementen zurück.wenn nicht .. in Lisp gibts die Funktion (entlast) welche das letzte Objekt in der Datenbank zurückgibt. Wenn man sich dieses Objekt in einer Variablen merkt, dann "explodet" kann man mittels (entnext ..) die neuen Elemente einsammeln.------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Ähnliche Funktion wie SUBSTR?
Big Sven am 28.03.2006 um 14:44 Uhr (0)
Hallo Forum!Mal wieder eine super Anfängerfrage! Gibt es es einen ähnlichen Befehl in VBA wie in LISP SUBSTR? Dort habe ich die Möglichkeit, von einem String, beginnend bei Start unter Angabe der Länge, einen Teilstring zu erhalten.Hintergrund: Ich möchte wissen in welchen Projekt ich mich gerade aufhalte, um die entsprechende Datei zu laden. Beispiel:X:PROJEKTENAMEGesuchterNameRAUM01Dateiname.dwgIch möchte jetzt an den String GesuchterName herankommen.Vielen Dank für Eure Hilfe!Gruß Sven
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Tip: GetPoint mit Objektfangoption
CADmium am 29.03.2006 um 15:57 Uhr (0)
Zitat:Original erstellt von CADoktor:GetPoint bieten keinerlei Objektfangmöglichkeiten.Seit wann denn das??also bei mir nutzt die ActiveX-Methode ( der Einfachheit halber für mich mal in Lisp implementiert ) sehr wohl den Objektfang :(vla-getpoint(vla-get-utility(vla-get-activedocument(vlax-get-acad-object))))kopiers in die Befehlszeile und probier es aus.------------------ - Thomas -"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Tip: GetPoint mit Objektfangoption
CADoktor am 29.03.2006 um 16:32 Uhr (0)
Es geht ja nur um das Problem, dassz.B. (osnap(getpoint "Punkt") "_end") unter VBA nicht geht.Und manchmal muss es in bestimmten Funktionen auch ein ganz bestimmter Objektfang unabhängig vom eingestellten OSNAP sein.Deshalb dachte ich, dass es für manche VBA´ler eine interessante Alternative ist.Warum Lisp, wenn es auch unter VBA geht ;-)
|
In das Form Autocad VBA wechseln |
|
AutoCAD VBA : Tip: Objekte nach SendCommand manipulieren
fuchsi am 30.03.2006 um 16:10 Uhr (0)
leider hat VBA nicht die Evenst inkludiert, wie LispIn Lisp gibt es sehr wohl den Reaktor :vlr-commandCancelledIch habe mir sowas ähnliches in Lisp realisiert, im Reaktor :vlr-CommandWillStart merke ich mir ein einer globalen variable mittels (entlast) das letzte Objekt in der Datenbank.Nach dem :vlr-commandCancelled bzw :vlr-commandEnded ducrchsuche ich mit (entnext) alle dazugekommenen Elemente, und kann diese je nach Elementtyp verschieden behandeln.------------------ Ing. Anton FuchsWWW.FFZELL.AT.TC
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Tip: Objekte nach SendCommand manipulieren
CADoktor am 30.03.2006 um 16:16 Uhr (0)
eine Idee, wie man den Lisp Reactor vlr-commandCanceled unter VBA nutzen könnte?Ich bin nicht so der grosse Lisp´ler
|
In das Form AutoCAD VBA wechseln |
|
Autocad VBA : Blockdefinition Layer ändern
camehl am 10.04.2006 um 07:16 Uhr (0)
Hallo Forum,kennt jemand eine Möglichkeit auf die Layer-Eigenschaft einer Blockdefintion in der Blocktabelle mit VBA zuzugreifen?In der VBA-Objektbeschreibung fehlt diese Eigenschaft. In der Beschreibung der DXF-Gruppencodes wird diese Beschreibung aber aufgeführt und über Lisp kann mann auch darauf zugreifen:Befehl: (entget(tblobjname "BLOCK" "*x8"))((-1 . Objektname: 7eff9478 ) (0 . "BLOCK") (330 . Objektname: 7eff9470 ) (5 . "2297") (100 . "AcDbEntity") (67 . 0) (8 . "test") (100 . "AcDbBlockBegin") (70 ...
|
In das Form Autocad VBA wechseln |