|
AutoCAD VBA : AutoCAD plotten
facebraker am 23.03.2009 um 14:30 Uhr (0)
Hallo Alfred,@publizieren, da hast du schon recht, ich möchte es bloß automatisieren, d.h. wenn das funktioniert, das jede geplottete Datei in eine Excel-Tabelle eingetragen wird, die der Auftraggeber für sein Controlling-Programm benötigt.Aber das ist noch weit weit weg, nur damit du ersteinmal die grobe Richtung weißt.Der Tipp mit dem Profil ohne ProSteel hat gewirkt, danke!Aber jetzt habe ich noch ein Problem, wie kann ich die Papiergröße festlegen (A3,A1 ...), wie komme ich an den Plotmanager ran, da k ...
| | In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : AutoCAD plotten
facebraker am 23.03.2009 um 13:46 Uhr (0)
Hallo,ich weiß nicht so recht, wo ich mein Problem einordnen muss, aber ich würde sagen VBA trifft es am besten.Ich habe einen Stapel Zeichnungen in einem Verzeichnis liegen, dann ein Makro schreiben, wo ich alle Zeichnungen mit dem FileDialog markieren kann, diese der reihe nach geöffnet werden und geplottet.Das sind alles ProSteel3D Dateien und Zeichnungen.Das mit dem FileDialog bzw. das Drumherum ist erstmal Nebensache, ich probiere grad den grundlegenende Code aus, ich habe mit folgenen angefangen:Code ...
| | In das Form AutoCAD VBA wechseln |
|
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
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 : 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
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 |
|
AutoCAD VBA : AutoCAD plotten
facebraker am 24.03.2009 um 11:44 Uhr (0)
Hallo Alfred,neee, klar kann ich auch in Datei drucken, ich wollte es nur mal auf dem Plotter checken;-)Ich muss aber gestehen, dass ich heut Morgen die Programmierumgebung gewechselt habe, ich bin aufVB.NET 2005 und COM gegangen. ich fand es im VBA zu mühseelig mit dem Arrays, mit .NET habe ichbessere Möglichkeiten im Framework. Z.B. Mehrere Dateien mit dem FileOpenDialog usw.Aber an der Syntax und den Objekten ändert sich ja prinzipell nichts, habe den Code 1:1 übernommen, aber anstatt Code:set Objekt = ...
| | In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : AutoCAD plotten
facebraker am 24.03.2009 um 14:14 Uhr (0)
Hallo Gerhard,ich habe mir mal dein Programm angesehen, aber das was ich wissen will ist leider nicht drin,so wie ich den unten zitierten Teil intepretiere, wird mit einem Lisp-Programm das das Format zurückgibtund dieses dann im Plot setzt, mir fehlt aber das Lisp-Programm. Zitat:Original erstellt von gerhard123: Format = ThisDrawing.GetVariable("users3") Format wir mit Lispprogramm ermittel ausrichtung = ThisDrawing.GetVariable("users5") Ausrichtung H/Q - FormatSelect Case Format Case Is = "A ...
| | In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : AutoCAD plotten
facebraker am 24.03.2009 um 15:29 Uhr (0)
Verdammt dass ist so frustrierend,man ist so kurz vorm Ziel und kommt nicht weiter.Wenn ich doch nur müßte wie ich die Ausgelesenen Medianames des Adobe PDF Plotters in ein logisches Format bekomme.Ich versuche grad mit Reverse Engineering ranzukommen, ich versuche die "userXXX" Medianames zudrucken und gucke im Adobe welche größe dann die Seite hat :-(User134 ... kommt Fehler beim plottenUser173 ... 190,5 * 254,0mmUser32767 ... 210,0 * 297,0mm = A4User148 ... kommt Fehler beim plotten Aber das kann doch n ...
| | In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : AutoCAD plotten
facebraker am 24.03.2009 um 17:14 Uhr (0)
Guten Abend,ich habe es jetzt per Reverse Engineering ermittelt,ich setze dass dann in meinem VB Programm als Matrix um, ich fülle die Combobox mit dem lokalisierten Namen, eventuell noch die Maße und bevorich plotte setze ich sie in User... um.Anbei noch eine Excel-Tabelle mit der Matrix, viell. kann sie irgendwannjemand gebrauchen und muß sich nicht die Mühe machen :-)Schönen Abend noch!Gruss fb.
| | In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Ereignis EndPlot im VB.NET
facebraker am 26.03.2009 um 09:39 Uhr (0)
Hallo Alfred,setzt du die Variable aus der Application heraus, wenn Ja, dann wie gehts das?ich habe nur getVariable gefunden.Oder stellst du das Grundsätzlich im AutoCAD ein?Schade, dass ich es nicht mit einen Event abfangen kann :-(Gruss fb.
| | In das Form AutoCAD VBA wechseln |
|
Anzeige:
Anzeige: (Infos zum Werbeplatz)
 |