|
AutoCAD VBA : VBA ab Acad 2012?
alfred neswadba am 16.06.2010 um 11:15 Uhr (0)
Hi, Gemäß Autocad wird ja VBA ab Acad 2012 nicht mehr unterstütztWo hast Du das denn gefunden? Ich meine so wirklich schriftlich, denn diese Gerüchte hat es auch schon für 2011 gegeben und jetzt gibt es VBA doch. Trotzdem tust Du sicher gut daran, an Portieren (oder portieren lassen) zu denken. oder muss ich alles auf C# oder .net umschreiben?Die Empfehlung, wenn Du bisher mit VBA gearbeitet hast, wird wohl nicht C# sein, sondern eher VB.NET. Das macht es leichter. (wobei C# genauso dotNET-basierend ist ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Prompt bzw. Getstring in For Each - Schleife
alfred neswadba am 16.06.2010 um 12:41 Uhr (0)
Hi,wenn ich diesen Code ausführe:Code: On Error Resume Next Do While Err.Number = 0 Dim tStr As String tStr = ThisDrawing.Utility.GetString(False, "STR: ") If Len(tStr) = 0 Then Exit Do Loop...dann werde ich so oft nach einem String gefragt, wie ich Durchläufe zulasse. Also schliesse ich mal darauf, dass es an einem anderen Fleck in Deiner Schleife liegt.Anfangen würde ich mal damit, dass Du nicht getString sondern getReal verwendest. Sonst gibt Dir der Anwender statt einer Zahl einen Buchstaben e ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : vbaentf wird übersprungen bei Punktabfrage
alfred neswadba am 26.06.2010 um 00:37 Uhr (0)
Hi,ich hätte mal die Vermutung, dass alles, was von LISP aus mit (command ... kommt zu dem Zeitpunkt geschickt wird, wenn AutoCAD in der Befehlszeile auf Input wartet. Und genau dann wird eben Dein nachfolgendes LISP-Statement geschickt.Abhilfe könnte dann sein, dass Du schon im Aufruf einen Punkt abfragst und dann diesen Punkt Deiner VBA-Routine übergibst.- alfred -------------------www.hollaus.at
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : DWG in DGN Batchkonvertierung???
alfred neswadba am 25.06.2010 um 23:16 Uhr (0)
Hi,ein Ansatz zu Starten, allerdings wenig Fehlerhandling. Parameter sind in den CONST-Statements einstellbar.Code:Option ExplicitConst pDirName As String = "C:TEMP" das Verzeichnis, dessen DWGs zu konvertieren sindConst pDgnVersionStr As String = "V8" zu exportierendes DGN-Format, kann "V7" oder "V8" seinConst pDgnUnitsStr As String = "HAUPTEINHEITEN" zu exportierende Einheiten, kann "HAUPTEINHEITEN" oder "UNTEREINHEITEN" seinConst pDgnMappingStr As String = "STANDARD" Mappingeinrichtung, muss ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Excel Routinen von ACAD aus ausführen
alfred neswadba am 13.02.2011 um 19:47 Uhr (0)
Hi,das ist mitunter zeichnungsabhängig, also eine Zeichnung mit den Blöcken ist da auch notwendig, um alles nachvollziehen zu können.Und das kurz zusammengefasst, korrigiere mich bitte, wenn ich etwas beim Überfliegen Deiner Vorstellung zu sehr überflogen habe:- Du brauchst Excel eigentlich nur, um einen Hyperlink im AutoCAD aus Blockattributen zu machen? Das geht leichter/direkt in VBA.- Mach mal eine DWG vor der Zuweisung der Hyperlinks und eine, in der Du das manuell machst (am Beispiel von ein paar Blö ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Excel Routinen von ACAD aus ausführen
alfred neswadba am 14.02.2011 um 10:36 Uhr (0)
Hi,ok, hier mal ein VBA, das alles in AutoCAD macht, dass ATTOUT (bereits mit ausgefüllten Attributen) kannst Du ja immer noch machen.Anwendung: das DVB-File in den AutoCAD-Graphikbereich ziehen und fallen lassen (damit wird es geladen), dann Befehl _VBARUN und im Dialog dieses: BlAtt_to_HyperLink_AN01.dvb!ThisDrawing.convertBlAtt_to_Hyperlink auswählen und Button Ausführen.Da werden sowohl das Attribut HYPERLINK als auch der Hyperlink selbst gesetzt.VORSICHT: dieses ist nicht ausreichend getestet, vorher ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : VBA läuft unter Windows 7 nicht mehr
alfred neswadba am 17.07.2010 um 13:12 Uhr (0)
Hi,getestet mit:AutoCAD 2011Win7 x64und läuft ohne Fehler durch. Ich hätte aber (auch wenn es eigentlich funkt) vorher geprüft, ob es ein UCS mit dem Namen New_UCS schon gibt. Das wäre aber nur Kosmetik, der Code läuft auch ohne Fehler durch, wenn das UCS schon existiert.- alfred -------------------www.hollaus.at
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Recover - alle Dateien in Verzeichnis
alfred neswadba am 24.07.2010 um 21:20 Uhr (0)
Hi,da ist irgendwas leider nicht im Reinen.Zum einen startest Du mitCode:CommandMethod("ConnectToAcad") _Public Sub ConnectToAcad() ....mal einen Befehl im AutoCAD.Und dann versuchst Du mitCode:acAppComObj = GetObject(, strProgId)nochmals Zugriff auf den ActiveX-Server von AutoCAD zu bekommen. Dabei hast Du eigentlich schon alles in der Hand, läufst aber Gefahr, sollte ein zweites AutoCAD gestartet sein, dass Du zur falschen AutoCAD-Session geleitet wirst.Also ich hätte das COM-Objekt der AcadApplication ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Schöne Anleitung VBA => VBdotNet
alfred neswadba am 24.07.2010 um 21:37 Uhr (0)
Hi,Wenn Du mit dotNET Apps erstellst, dann ist dieses Forum: AutoCAD ObjectARX besser für dotNET-spezifische Fragen geeignet (hat sich so eingebürgert, da die dotNET-Programmierung dem ARX näher ist als VBA)! Aber die Links für VBA to dotNET sind hier bestens plaziert! - alfred -------------------www.hollaus.at
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Recover - alle Dateien in Verzeichnis
alfred neswadba am 25.07.2010 um 15:33 Uhr (0)
Hi,lade mal die Solution hier hoch (wenn Du willst), dann kann ich es mir schon ansehen.Wenn nicht, dann erklär mir bitte, wozu Dudieses: CommandMethod("ConnectToAcad") und dieses: acDocComObj.SendCommand("(command " & Chr(34) & "NETLOAD ...brauchst, entweder es ist ein definiertes AutoCAD-Command, dann brauchst Du AutoCAD nicht mehr starten und nicht mehr mit _NETLOAD irgendwas laden, was ja offensichtlich schon existiert.Solange Du diese Dinge aus einer externen EXE und mit SendCommand abhandeln willst ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Recover - alle Dateien in Verzeichnis
alfred neswadba am 25.07.2010 um 16:09 Uhr (0)
Hi, Könntest Du mir bitte Deine Lösung posten?Ich hab keine fertige Lösung für DEIN Problem/Deine Aufgabe. Und jetzt das ganze neu erstellen (mit Assembly-Einstellungen, Formular-Design und -Controls-Handling/Events, Code neu schreiben, ...) ist mir aktuell ein zu hoher Zeitaufwand.Für mich geht es schneller, Deinen Code zu modifizieren (sind voraussichtlich wenige Minuten), neue Projekteinrichtung: da wäre gleich mal ne halbe Stunde weg.Reduziere Deine Solution auf das Formular-bezogene und lade es hoch o ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Recover - alle Dateien in Verzeichnis
alfred neswadba am 25.07.2010 um 19:29 Uhr (0)
Hi,...hatte ein wenig Pause in der Waagrechten, sorry für Verzögerung. Nun jetzt weiß ich auch, dass es unhandlich ist, mit _RECOVER ein Document per SendCommand zu machen, geht auch nicht (nahezu kommentierterweise), daher zwei Umleitungen:a) erst ein Script erzeugen, das mit _RECOVER die Datei erzeugtb) einen EventHandler installieren, der das Ende des Doc-Opens überwacht und dann das AUDIT beginnt.Ein Auszug daraus (Dein Projekt bekommst Du per PM). VORSICHT ich hab da nix ausreichend getestet und es g ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Layer konvertieren
alfred neswadba am 25.07.2010 um 21:20 Uhr (0)
Hi,guck zuerst mal hier hin, denn einfach so Elemente auf andere Layer verschieben klingt leicht, dazu gehören dann aber auch die Inhalte von Blockdefinitionen umbauen, Bemaßungsstile umbauen, ....Das zu programmieren macht dann natürlich mehr Sinn, mit ManagedDLLs abzuarbeiten als mit VB.NET von einer umgebenden EXE, wo die Kommunikation der beiden EXEs dann nicht im gleichen Speicherrahmen abläuft. Als solches gehört dann deutlich mehr dazu als mit SendCommand. .... das soll keine Drohung sein, aber warn ...
|
| In das Form AutoCAD VBA wechseln |