| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Plotkonfiguration eines Layout ändern (3190 mal gelesen)
|
Andreas Widmann Mitglied ATHENA Support/Training
Beiträge: 218 Registriert: 24.08.2005
|
erstellt am: 17. Nov. 2011 10:51 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich muss einen haufen Zeichnungen mit neuen Ploteinstellungen und Rahmen versehen. Um die Ploteinstellungen zu ändern habe ich mir per VBA eine Plotkonfig erstellt und diese dann per .copyfrom dem Layout zugewiesen. folgenden Code verwende ich:
Code:
Dim nmb As Integer nmb = 3 Dim np As AcadPlotConfiguration'Config erstellen und definieren Set np = ThisDrawing.PlotConfigurations.Add("seele_small", False) np.ConfigName = "DWF6 ePlot.pc3" np.CanonicalMediaName = "ISO_A0_(841.00_x_1189.00_MM)" np.StandardScale = ac1_1 np.PlotWithPlotStyles = True np.StyleSheet = "monochrome.ctb" np.PlotType = acLayout 'Config dem Layout zuweisen ThisDrawing.Layouts(nmb).CopyFrom np ThisDrawing.Regen acAllViewports
Nach dem Ausführen dieses Codes wurde alles übernommen AUSSER die Einstellung "Layout" (aclayout) und Maßstab 1:1 (ac1_1). Stattdessen stehen die Einstellungen auf "Grenzen" und "Einpassen". Es funktioniert wenn ich das Layout aktiv habe und nach dem Ausführen "_.pagesetup" eingebe und die Maske schließe ohne was zu ändern. Habe ich das Layout nicht aktiv oder wechsel das Layout ohne "_.pagesetup" einzugeben werden wie beschrieben alle ausser die beiden Einstellungen übernommen. Selbst wenn ich die beiden Einstellungen ganz zum Schluss direkt dem "ActiveLayout" zuweise behält AutoCAD sie nicht. Was mache ich falsch? Was kann ich tun? ------------------ Gruß Andreas edit: wird die Routine auf ein Layout mit Einstellung "Layout" und "1:1" angewendet während dieses nicht aktiv ist, steht danach die Einstellung auf "Grenzen" und "Einpassen" ------------------------------------------------------------------------------------------------------------------------------------ Die Antwort ist 42! Die Antwort ist 42! Die Antwort ist 42! ...wenn ich nur die Frage wüsste...
[Diese Nachricht wurde von Andreas Widmann am 17. Nov. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 10. Dez. 2011 12:51 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Widmann
Schon eine Lösung gefunden? Oder besteht noch Hilfebedarf? Hatte das vor zwei Jahren mal programmiert und könnte nachschauen wenn es noch nicht läuft. [Diese Nachricht wurde von KlaK am 10. Dez. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Widmann Mitglied ATHENA Support/Training
Beiträge: 218 Registriert: 24.08.2005
|
erstellt am: 12. Dez. 2011 13:15 <-- editieren / zitieren --> Unities abgeben:
Hallo Klak, ich könnte deine Hilfe noch gebrauchen. Bei meinem Programm muss nämlich nun einer vor dem Bildschirm sitzen und ständig die Seiteneinrichtungsdialoge wegklicken damit es funktioniert.
------------------ Gruß Andreas ------------------------------------------------------------------------------------------------------------------------------------ Die Antwort ist 42! Die Antwort ist 42! Die Antwort ist 42! ...wenn ich nur die Frage wüsste... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 13. Dez. 2011 09:42 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Widmann
Ok, habe es mal verglichen. Was mir auffällt, nach den Einstellungen der Plotconfigurationen habe ich noch ein Code: np.RefreshPlotDeviceInfo
Das machst Du momentan händisch. Bau das mal vor dem CopyFrom ein, dann sollte das passen. Mal gespannt ob's das war. Grüße Klaus
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andreas Widmann Mitglied ATHENA Support/Training
Beiträge: 218 Registriert: 24.08.2005
|
erstellt am: 13. Dez. 2011 10:25 <-- editieren / zitieren --> Unities abgeben:
nein, leider kein Erfolg. Code: np.RefreshPlotDeviceInfo lay.CopyFrom np
die Einstellungen standen wieder auf Grenzen und Einpassen ------------------ Gruß Andreas ------------------------------------------------------------------------------------------------------------------------------------ Die Antwort ist 42! Die Antwort ist 42! Die Antwort ist 42! ...wenn ich nur die Frage wüsste... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2799 Registriert: 02.05.2006 AutoCAD LandDesktop R2 bis 2004 Civil 3D 2005 - 2022 Plateia, Canalis Visual Basic
|
erstellt am: 13. Dez. 2011 13:03 <-- editieren / zitieren --> Unities abgeben: Nur für Andreas Widmann
So, gerade mal getestet. Ist schon merkwürdig. Erzeugt man ein neues Layout funktioniert der Copyfrom einwandfrei Auf dieses kann dann auch eine andere PlotConfig kopiert werden. Bei bestehenden gibts es ein Problem Aber ich hätte eine Lösung für Dich: Füge in Deinen Code mal die Zeilen
Code: Dim nL As AcadLayout Set nL = ThisDrawing.Layouts(nmb) Call Change_PC(nL, np)
ein sowie
Code: Sub Change_PC(pL As AcadLayout, pC As AcadPlotConfiguration)pL.ConfigName = pC.ConfigName pL.CanonicalMediaName = pC.CanonicalMediaName pL.StandardScale = pC.StandardScale pL.PlotWithPlotStyles = pC.PlotWithPlotStyles pL.StyleSheet = pC.StyleSheet pL.PlotOrigin = pC.PlotOrigin If Not (pL.Name = "Model") Then pL.PlotType = pC.PlotType End Sub
Damit sollte es auf alle Fälle funktionieren. In meinem Programm hatte ich das CopyFrom gar nicht verwendet sondern direkt die Einstellungen aus einer Tabelle übernommen, aber die Idee mit einer eigenen PlotConfiguration habe ich mir gleich mal für zukünftige Projekte gespeichert Viel Erfolg und gib mal Rückmeldung Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |