Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Zeichnung als PDF, DXF und SAT als Makro

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 SOLIDWORKS
  
Dassault Systèmes auf der Hannover Messe 2024 (kostenlose Tickets verfügbar)
Autor Thema:  Zeichnung als PDF, DXF und SAT als Makro (6268 mal gelesen)
UteBrandt
Mitglied
Konstrukeurin


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

Beiträge: 11
Registriert: 20.03.2013

Solidworks 2014 x64 Sp5.0
ATI Fire Pro V5800(FireGL V)(Treiber9.3.3.3000)
Windows 7 Professional

erstellt am: 20. Mrz. 2013 11:14    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

Guten Morgen liebe Forenmitglieder.

Ich bin war auf der Suche nach einem Makro, das meine Zeichnungen sowohl als PDF, DXF und SAT exportiert.
Viele ähnliche Makros habe ich gefunden, leider nicht genau unseren Anforderungen entsprechend.

Ähnlich diesem Beitrag:
http://ww3.cad.de/foren/ubb/Forum2/HTML/023099.shtml

Jedoch: Ich benötige die PDF nur von dem 1.Blatt, die DXF und SAT vom 2. Blatt. Die erzeugten Dateinamen sollen dem Dateinamen der Zeichnung entsprechen und in das Zeichnungsverzeichnis geschrieben werden.

Makro Nr. 20 und auch PAC4SW ist klasse, jedoch habe ich keine ausreichenden VBA-Kenntnisse--------schon mal versucht, aber fast verzweifelt----- deshalb die Frage an Euch : Kann mich jemand in meinem Forschungsdrang unterstützen ?   

Vielen Dank schonmal 

------------------
UB

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

Heiko Soehnholz
Ehrenmitglied V.I.P. h.c.
Dipl.-Ing. (FH) Maschinenbau



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

Beiträge: 5463
Registriert: 03.07.2002

SOLIDWORKS 2001 - 2024SP0.1
Elite AE Award 2023
SOLIDWORKS Premium,
Simu, Flow, Plastics, Composer, MBD,
Inspection, PDMP, Visualize, TopsWorks,
DPS Tools, JobBox, MacroSheet, etc.
Passungstabelle von Heinz
WIN10x64 22H2 | HP ZBook 17 Fury G8

erstellt am: 20. Mrz. 2013 11:42    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 UteBrandt 10 Unities + Antwort hilfreich

Hallo,

viel Helfen kann ich hier leider nicht, dennoch eine Anmerkung:

SAT ist ein Format für 3-Modelle, vorzugsweise Volumenkörper, nicht für Zeichnungen. Das wird also nicht gehen / keinen Sinn machen. Es handelt sich hierbei um die Dateiendung für das ACIS-Format.

Gruß, Heiko

------------------
Einen schönen Gruß von Heiko

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

UteBrandt
Mitglied
Konstrukeurin


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

Beiträge: 11
Registriert: 20.03.2013

Solidworks 2014 x64 Sp5.0
ATI Fire Pro V5800(FireGL V)(Treiber9.3.3.3000)
Windows 7 Professional

erstellt am: 20. Mrz. 2013 11: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

äääähhh------- OHNE SAT natürlich. Brauchen wir natürlich vom Modell und nicht von der Zeichnung     
Also nur PDF und DXF 

------------------
UB

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

UteBrandt
Mitglied
Konstrukeurin


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

Beiträge: 11
Registriert: 20.03.2013

Solidworks 2014 x64 Sp5.0
ATI Fire Pro V5800(FireGL V)(Treiber9.3.3.3000)
Windows 7 Professional

erstellt am: 20. Mrz. 2013 11:45    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

Danke, Heiko. Da war ich doch noch etwas verschlafen. Ist doch gar nicht so früh.....

------------------
UB

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

madabub
Mitglied


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

Beiträge: 5
Registriert: 05.12.2012

Windows 7 Professional SP1 64Bit
Intel Xeon 2.80GHz
8 GB Ram
NVIDIA Quadro FX 1800
Solid Works 2011 x64

erstellt am: 20. Mrz. 2013 12:11    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 UteBrandt 10 Unities + Antwort hilfreich

Hallo,

Das selbe hatte ich auch schonmal vor. Nur das mit DXF Speichern habe ich noch nicht hinbekommen. Da hänge ich irgendwie will das nämlich nicht so recht funktionieren.

[Diese Nachricht wurde von madabub am 20. Mrz. 2013 editiert.]

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 20. Mrz. 2013 12:11    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 UteBrandt 10 Unities + Antwort hilfreich


25482_pac4swx-multijob.zip

 
Hallo Ute,

und herzlich willkommen im SolidWorks Brett auf CAD.de 

Zitat:
Original erstellt von UteBrandt:
[...] jedoch habe ich keine ausreichenden VBA-Kenntnisse--------schon mal versucht, aber fast verzweifelt----- deshalb die Frage an Euch : Kann mich jemand in meinem Forschungsdrang unterstützen?

Unterstützen beim Forschen: ja, klar. Makro fertig zaubern: eher nicht.

Punkt 1: SAT von Zeichnungen gibt es gar nicht, damusst du was anderes meinen oder dir was anderes ausdenken.

Punkt 2: du hast PAC4SWX erwähnt, hast du das schon im Einsatz? Dann solltest du dir den Multijob anschauen, gepaart mit den Blattfiltern sollte das deinen Anforderungen gerecht werden. Ich hab dir mal ein Video davon gemacht, wie das aussehen könnte, erst ein PDF exportieren und dann anschließend nur von Blatt2 (oder wie auch immer du die DXF-Blätter identifizieren kannst, bei uns haben die z.B. alle ein "NC-" im Blattnamen) ein DXF erstellt wird. Wie üblich kannst du in PAC4SWX alles auch speichern und brauchst dann die Einstellungen nicht wieder neu machen, und logischerweise geht das nicht nur mit der aktiven Zeichnungen sondern auch mit einer langen Liste von Dateien.

Fairerweise sei gesagt, dass es (leider) nicht aufgrund eines Bugs seit der SW2010 in SolidWorks nicht geht, die Blattnamenfilter bei PDF-Export zu nutzen. Dazu hab ich zwar den SPR 539515 (Late binding for SldWorks.ExportPdfData is not working), aber das nützt dir dann trotzdem nichts. Wenn es wirklich wichtig ist, dass nur das erste Blatt als PDF rausgeht müsste statt dem Standard-Export in PAC4SWX da ein Makro rein, dass mit Earlybinding arbeitet und nur das erste Blatt exportiert.

Punkt 3: falls du doch lieber ein eigenes Makro dafür machen möchtest zeugst du uns am besten, was du bereits hast, wo es hakt und wo du nicht weiterkommst.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

UteBrandt
Mitglied
Konstrukeurin


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

Beiträge: 11
Registriert: 20.03.2013

Solidworks 2014 x64 Sp5.0
ATI Fire Pro V5800(FireGL V)(Treiber9.3.3.3000)
Windows 7 Professional

erstellt am: 21. Mrz. 2013 11: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

Hallo Stefan.

Vielen Dank für die Anwort !

zu Punkt 1: Sorry, war ein Müdigkeitsproblem

zu Punkt 2: nein, habe es nicht im Einsatz, möchte lieber ein Makro

zu Punkt 3: Ok. Ich fang mal klein mit nur mit den PDFs an. Habe mal was zusammenkopiert, klappt auch schon ausgezeichnet. Sie werden auf Laufwerk "N:\" gespeichert, es gibt auch keine unerwünschten Dialogboxen. Aus der API-Hilfe habe ich die SetSheets-Zeile, die aber leider nicht funktioniert. Habe ich sie an einer falschen Stelle eingefügt ?


'------------------------------------------------------------------
' Zeichnung als PDF in ein spezielles Verzeichnis speichern
'------------------------------------------------------------------

Option Explicit
  Dim strSheetName    As String

    Dim swApp                  As SldWorks.SldWorks
    Dim swModel                As SldWorks.ModelDoc2
    Dim pdfoptions              As Long
    Dim sPathName              As String
    Dim nErrors                As Long
    Dim nWarnings              As Long
    Dim nRetval                As Long
    Dim bShowMap                As Boolean
    Dim bRet                    As Boolean
    Dim sFileName              As String
    Dim ConfName                As String
    Dim Index                  As String

         
Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    sPathName = swModel.GetPathName
    sPathName = Left(sPathName, Len(sPathName) - 7)
    sFileName = ohnePfad(sPathName)
    ConfName = swModel.GetConfigurationNames
    Index = swModel.CustomInfo2(ConfName, "Revision")
    If Len(Index) = 3 Then
      Index = Left(Index, 2)
    End If
    sPathName = "N:\" & sFileName & ".pdf"
    Debug.Print sPathName
    swApp.SetUserPreferenceToggle swPDFExportInColor, False
    swApp.SetUserPreferenceToggle swPDFExportEmbedFonts, True
    swApp.SetUserPreferenceToggle swPDFExportHighQuality, True
    swApp.SetUserPreferenceToggle swPDFExportPrintHeaderFooter, False
    swApp.SetUserPreferenceToggle swPDFExportUseCurrentPrintLineWeights, True
    bRet = swModel.SaveAs4(sPathName, _
      swSaveAsCurrentVersion, _
      swSaveAsOptions_Silent, _
            nErrors, _
            nWarnings)
    strSheetName = "Blatt1"

    If bRet = False Then
        nRetval = swApp.SendMsgToUser2("Probleme mit dem Speichern des PDFs", swMbWarning, swMbOk)
    End If
End Sub

Private Function ohnePfad(mitPfad As String) As String
  Dim intCounter As Integer

  For intCounter = Len(mitPfad) To 1 Step -1
    If Mid(mitPfad, intCounter, 1) = "\" Then
      Exit For
    End If
  Next intCounter
  ' Return the value
  ohnePfad = Right(mitPfad, Len(mitPfad) - intCounter)
End Function

Auch in der SetUserPreferenceToggle-Seite habe ich mich umgeschaut, jedoch nichts zur Blattwahl angegeben.
Dieses Problem wird natürlich auch später bei den DXFs auftreten. (iese sind bei uns immer auf der zweiten Seite, das Blatt2 heißt im Regelfall "dxf". )


Sonnige Grüße aus dem Norden 

------------------
UB

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 21. Mrz. 2013 11:49    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 UteBrandt 10 Unities + Antwort hilfreich

Hallo Ute,

na ja, das was du da machst ist nicht so wirklich zielführend, du weist einer Variablen namens strSheetName einen Stringwert "Blatt1" zu - wieos hoffst du darauf, dass dadurch nur ein bestimmtest Blatt exportiert wird - zumal das speichern ja in der Zeile darüber schon erledigt ist?

Ich hänge dir als Beispiel wie das mit dem PDF-Export einzelner Blätter funktioniert mal einfach mein Beispielmakro für den API Support an, mit dem ich damals des SPR zum Problem dabei mit dem Latebinding gemacht habe:

Code:
'
' Late binding for swExportPDFData wont work, if you try to, the call
' swExportPDFData.SetSheets wont do anything. On the other hand, it is
' necessary to be able to write version independent macros using late
' binding
'
' SPR 539515 (Late binding for SldWorks.ExportPdfData is not working)
' Stefan Berlitz
'
'
'-----------------------------------------------------------------
' Preconditions: The specified drawing document exits.
'
'                NOTE: The drawing document is installed when
'                      you install SolidWorks.
'
' Postconditions: The specified sheet is exported to a PDF file.
'------------------------------------------------------------------

Option Explicit

Dim swApp              As SldWorks.SldWorks
Dim swModel            As SldWorks.ModelDoc2
Dim swModelDocExt      As SldWorks.ModelDocExtension
Dim swExportPDFData    As SldWorks.ExportPdfData
' Achtung: diese Deklaration MUSS per Early Binding durchgeführt werden, da bei
' Late binding alle Blätter exportiert werden, als ob die Eisnchränkung per
' swExportPDFData gar nicht genutzt worden wäre
' SPR 539515 (Late binding for SldWorks.ExportPdfData is not working)

Dim boolstatus          As Boolean
Dim filename            As String
Dim lErrors            As Long
Dim lWarnings          As Long
Dim strSheetName(4)    As String
Dim varSheetName        As Variant

Sub main()

    ' Path to which to save PDF file of drawing
    filename = "C:\temp\test.pdf"
   
    Set swApp = Application.SldWorks
    swApp.Visible = True

    ' Open specified drawing
    Set swModel = swApp.ActiveDoc
    Set swModelDocExt = swModel.Extension
    Set swExportPDFData = swApp.GetExportFileData(1)

    ' Names of the sheets
    strSheetName(0) = "Sheet1"
    ' strSheetName(1) = "Sheet2"
    strSheetName(2) = "Sheet3"
    ' strSheetName(3) = "Sheet4"

    varSheetName = strSheetName
    If swExportPDFData Is Nothing Then MsgBox "Nothing"

    boolstatus = swExportPDFData.SetSheets(swExportData_ExportSpecifiedSheets, varSheetName)
    Debug.Print boolstatus
    boolstatus = swModelDocExt.SaveAs(filename, 0, 0, swExportPDFData, lErrors, lWarnings)

End Sub



Ich vermute mal aus diesem oder ähnlichem Code hast du deine Variablenzuweisung ... aber ist doch schon etwas mehr, wie du siehst.

Wenn du dieses Makro einfach benutzt, statt "Sheet1" eben "Blatt1" reinschreibst und das ganze mit Verweisen deiner SolidWorks Version versiehst (um das Early binding hinzubekommen) sollte es so funktionieren.

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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)2024 CAD.de | Impressum | Datenschutz