Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Plot Einstellung des Fensters ist verschoben

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Plot Einstellung des Fensters ist verschoben (1797 mal gelesen)
st.w
Mitglied



Sehen Sie sich das Profil von st.w an!   Senden Sie eine Private Message an st.w  Schreiben Sie einen Gästebucheintrag für st.w

Beiträge: 59
Registriert: 08.11.2011

erstellt am: 08. Jan. 2013 11:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Viel-Wissende,

obwohl ich schon logisch eine Menge hintereinanderkriege, verzweifle ich hier:

Ich möchte einen Bereich im Modell (als pdf) drucken und habe mir einiges zusammengesucht...

Eine Zeichnung (A4 hochkant) beginnt bei Point1 mit 0,0 und geht bis Point2 mit 210,297. Wenn ich bei ### durch einen Haltepunkt abbreche und dann in AutoCAD>>Datei>>Plot... das Plottenfenster öffne und auf den Botton "Fenster<" gehe, sehe ich, dass der richtig gewählte Bereich nach rechts oben verschoben ist, sodass natürlich nur der linke untere Zipfel gedruckt wird.

Was mache ich nur falsch???


Sub PlotPDF()
    Dim point1 As Variant, point2 As Variant
   
    ThisDrawing.ActiveLayout = ThisDrawing.Layouts("Model")

    ZoomExtents
    ThisDrawing.SetVariable "OSMODE", 53
    ThisDrawing.SetVariable "ORTHOMODE", 0
    ThisDrawing.ActiveLayout.ConfigName = "PDFCreator"
   
    ThisDrawing.ActiveLayout.CanonicalMediaName = "A4" ''Papierformat A4
    ThisDrawing.ActiveLayout.StyleSheet = "acad1.ctb" ''STB oder CTB je nachdem was vorgegeben ist.
    ThisDrawing.ActiveLayout.StandardScale = acScaleToFit    ''Plotmaßstab
   
    ThisDrawing.ActiveLayout.PlotRotation = 0 ''Plotrotation
    ThisDrawing.Plot.NumberOfCopies = 1 ' 1 Kopie drucken
 
    point1 = ThisDrawing.Utility.GetPoint(, "Click the lower-left of the window to plot.")    ' Get first point in window
    point2 = ThisDrawing.Utility.GetCorner(point1, "Click the upper-right of the window to plot.") ' Get second point in window
   
    ReDim Preserve point1(0 To 1)  ' Change this to a 2D array by removing the Z position
    ReDim Preserve point2(0 To 1)  ' Change this to a 2D array by removing the Z position
   
    ThisDrawing.ActiveLayout.SetWindowToPlot point1, point2    ' Send information about window to current layout

'### HIER ist das Problem bereits!

    ThisDrawing.ActiveLayout.GetWindowToPlot point1, point2    ' Read back window information

    MsgBox "Press any key to plot the following window:" & vbCrLf & vbCrLf & _
          "Lower Left: " & point1(0) & ", " & point1(1) & vbCrLf & _
          "Upper Right: " & point2(0) & ", " & point2(1)

    ThisDrawing.ActiveLayout.PlotType = acWindow
   
'    ThisDrawing.ModelSpace.Layout.StandardScale = acScaleToFit    ' Be sure to plot a view, not some other plot style
    ThisDrawing.ActiveLayout.StandardScale = acScaleToFit    ' Be sure to plot a view, not some other plot style

'...
End Sub


Danke für Eure Hilfe...,
Stefan

AutoCAD2008 auf XPProfessional

------------------
IV2008

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



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2022
Plateia, Canalis
Visual Basic

erstellt am: 30. Mrz. 2013 23:08    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für st.w 10 Unities + Antwort hilfreich

Schon gelöst?
Mein Vorschlag wäre die Zeile

  ThisDrawing.ActiveLayout.PlotType = acWindow
schon vor
  ThisDrawing.ActiveLayout.SetWindowToPlot point1, point2    ' Send information about window to current layout

zu setzen. Dann sollte es eigentlich klappen ...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

st.w
Mitglied



Sehen Sie sich das Profil von st.w an!   Senden Sie eine Private Message an st.w  Schreiben Sie einen Gästebucheintrag für st.w

Beiträge: 59
Registriert: 08.11.2011

erstellt am: 10. Apr. 2013 10:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


acadzusstellung.pdf

 
Hallo KlaK,

klappt leider auch nicht.

Im Anhang mal eine pdf des Ergebnisses.

Irgendwie klappt die Zuweisung per vba nicht, denn wenn ich anschließend wider auf Plot gehe und auf <Fenster, sehe ich genau dieses zugewiesene Fenster, das die pdf zeigt.

Warum die Verschiebung da ist.... ein Rätsel (für mich?!).

Danke schonmal,
Stefan

------------------
IV2008

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



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2022
Plateia, Canalis
Visual Basic

erstellt am: 10. Apr. 2013 14:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für st.w 10 Unities + Antwort hilfreich


Plot_Vorschau.jpg


Plot_Seiten.jpg

 
Wenn ich bei mir die angegebene Änderung mache erhalte ich den richtigen Ausschnitt (siehe Plot_vorschau.jpg)
evtl. kontrollierst Du mal in der Seiteneinrichtung die Einstellungen, meine habe ich Dir nach Programmdurchlauf als Plot_Seite.jpg beigelegt

Grüße
Klaus 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

st.w
Mitglied



Sehen Sie sich das Profil von st.w an!   Senden Sie eine Private Message an st.w  Schreiben Sie einen Gästebucheintrag für st.w

Beiträge: 59
Registriert: 08.11.2011

erstellt am: 10. Apr. 2013 15:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


nach_plotpdf.jpg


vorschau.jpg

 
Hallo KlaK,

danke für die schnelle Antwort!

Anbei Screenshots nach Ausführung des vba-Codes (Plot-Einstellungen sind gesetzt) und anschließend die Vorschau (die ja auch die pdf ergab).

Was ist anormal?

Schönen Gruß,
Stefan

------------------
IV2008

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



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

AutoCAD LandDesktop R2 bis 2004
Civil 3D 2005 - 2022
Plateia, Canalis
Visual Basic

erstellt am: 10. Apr. 2013 20:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für st.w 10 Unities + Antwort hilfreich

Hallo Stefan,

ich kann einstellen was ich möchte mit diesem geänderten Code bringt er immer die richtigen Ergebnisse:

Code:
Sub PlotPDF()
    Dim point1 As Variant, point2 As Variant
 
    ThisDrawing.ActiveLayout = ThisDrawing.Layouts("Model")

    ' << ZoomExtents auskommentiert, sonst finde ich meinen Rahmen so schlecht >>
    'ZoomExtents                               
    ThisDrawing.SetVariable "OSMODE", 53
    ThisDrawing.SetVariable "ORTHOMODE", 0
    ThisDrawing.ActiveLayout.ConfigName = "PDFCreator"
 
    ThisDrawing.ActiveLayout.CanonicalMediaName = "A4" ''Papierformat A4
    'ThisDrawing.ActiveLayout.StyleSheet = "acad1.ctb" ''STB oder CTB je nachdem was vorgegeben ist.
    ThisDrawing.ActiveLayout.StandardScale = acScaleToFit    ''Plotmaßstab
 
    ThisDrawing.ActiveLayout.PlotRotation = 0 ''Plotrotation
    ThisDrawing.Plot.NumberOfCopies = 1 ' 1 Kopie drucken

    point1 = ThisDrawing.Utility.GetPoint(, "Click the lower-left of the window to plot.")    ' Get first point in window
    point2 = ThisDrawing.Utility.GetCorner(point1, "Click the upper-right of the window to plot.") ' Get second point in window
 
    ReDim Preserve point1(0 To 1)  ' Change this to a 2D array by removing the Z position
    ReDim Preserve point2(0 To 1)  ' Change this to a 2D array by removing the Z position
 
    ThisDrawing.ActiveLayout.SetWindowToPlot point1, point2    ' Send information about window to current layout
    ThisDrawing.ActiveLayout.PlotType = acWindow  ' <<< hier eingefügt
    ThisDrawing.Regen acActiveViewport            ' <<< hier eingefügt


'### HIER ist das Problem bereits!

' ---- Aufruf Vorschau eingefügt (einfacher zum kontrollieren) ------------------
    ThisDrawing.Plot.DisplayPlotPreview acFullPreview

    ThisDrawing.ActiveLayout.GetWindowToPlot point1, point2    ' Read back window information

    MsgBox "Press any key to plot the following window:" & vbCrLf & vbCrLf & _
          "Lower Left: " & point1(0) & ", " & point1(1) & vbCrLf & _
          "Upper Right: " & point2(0) & ", " & point2(1)

 
'    ThisDrawing.ModelSpace.Layout.StandardScale = acScaleToFit    ' Be sure to plot a view, not some other plot style
    ThisDrawing.ActiveLayout.StandardScale = acScaleToFit    ' Be sure to plot a view, not some other plot style

'...
End Sub


Egal ob Plot zentrieren oder nicht eingestellt war (der einzige sichtbare Unterschied)
Deine Plotstiltabelle habe ich natürlich auch nicht.

Evtl. einmal einen anderen Drucker probieren ?

Ansonsten bin ich auch ratlos ...

Grüße
Klaus 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz