|
AutoCAD VBA : VBA Befehl per Lisp Öffnen
cadffm am 03.05.2018 um 09:56 Uhr (1)
Da hast du für deinen Fall die falsche Funktion gegriffen, nutze vl-vbarun und es funktioniert,zumindest wenn du auch die erste öffnende Klammer wieder schließt.(defun c:HL (/) (vl-vbarun "Befehle.dvb!Modul1.Hilfslinie"))
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : VBA Befehl per Lisp Öffnen
David F. 26 am 03.05.2018 um 10:01 Uhr (1)
Ouh man wenn das mit den Klammern schon anfängt sollte ich mir echt überlegen ob ich das weiter machen .Aber vielen Dank so funktioniert es. Könntest du mir vielleicht noch erklären was der Unterschied zwischen den beiden Befehlen ist?
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : VBA Befehl per Lisp Öffnen
cadffm am 03.05.2018 um 10:33 Uhr (1)
In Lisp gibt es zwei Welten (toll ist das beide praktisch problemlos vermischt werden dürfen)vl-vbarun startet ein Makro eines geladenen VBAProjektes in der aktuellen Applikation (deinem Acad was du aktuell vor Augen hast)http://help.autodesk.com/view/ACD/2018/ENU/?guid=GUID-75387617-9144-49CB-97E4-03B4CD29973B vla-RunMacro ist für das ActiveX gedacht, man übergibt der Funktion das Objekt der Applikation in der es ausgeführt werden sollund die Information aus welchem (geladenen) Projektes es ein Makro star ...
|
In das Form AutoCAD VBA wechseln |
 |
AutoCAD VBA : VBA Befehl per Lisp Öffnen
David F. 26 am 03.05.2018 um 11:26 Uhr (15)
Sehr ausführlich Dankeschön das hat mir sehr geholfen. Die Ideen mit den Prüfungen werde ich sehr wahrscheinlich nutzen. Danke noch einmal dafür.
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : VBA Befehl per Lisp Öffnen
KlaK am 03.05.2018 um 13:04 Uhr (1)
Alternative:(command "_vbarun" "VBA-Funktion")oder(^C^C_-vbarun;"macroName")und Befehl einfach in eine Werkzeugpalette legenGrüßeKlaus
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : VBA Befehl per Lisp Öffnen
David F. 26 am 03.05.2018 um 13:50 Uhr (1)
Danke dir Klaus für diese Möglichkeit. Aber es ging mir genau darum die Werkzeugpalette nicht zu benutzen.Danke Trotzdem.
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Kann Befehl nicht finden
David F. 26 am 04.05.2018 um 10:17 Uhr (1)
Guten Tag liebes Forum,Ich hab folgendes Problem. Ich habe mir einen Simplen Befehl geschrieben (VBA):Sub Tuer()ThisDrawing.ActiveLayer = ThisDrawing.Layers("ADS_1_Tür")ThisDrawing.SendCommand "_-Insert" & vbrCr & "Variable Tür" & vbCrEnd SubDie dazugehörige LISP: (defun c:vart(/) (vl-vbarun "Befehle.dvb!Modul1.Tuer")(Princ))Unter Option habe ich dann Den Pfad bei den Supportdateien angegeben.Jedoch kommt bei Eingabe des Befehls folgender Fehler:Unbekannter Befehl. "Tür".Und sagt mir das er die Tür.DWG nic ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Kann Befehl nicht finden
cadffm am 04.05.2018 um 11:19 Uhr (1)
Unbekannter Befehl. "Tür"Ich dachte dein Befehl nennt sich VART? (defun c:vart"Und sagt mir das er die Tür.DWG nicht finden kann."ThisDrawing.SendCommand "_-Insert" & vbrCr & "Variable Tür" & vbCrDamit sendest du String(s) in die Befehlszeile, identisch zu der Handeingabe [i](wobei Acad jedoch die Automation erkennt und einige Dinge in dem Fall anders ablaufen)Puh, wo fängt man an.Das ACAD nach TÜR sucht ist zunächst mit (d)einem Schreibfehler? zu erklären,du hast nachdem _-INSERT vbrCr geschrieben, ändere ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Laufzeitfehler bei AutoCAD.AcCmColor.22
Goofy007 am 22.10.2018 um 14:43 Uhr (1)
Hallo Cadmium,Danke für die rasche Antwort. Leider kann ich mit Lisp nicht viel anfangen. Mein Code ist Teil einer größeren Sammlung von VBA Programmen und ich weiß nicht, ob bzw. wie ich da Teile durch Lisp-Code ersetzen kann.Das mit den ersten 2 Ziffern ist mir bekannt. Die stehen da auch so drinnen. Meine Versionsnummer ist 22.Eigentlich war der gepostete Code auch schon zum Testen vereinfacht. Im Originalcode steht: Code:Dim AcFarbe As StringVersion = Left(ThisDrawing.Application.Version, 2)AcFarbe = ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Laufzeitfehler bei AutoCAD.AcCmColor.22
KlaK am 23.10.2018 um 13:20 Uhr (1)
Zitat:Original erstellt von Goofy007:Hallo Cadmium,Danke für die rasche Antwort. Leider kann ich mit Lisp nicht viel anfangen. Mein Code ist Teil einer größeren Sammlung von VBA Programmen und ich weiß nicht, ob bzw. wie ich da Teile durch Lisp-Code ersetzen kann.Das mit den ersten 2 Ziffern ist mir bekannt. Die stehen da auch so drinnen. Meine Versionsnummer ist 22.Eigentlich war der gepostete Code auch schon zum Testen vereinfacht. Im Originalcode steht: Code:Dim AcFarbe As StringVersion = Left(ThisDr ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : zusatzinformation polylinien
cadffm am 07.11.2018 um 16:11 Uhr (1)
Weil cadffm eventuell nicht bekannt ist ob dieses ihm Bekannte in der vba Welt zugänglich ist. SORRY.Im DXF/AutoLISP Objektmodell, wenn man es denn so nennen darf, hast du Zugriff.Damit du es mal siehst: Markiere die PL und starte Befehl LISTEOder per Lisp in der Befehlszeile: (entget(car(nentsel)))und klicke ein Segment der Polyline an.Falls es mit VBA nicht erreichbar ist(wie es sich anhört) dann kann ich es (Lisp), du aber nicht (vba).
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : zusatzinformation polylinien
rexxitall am 07.11.2018 um 17:08 Uhr (1)
Ja man kommt mit VBA nicht direkt an alles ran.Aber man kann notfalls von VBA aus Lisp Routinen aufrufen (mit Parametern etc) Sowas binde ich auch gelegentlich (ungern) ein.Oder wenn gar nichts mehr geht, sich eine .NET DLL schreiben, welche man von VBA aus ebenfalls aufrufen kann. Das geht wenn man einmal raus hat wie, mit VB.NET relativ bequem. Ist halt nur lästig, da man zum debuggen bei jeder neu erzeugten Version zum testen Autocad neu starten darf.An die Strichstärken einer Heavy Polylinie kommt man ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Copy&paste: objekte nach einfügen automatisch markieren
Brischke am 22.01.2019 um 09:50 Uhr (1)
Hallo,so ganz verstehe ich nicht, weshalb diese Hockstrecksprünge gemacht werden, nur um einen Rektor zu verhindern.Die (aus meiner Sicht einfachste) Lösung besteht aus einer Kombination von 3 Reaktoren.(Ich habe bisher keine Probleme auch nicht mit der Performance mit Events(Reaktoren) - das kenne ich nur aus meiner Lisp-Zeit)CommandWillStart (Paste){innerhalb dieses Reactors wird ein - Database.ObjectAppended-Reaktor gestartet, der die der Datenbank hinzugefügten Entities einsammelt- CommandEnded-Reaktor ...
|
In das Form AutoCAD VBA wechseln |