Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD ObjectARX und .NET
  pdf von Layout plotten

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:  pdf von Layout plotten (1965 mal gelesen)
SchwedeNK
Mitglied
Holztechniker


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

Beiträge: 43
Registriert: 19.05.2011

AutoCAD 2009 - 2018
Visual Studio Express 2010 / 2012 /2015
Windows 10 64 Bit
Windows 8.1 Pro 64 Bit

erstellt am: 15. Nov. 2013 09:24    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!

Ich habe ein Problem beim Plotten von Layouts.
Folgende Gegegbenheiten:
- verschiedene Layouts mit verschiedenen Blattgrößen
- geplottet werden soll lediglich ein Blatt
- Seitengröße soll aus dem Layout entnommen werden.

Ich habe vor, den Plot-Dialog zu verwenden, dort wird aber eine feste Blattgröße in der Plotkonfiguration gefordert.
Diese habe ich versucht mit "CanonicalMediaName" variabel zu gestalten. Als Ergebnis hierfür bekomme ich allerdings immer "User66" was natürlich keine Seitengröße ist.

Code:

Dim psv As PlotSettingsValidator = PlotSettingsValidator.Current


                ' We'll plot the extents, centered and
                ' scaled to fit
                psv.SetPlotType(ps, Autodesk.AutoCAD.DatabaseServices.PlotType.Extents)
                psv.SetUseStandardScale(ps, True)
                psv.SetStdScaleType(ps, StdScaleType.ScaleToFit)
                psv.SetPlotCentered(ps, True)
               
                ' We'll use the standard DWG To PDF PC3, as
                ' for today we're just plotting to file
                psv.SetPlotConfigurationName(ps, "DWG To PDF.pc3", "ANSI_A_(8.50_x_11.00_Inches)")

              ' We need to link the PlotInfo to the
                ' PlotSettings and then validate it
                pi.OverrideSettings = ps
                Dim piv As New PlotInfoValidator()
                piv.MediaMatchingPolicy = MatchingPolicy.MatchEnabled
                piv.Validate(pi)


Gibt es hier eine Möglichkeit die Seitengröße immer aus dem aktuellen Layout zu entnehmen?

Vielen Dank für Eure Hilfe!!!

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 15. Nov. 2013 09:29    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 SchwedeNK 10 Unities + Antwort hilfreich

Hallo SchwedeNK,

direkt nicht, du musst die Daten aus dem aktuellen Layout ermitteln und zuweisen.

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

SchwedeNK
Mitglied
Holztechniker


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

Beiträge: 43
Registriert: 19.05.2011

AutoCAD 2009 - 2018
Visual Studio Express 2010 / 2012 /2015
Windows 10 64 Bit
Windows 8.1 Pro 64 Bit

erstellt am: 15. Nov. 2013 10:34    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 Holger!

Vielen Dank für deine schnelle Antwort.

Zitat:
direkt nicht, du musst die Daten aus dem aktuellen Layout ermitteln und zuweisen.

wie komme ich denn an die Daten? Wie gesagt, der CannoncialMediaName liefert mir kein brauchbares Ergebnis...

Ich habe eigentlich immer die Größen von DIN A0 bis DIN A4.

Viele Grüße,

Schwede

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

Brischke
Moderator
CAD on demand GmbH




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

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools

erstellt am: 15. Nov. 2013 11:25    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 SchwedeNK 10 Unities + Antwort hilfreich

public System.Collections.Specialized.StringCollection CanonicalMediaNames { get; }
    Member von Autodesk.AutoCAD.PlottingServices.PlotConfig


public string GetLocalMediaName(string canonicalMediaName)
    Member von Autodesk.AutoCAD.PlottingServices.PlotConfig


Hilft das?

Grüße!
Holger

------------------
Holger Brischke
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


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

Karlovac
Mitglied



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

Beiträge: 54
Registriert: 12.09.2013

AutoCAD Mechanical 2012-2015
Windows 7 Enterprise X64
Visual Studio 2010/2013
Intel Xeon W3680
Nvidia Quadro 2000
16 GB RAM

erstellt am: 18. Nov. 2013 11:59    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 SchwedeNK 10 Unities + Antwort hilfreich

Hallo Schwede,

Zitat:

- Seitengröße soll aus dem Layout entnommen werden.

Ist schon mal schwierig, weil je nach dem welches Device im Layout eingestellt ist, auch die Blattformate anders benannt sind.
(kann man aber recht einfach mit Layout.CanonicalMediaName auslesen)

Ich könnte mir aber vorstellen, dass du den mit "Layout.PlotPaperSize" erhaltenen Wert (z.B. "(841,1189)" für A0) interpretierst, dadurch das Format erkennst und den jeweiligen CanonicalMediaName von DWG To PDF.pc3 verwendest in dem Fall z.B:
psv.SetPlotConfigurationName(ps, "DWG To PDF.pc3", "ISO_A0_(841.00_x_1189.00_MM)"

Gruß
Karlovac

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 - 2014
Plateia, Canalis
Visual Basic

erstellt am: 18. Nov. 2013 13:41    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 SchwedeNK 10 Unities + Antwort hilfreich

Zitat:
- Seitengröße soll aus dem Layout entnommen werden.

Zitat:
Original erstellt von Karlovac:
Ist schon mal schwierig, weil je nach dem welches Device im Layout eingestellt ist, auch die Blattformate anders benannt sind.
(kann man aber recht einfach mit Layout.CanonicalMediaName auslesen)

Die Größe des Layout (wenn nur die zu plottenden Inhalte dargestellt sind) kann man leicht über die Systemvariablen Extmin und Extmax herauslesen, allerdings hatte ich damals Probleme mit den richtigen Werten ...

Ich lese mir also zunächst alle in der Config enthaltenen Daten in eine Liste,
hol mir dann die tatsächlichen Werte des Layout,
vergleiche diese mit den Werten im pc3 und nehme das nächst größere
gibt hier auch ein Beispiel dafür, das ich aber auf die Schnelle leider nicht finde.

Vielleicht noch ein Tip:
Ich hatte damals immer Probleme mit den pdf-Dateien, da sich diese nach dem Erzeugen immer gleich öffnen wollten.
Habe dann das ganze umgestellt auf Postscriptausgabe und wandele diese .ps Dateien anschließend in einen Rutsch zu pdf (mit Adobe Acrobat Stapelbearbeitung). Dabei kann man auch sehr schön die Zeichnung auf die tatsächliche Größe beschneiden lassen.
Bei bis zu 20 Layouts braucht es das nicht, bei mehrmals über 500 ist das aber ganz hilfreich.

Grüße
Klaus 

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

SchwedeNK
Mitglied
Holztechniker


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

Beiträge: 43
Registriert: 19.05.2011

AutoCAD 2009 - 2018
Visual Studio Express 2010 / 2012 /2015
Windows 10 64 Bit
Windows 8.1 Pro 64 Bit

erstellt am: 03. Feb. 2014 09:23    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

Vielen Dank euch allen!

Habe es jetzt so hinbekommen:

Erst die Größe vom Layout ermitteln und dann in der Plot-Konfiguration die nächstmögliche der .pc3-Datei auswählen.

Code:

....
Dim medlist As StringCollection = psv.GetCanonicalMediaNameList(ps)

...

For i As Integer = 0 To medlist.Count - 1
                    If medlist(i).StartsWith("ISO_full_bleed_A") And medlist(i).Contains(GrößeX.ToString + ".00_x_" + GrößeY.ToString) Then
                        ed.WriteMessage(vbLf & "{0} {1}", i + 1, medlist(i))
                        medname = medlist(i)
                    End If
                Next

....


Viele Grüße,

Schwede 

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