| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Preview (1034 mal gelesen)
|
Stechi Mitglied Informatiker

 Beiträge: 75 Registriert: 17.01.2008
|
erstellt am: 23. Jan. 2009 10:22 <-- editieren / zitieren --> Unities abgeben:         
Hallo, wie kann ich unter VBA eine Preview einer DWG mit Druckerübergabe programmieren? Mit Code: ThisDrawing.Plot.DisplayPlotPreview acFullPreview
wird ja die Preview mit dem letztverwendete Drucker gestartet. Ich möchte aber den Drucker dem Preview-Befehl mitgeben! Aber wie oder geht das nicht?Danke! Gruß Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 23. Jan. 2009 10:37 <-- editieren / zitieren -->
Hi, zuerst mal Rückfrage, Plotten aus Modellbereich oder aus Layout. Eine zweite Rückfrage: wo hast Du in Deinem Makro die Info's über 'welcher Drucker', 'welches Seitenformat', bei Bedarf 'welche CTB/STB'? Wenn das im Layout nicht schon voreingestellt ist, dann musst Du Dir die Informationen erst zusammensammeln, dann zuweisen. - alfred -
------------------ www.hollaus.at |
Stechi Mitglied Informatiker

 Beiträge: 75 Registriert: 17.01.2008
|
erstellt am: 23. Jan. 2009 10:57 <-- editieren / zitieren --> Unities abgeben:         
Hi, erste Antwort: Im Modellbereich. zweite Antwort: Die Drucker werden in einer Form in einer Combobox aufgeliste. Im Click- bzw. Change-Event der Comboxbox werden die Voreinstellungen vorgenommen. Gruß Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 23. Jan. 2009 12:42 <-- editieren / zitieren -->
Hi, die Grenzen, die zu plotten sind, sind Extents? Holst Du die Plotter aus AutoCAD heraus oder liest Du die installierten Drucker von Deinem Windows aus? Anders ausgedrückt, wo bekommst Du die (möglichen) Formate der Drucker/Plotter? Hast Du sschon ein Codeschnippsel, wo ich mal sehen kann, wie weit Du bist? Dann fällt das mit dem Rückfragen leichter - alfred - ------------------ www.hollaus.at |
Stechi Mitglied Informatiker

 Beiträge: 75 Registriert: 17.01.2008
|
erstellt am: 26. Jan. 2009 10:43 <-- editieren / zitieren --> Unities abgeben:         
Hi, die Einstellung "Extents" ist richtig und die Plotter sind die ACAD-Plotter! Ich habe eine Userform entworfen, in der ich in einer Combobox den Plotter auswählen kann. Hier ist z.B. ein Codeausschnitt bei einer Plotterauswahl: (hier: "LEXW812_01_A3")
Code:
optGrenzen.Enabled = True optGrenzen_Click optDin5.Enabled = True optDin5_Click optNein.Enabled = True optDrehNein_Click optDrehJa.Enabled = True optDrehJa_Click cboX.text = "0" cboY.text = "-2" lblOrt.Caption = "PAKK" AUSGABEGERÄT = "LEXW812_01_A3.pc3" PAPIERFORMAT = "A3 297 x 419 mm" PLOTTERDATEI = "HP650_02.ctb" PLOTVERSATZ = cboX.text & "," & cboY.text
Diese Variablen würden auch den Preview-Befehl zur Verfügung stehen. Im Click-Event des Preview-Befehl habe ich bis jetzt folgenden Befehl
Code: ThisDrawing.PlotConfigurations("T:\AutoCAD\System\Plotters\LEXW812_01_A3.pc3").RefreshPlotDeviceInfo ThisDrawing.Plot.DisplayPlotPreview acFullPreview
Dabei erscheint die Fehlermeldung "Key not found!" Gruß Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 27. Jan. 2009 00:29 <-- editieren / zitieren -->
Hi Markus, sorry dass die Antworten derzeit etwas spärlich kommen, ist nur momentan nicht so einfach Deine Fehlermeldung 'Key not found!' deutet darauf hin, dass in der Liste der PlotConfigurations dieser ('T:\AutoCAD\System\Plotters\LEXW812_01_A3.pc3') nicht gefunden wird. Und ich vermute sehr stark (ohne es jetzt probiert zu haben), dass der Key ohne Pfadangabe zu erfolgen hat, denn das PC3-File muss ja innerhalb der AutoCAD-Einstellungen für Druckerdateien vorhanden sein. Wenn Du nicht weisst, wie der Key aussieht, dann hätte ich mal folgendes versucht (nicht getestet, nur getipt):
Code: Dim i as Integer If ThisDrawing.PlotConfigurations.Count > 0 then For i = 0 to ThisDrawing.PlotConfigurations.Count - 1 debug.print(ThisDrawing.PlotConfigurations(i).ConfigName) 'da kannst Du jetzt BreakPoint setzen und die Eigenschaften ansehen Next End If
Und wenn ich weiterüberlege, bist Du sicher, dass Du nicht PlotConfiguration mit ConfigName (als Eigenschaft einer PlotConfiguration) verwechselst? Schau Dir dazu in der Hilfe mal den Code an, den Du mit Suchbegriff 'ConfigName Example' findest. Darin findest Du, wie Du eine PC3-Datei zuweist, um mit dieser zu plotten. - alfred - ------------------ www.hollaus.at [Diese Nachricht wurde von a.n. am 27. Jan. 2009 editiert.] |
Stechi Mitglied Informatiker

 Beiträge: 75 Registriert: 17.01.2008
|
erstellt am: 28. Jan. 2009 11:55 <-- editieren / zitieren --> Unities abgeben:         
Hi Alfred, ich habe nun folgendes versucht: Code: ThisDrawing.Application.Preferences.Output.DefaultOutputDevice = cboPlotter.text & ".pc3" ThisDrawing.Plot.DisplayPlotPreview acFullPreview
Trotz der Zuweisung der .pc3-Datei verwendet Autocad die voreingestellte Einstellung, die im Plotmenü von Autocad vorgenommen wurde. Er ignoriert die Umstellung auf einen anderen Drucker. Warum? Die Änderung erfolgt erst dann, wenn man VBA beendet. Nochmal die Frage: Warum? Anmerkung: cboPlotter.text ist eine Combobox, aus der ich den jeweiligen Plotter auswähle!
Gruß Markus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 28. Jan. 2009 12:28 <-- editieren / zitieren -->
Hi, hab jetzt zwar kein AutoCAD an der Hand, aber da gibt's was, dass DeviceInfo's upgedatet werden, heisst so ähnlich wie 'RefreshPlotDevice', auch wenn ich's nicht genau weiss, solltest Du in der Hilfe dazu Info finden. - alfred - ------------------ www.hollaus.at |

| |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin

 Beiträge: 2855 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2025 Plateia, Canalis Visual Basic
|
erstellt am: 29. Jan. 2009 00:22 <-- editieren / zitieren --> Unities abgeben:          Nur für Stechi
Hi Stechi, Nur mal so nachgefragt, nachdem Du mit den Codeschnipseln so spärlich bist: dem Layout hast Du die Plotconfig schon zugewiesen? Layout.ConfigName = AUSGABEGERÄT Klaus PS: Vielleicht probierts Du es auch mal mit anderen Namen äöüÄÖÜß verwende ich prinzipiell nicht in Variablennamen. Sollte zwar nichts ausmachen, aber man weiß ja nie.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |