|
AutoCAD VBA : Texthintergrund-Farbe
CAD-Huebner am 29.05.2013 um 18:40 Uhr (0)
In VBA / ActiveX ist dafür meines Wissens kein Property bzw. Methode vorhanden.Kannst du stattdessen nicht auch Lisp oder .net verwenden, damit geht es auf jeden Fall.http://adndevblog.typepad.com/autocad/2013/05/change-the-background-mask-property-of-acdbmtext-object-programmatically-using-objectarx.html------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Elemente auf Layer durchlaufen und exploden
xem am 07.06.2013 um 13:09 Uhr (0)
Leider nicht - bin froh das ich etwas Durchblick bei LISP habe.------------------
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Elemente auf Layer durchlaufen und exploden
FIippy am 07.06.2013 um 12:12 Uhr (0)
Hallo xem,erst mal danke für deine Bemühung! Aber da ich noch recht unerfahren bin auf dem AutoCAD-Gebiet, hilft mir dein LISP-Code nicht weiter, weil ich ihn von der syntax her nicht verstehe... und wenn ich ehrlich bin, möchte ich mich auch gar nicht zu sehr mit LISP beschäftigen, wenn ich herum komme und es mit VBA lösen kann Kannst du mir auch mit VBA behilflich sein?
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Elemente auf Layer durchlaufen und exploden
xem am 07.06.2013 um 12:00 Uhr (0)
Auf die Schnelle im LISP:Code:(defun c:exb ( / as) ; lokale Variable;alle Blöcke auf Layer Raum auflösen(setq as (ssget "_X" (list(-4 . "OR") (-4 . "AND") (8 . "Raum") (0 . "AEC_MVBLOCK_REF") (-4 . "AND") (-4 . "OR") (cons 410 (getvar "CTAB")))))(if as (command "_explode" as ""))(setq as nil) ; as wird freigeben(princ)(setq as (ssget "_X" (list(-4 . "OR") (-4 . "AND") (8 . "Raum") (0 . "INSERT") ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Pickfirst selectionset ergaenzen und ausgeben
rexxitall am 26.06.2013 um 20:17 Uhr (1)
Hi hat von euch schon mal jemand herausgefunden wie man in VBA ein selectionset (per VBA automatisch anhand von z.B. objectnamen)erzeugt* und dasmit allen Griffen etc aktiviert ausgibt ? **entity.hilite true ist da nicht der bringer.Klar ich kann mir nen workaround basteln farbe der selektiereten elemente temporaer setzen, groups basteln usw. usw. Nur elegant ist das alles nicht wirklich.Bitte KEIN Lisp und kein .NET und kein C++Wenns nicht anders geht ist mir da ein workaround allemal lieber.LG Thomas*nul ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Auslesen von Schriftfeldern aus Attributen
c.schojer am 19.11.2013 um 13:58 Uhr (1)
Liebe Kollgen! wie bereits oben angeführt möchte ich die Schriftfelder aus Attributen von Blöcken auslesenIst dies in vba möglich??Lisp kann ich leider nicht!Mfg Christian
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : DXF erzeugen - Block Insert - Winkelwert
CAD-Huebner am 30.11.2013 um 11:10 Uhr (1)
Die Winkelangabe des Gruppencodes 50 sind im DXF in Dezimalgrad, im Lisp Gruppencode in rad anzugeben.Der Drehwinkel des INSERTS im DXF ist der Winkel um die Z-Achse des durch den Hochzugsrichtungsvektor (Gruppencodes 210,220, u. 230) vom WKS abgeleiteten Bezugskoordinatensystem. Der Block hat kein eigenes Objektkoordinatensystem, der Einfügepunkt (Gruppencodes 10,20 u.30) wird immer im WKS Koordinatensystem angegeben. Der Hochzugsrichtungsvektor definiert nur die Normale der Bezugsebene der Blockeinfügung ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Acad3DSolid's
dwg3d am 30.12.2013 um 10:24 Uhr (1)
Hallo Ingenieur Studio HOLLAUS,LISP bietet (aus meiner Anfänger-Sicht) u. a. die Vorteile: man kann z. B. mit Quader konstruieren, und den kann man einfach über 2 Punkte setzen. In VBA kann man einen "Quader" nur über 3DSolid setzen, dazu muss man dann auch noch 4 Werte deklarieren/bestimmen und die Position der Zentrums berechnen, wenn der Quader in eine Konstruktion passen soll.GrußDieter
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Acad3DSolid's
Ingenieur Studio HOLLAUS am 30.12.2013 um 14:28 Uhr (1)
Zitat:In LISP bin ich damit allerdings schon gefühlte Lichtjahre weiter.Was kann LISP bei obigem Beispiel besser?Und eine Überlegung nebenbei: ich würde mir überlegen, Blöcke dafür zu verwenden. Da gibt es Skalierfaktoren (statt der Größen) und du kannst auch gleich Attribute mitgeben, um mehr Auswertbarkeit für Stücklisten mit Größenangaben zu erhalten. Just my 2c.------------------www.cars4fun.at
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Acad3DSolid's
cadffm am 30.12.2013 um 14:55 Uhr (1)
Zitat:Original erstellt von dwg3d:an einem Punkt ein Problem:es sollen nicht beliebige Maße übernommen werden, sondern z. B. soll es 3 mögliche Höhen geben,(setq AS (getreal "AnzahlSchubkaesten 1 oder 2 oder 3 :"))wenn jetzt eine 4 eingegeben wird, soll das Programm stoppen, auf Falscheingabe hinweisen und LISP-Neustart vorschlagen.Da würde ich einen Umweg vorschlagen (Statt einer Zahl würde ich einen String abfragen) und zudemhört es sich so an als wäre ein Abbruch überflüssig - aber ich kenne ja den Code ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Acad3DSolid's
dwg3d am 31.12.2013 um 10:55 Uhr (1)
Hallo Ingenieur Studio HOLLAUS,obiges Beispiel waren ja nur erste Gehversuche in VBA.In einer LISP-Konstruktion stelle ich zuerst Positionen ein (view, ucs, osmode)[bestimmt ist das in VBA auch möglich].Für jedes Bauteil wird dann ein Layer erstellt, die Punkte p1 & p2 berechnen (list car cadr caddr), (command "quader" p1 p2) = Bauteil steht in Konstruktion.Ein einfaches Möbel kann (ohne Beschläge) schon mal aus 30 Bauteilen bestehen, das wäre in VBA schon eine Menge Arbeit, in LISP ist es aber noch übersc ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Acad3DSolid's
dwg3d am 31.12.2013 um 10:58 Uhr (1)
Hallo cadffm,der Code aus (defun c:TEST ( / CH) funktioniert Super.Allerdings frage ich mich, ob man nicht auf (atoi CH) verzichten kann, da durch (initget) ja nur richtige Eingaben akzeptiert werden!?Bislang dachte ich auch, bei Auswahlabfragen (if), müssen zwangsläufig auch (then) und (else) im Code stehen.Im LISP scheint das anders zu sein!?Guten RutschGrußDieter
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Acad3DSolid's
cadffm am 31.12.2013 um 12:08 Uhr (1)
(command "quader" p1 p2) = Bauteil steht in Konstruktion.QUADER ist ein AutoCAD-Befehl, keine Lisp-Funktion.In Lisp sprichst du die Befehlszeile mit COMMAND an, in VBA mit SENDCOMMAND ThisDrawing.SendCommand "QUADER" & vbCr & p1 & vbCr & p2 // oder so ähnlichEin einfaches Möbel kann (ohne Beschläge) schon mal aus 30 Bauteilen bestehen, das wäre in VBA schon eine Menge Arbeit, in LISP ist es aber noch überschaubar.Es ist in VBA nicht wirklich mehr Arbeit(abgesehen vom Variablen deklarieren), aber das zählt ...
|
In das Form AutoCAD VBA wechseln |