|
AutoCAD VBA : Prozedur beim schliessen von AutoCAD
facebraker am 19.03.2009 um 09:58 Uhr (0)
Hallo Alfred,ich habe es grad mal probiert, der Compiler spuckt bei Private WithEvents pAcadApp As AcadApplication rum?Ungültiges Attribut in Sub oder Function kommt als Fehler :-/Ich bin hier im VBA von ACAD, kann es sein, dass das nur bei VB funktioniert? Gruss fb
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Prozedur beim schliessen von AutoCAD
facebraker am 19.03.2009 um 14:25 Uhr (0)
Hallo Alfred,ich muss nochmal fragen, die Lösung, die du mir gezeigt hast funktioniert prinzipell ABER das Event kommt zu spät, da sind die Profile schon entladenworden und somit komme ich an kein Profil-Objekt mehr ran.Gibt es ein Event, welche "früher" kommt? Oder muss ich im extremen, das Klick auf den Schliessen-Button und "Datei - Beenden" abfangen?Gruss fb.
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Prozedur beim schliessen von AutoCAD
alfred neswadba am 19.03.2009 um 16:32 Uhr (0)
Hi, Zitat:ABER das Event kommt zu spät, da sind die Profile schon entladen== wer (welcher debugger) hat Dir das denn eingeredet probier mal (bei mir gehts):Code:Private Sub pAcadApp_BeginQuit(Cancel As Boolean) da landest Du, wenn AutoCAD sich vertschüssen will dim tProfileName as string tProfileName = pAcadApp.Preferences.Profiles.ActiveProfile Call pAcadApp.Preferences.Profiles.ExportProfile(tProfileName , "C: emp" & tProfileName & ".arg")End Sub- alfred -------------------www.hollaus.at
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : AutoCAD2009
GüSo am 20.03.2009 um 07:54 Uhr (0)
Ich habe bei mir 2 Versionen von AutoCAD, nämlich 2008 und 2009. Mal abgesehen davon, daß die 2009er-Version sehr viel länger braucht zum Starten als die 2008, gibt es deutliche Unterschiede bei der Nutzung der ActiveX-Schnittstelle. Mit einem VB6-Programm, das AutoCAD steuert stellte ich fest, daß die Version 2008 4 (vier) mal schneller ist als die 2009er. Das erschein mir sehr viel. Oder habe ich irgendwo einen Installationsfehler? Gibt es zu diesem Thema bereits Erfahrungen anderer Kollegen?MfGGünter
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Prozedur beim schliessen von AutoCAD
facebraker am 19.03.2009 um 10:03 Uhr (0)
Hallo Alfred,MEA CULPA, meine Schuld, habe es an der flaschen Stelle deklariert.****** Anfängerfehler :-(Jetzt habe ich es in der Objekt-Ebene deklariert jetzt funktioniert es.Auch das Event beim beenden läuft.Danke für deine Hilfe :-)
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Prozedur beim schliessen von AutoCAD
facebraker am 20.03.2009 um 11:02 Uhr (0)
Hallo alfred,ja das stimmt, ich habe einen verdammten Copy/Paste Fehler gemacht,ich habe das falsche Objekt angesprochen, und das war nat. NOTHING :-(Ich habe anstatt pAcadApp.Preferences.Profiles... habe ich Thisdrawing.applicationangesprochen, das konnte ja nicht gehen.Jetzt funktioniert es!!!Danke nochmal.Gruss fb.
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : AutoCAD2009
GüSo am 20.03.2009 um 13:01 Uhr (0)
Hallo Alfred!Ich arbeite mit einer exe. Es ist ein komplettes VB-Programm von dem aus ich mich zu AutoCAD "verbinde". Die konkrete Aufgabe in diesem Falle war, aus einer ASCII-Text Datei Zeile für Zeile Daten auszulesen und dann auf dieser Basis AutoCAD-Objekte zu erstellen. Anschließend wird das Blatt gespeichert und geschlossen und wieder ein neues Dokument erstellt und das gleiche Spielchen von vorn. Auf diese Art habe ich aus alter Software Symbole ins ACAD transferiert. Die Textdatei ist ca. 6MB groß ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : AutoCAD2009
alfred neswadba am 20.03.2009 um 13:51 Uhr (0)
Hi Günter,wenn viel mit Zugriff auf externe Blöcke passiert, sprich AutoCAD viel vom Dateisystem machen muss, um die Zeichnung zu erstellen, dann kann ich mir schon mal ein wenig Unterschied vorstellen.Bei der Aussage ...Zeile für Zeile Daten auszulesen und dann auf dieser Basis AutoCAD-Objekte zu erstellen... und ...Die Textdatei ist ca. 6MB groß und enthält knapp 1900 Symbole..., dann solltest Du, wenn Du die Geschwindigkeit brauchst, schnellstmöglich mal auf DLL umsteigen und das ganze Objekthandling In ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : ACAD-Gruppen löschen/explodieren
Stelli1 am 20.03.2009 um 16:35 Uhr (0)
Hallo "vasentiger",dann herzlich willkommen im AutoCAD VBA Forum auf CAD.de Wilfried Stelberg------------------Warum lispeln wenns auch anders geht. www.ib-stelberg.de
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Solid-Koordinaten mit VB.NET extrahieren
autogis am 20.03.2009 um 14:58 Uhr (0)
Hallo zusammen,lange habe ich gesucht, bevor ich die Frage hier poste:Wie erhält man mit VB.NET die Koordinaten eines Solids?Zum Hintergrund der Frage:1. Die Geometrie von Bemaßungen einer Zeichnung (Linien, Mtext,...) und unter anderem auch die Maßpfeile sollen in eine ASCII-Datei exportiert werden. Dazu explodiere ich die Bemaßungen und hole mir aus den entstehenden Elementen die Daten. Nur für die Solids habe ich absolut keinen Plan.2. Bisher habe ich in VBA gearbeitet. Damit war das kein Problem. Über ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : AutoCAD plotten
facebraker am 23.03.2009 um 16:01 Uhr (0)
Hallo alfred,ich habe mal noch im internet gestöbert, und hier im forum wieder die Lösung gefunden.Da ist irgendwas im AutoCAd im argen, wenn man 1 mal in der Sitzung im "Plotten..." drin war, dann kommt derLaufzeitfehler nichtmehr.Also im AutoCAD "Datei / Plotten..." geöffnet, geschlossen, mein Programm gestartet, dann ging es.Ich will es auf dem HP Plotter testen, aber der ist z.Zt. belegt. Daher kann ich für nicht garantieren.Das mit dem "Durchscannen" ist klar, so habe ich es auch gemacht, bloss ich ha ...
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : AutoCAD plotten
alfred neswadba am 23.03.2009 um 15:54 Uhr (0)
Hi,ich habs mir jetzt nicht angesehen, aber der Sinn hinter dem durchscannen der MediaNames ist eben, dass man nicht einen zuweist, den es nicht gibt. Und in diesem Fall vermute ich mal, dass Dein angegebener String "ISO_A1_(594.00_x_841.00_MM)" für Adobe-PDF-Drucker vielleicht gar nicht definiert ist.Sollte das schon so sein, dann lass mich/uns bitte wissen, bei welcher Zeile das Prog den Fehler beanstandet.- alfred -------------------www.hollaus.at
|
| In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : AutoCAD plotten
facebraker am 23.03.2009 um 15:06 Uhr (0)
Hallo alfred,ich habe es versucht, bekomme aber einen Laufzeitfehler/ falsche Eingabe.Hier mein Code, muss ich dem Layout noch einen Plotter zuweisen?Code:Sub test_plott()Dim oACAD As AcadApplicationSet oACAD = AcadApplicationDim oAcadDoc As AcadDocumentDim names As Variant Set oAcadDoc = oACAD.Documents.Open("c:arbeitsverzeichniszeichnung.dwg")oAcadDoc.ActiveLayout.PlotType = acExtentsFor Each names In oAcadDoc.ActiveLayout.GetCanonicalMediaNamesDebug.Print namesNext namesoAcadDoc.ActiveLayout.Canonica ...
|
| In das Form AutoCAD VBA wechseln |