Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  3D Pdf 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
  
3DEXPERIENCE Conference 2024 | München
Autor Thema:  3D Pdf Makro (3616 mal gelesen)
AbelThorsten
Mitglied
Student

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

Beiträge: 5
Registriert: 05.11.2008

SolidWorks 2008 Sp3.1

erstellt am: 05. Nov. 2008 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,
ich fange gerade an mich in Makroprogramierung in VB einzuarbeiten. Deshalb besitze ich lediglich Anfängerwissen. Ich möchte gerne eine Part-Datei als 3D Pdf über ein Makro abspeichern. Als Normales PDF bekomme ich das hin nur leider bekomme ich das die 3D Funktion nicht aktiviert. In der API Hilfe habe ich dazu einen Eintrag gefunden nur leider kann ich damit nicht viel anfangen. Kann mir evt jemand ein Beispielprogramm posten? Das wäre mir eine riesen Hilfe!

vielen Dank im Vorraus!

mfg

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

fast_fredy
Mitglied
Konstrukteur


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

Beiträge: 307
Registriert: 29.06.2004

SWX 2019 SP5.0 x64, keytech 13.1.2.182, Windows 10 Pro for Workstations(Version 1809), Office 2016, Dell Precision 5820 Tower, 32GB RAM, NVIDIA Quadro RTX 4000/PCIe/SSE2(R419)

erstellt am: 05. Nov. 2008 11:44    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 AbelThorsten 10 Unities + Antwort hilfreich

Hallo, denke das geht. Guck mal auch hier http://www.acronaut.de/category2/
Möglich, dass man Adobe Acrobat 3D kaufren muss. Glaube aber, dass es mit SWX2008 geht.

Stöber mal in o.g. Forum.

Gruß und viel Glück 
Fredy

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

fast_fredy
Mitglied
Konstrukteur


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

Beiträge: 307
Registriert: 29.06.2004

SWX 2019 SP5.0 x64, keytech 13.1.2.182, Windows 10 Pro for Workstations(Version 1809), Office 2016, Dell Precision 5820 Tower, 32GB RAM, NVIDIA Quadro RTX 4000/PCIe/SSE2(R419)

erstellt am: 05. Nov. 2008 11:52    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 AbelThorsten 10 Unities + Antwort hilfreich

hab noch nachgesehen: es geht ab SWX2005. Allerdings mit Acrobat 3D + §D Toolkit. Wird wohl was kosten  . Der dortige Admin "acronaut" hilft dir bei Problemen sicher gerne weiter  .

Gruß
Fredy

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

AbelThorsten
Mitglied
Student

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

Beiträge: 5
Registriert: 05.11.2008

SolidWorks 2008 Sp3.1

erstellt am: 05. Nov. 2008 11:52    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 für die schnelle Antwort. Jedoch ist das leider nicht die Hilfe zu meinem Problem. Also, SolidWorks kann Part-Dateien als 3D Pdf abspeichern, jedoch bekomme ich das nicht in ein Makro eingebaut.
Mein Makro sieht zurzeit folgendermaßen aus (es ist nur ein Auszug):

Private Sub Speichern_Click()

Dim swApp As Object
Dim Model As Object
Dim SelMgr As Object
Dim longstatus As Long, longwarnings As Long
Dim Name As String
Dim Filename As String


    Dim sFolder    As String          'Variable für das Windows-Verzeichnis
    Dim sFile      As String          'Variable für die Dateisuche
    Dim asFiles()  As String          'Datenfeld für die Ergebnisdateien
    Dim lCounter    As Long            'Zählervariable

Set swApp = Application.SldWorks
Set Model = swApp.ActiveDoc
Set SelMgr = Model.SelectionManager

.
.
.

        If PDF3D = True Then
        ExportPdfData.ExportAs3D = True
        Model.SaveAs2 "K:\CAD, 3-D\3-D-PDF`s\3D-PDF Dokumente\" + Teilenummer.Text + ".pdf", 0, True, True
        Call MsgBox("Dateien wurden erfolgreich gespeichert.", vbOKOnly, "Information")
        End If

...

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 05. Nov. 2008 12:12    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 AbelThorsten 10 Unities + Antwort hilfreich

Hallo Thorsten,

du musst dein dein ExportData Objekt auch in die SaveAs Methode übergeben. Dieser Parameter existiert in der neusten SaveAs Methode ModelDocExtension.SaveAs.

Such mal in der der API Hilfe nach dem Beispiel "Save File as PDF Example (VB)". Dieses wird die sicherlich helfen.

------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks Api Snippets

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

nahe
Ehrenmitglied



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

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 05. Nov. 2008 12:15    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 AbelThorsten 10 Unities + Antwort hilfreich

Hallo

hast Du eigentlich schon mal die API-Online-Hilfe bemüht?
unter dem Stichwort "ExportPdfData Object" steht dort

------------------------------------------------------------------
Allows access to the PDF export data interface, which allows you to save:

drawing sheets to PDF.

parts and assemblies to 3D PDF.

To export drawing sheets to PDF:

Get the ExportPdfData object using SldWorks::GetExportFileData.

Set the sheets to export to PDF using ExportPdfData::SetSheets.

Save the sheets using ModelDocExtension::SaveAs.

To export a part or assembly to 3D PDF:

Get the ExportPdfData object using SldWorks::GetExportFileData.

Set ExportPdfData::ExportAs3D to TRUE.

Save the part or drawing document using ModelDocExtension::SaveAs.

Use the Accessors link above to get a list of functions that return this object.

------------------------------------------------------------------

und das dazugehörige Beispiel angesehen?


------------------
Grüße
Heinz

[Diese Nachricht wurde von nahe am 05. Nov. 2008 editiert.]

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

AbelThorsten
Mitglied
Student

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

Beiträge: 5
Registriert: 05.11.2008

SolidWorks 2008 Sp3.1

erstellt am: 05. Nov. 2008 13:18    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 nochmalf für die schnelle Hilfe!

Leider bin ich wie gesagt ein blutiger Anfänger, deswegen funktioniert es wohl auch immernoch nicht! Ich habe jetzt folgendes geschrieben:

Private Sub Speichern_Click()

Dim swApp As Object
Dim Model As Object
Dim SelMgr As Object
Dim longstatus As Long, longwarnings As Long
Dim Name As String
Dim Filename As String

Dim swModel            As SldWorks.ModelDoc2
Dim swModelDocExt      As SldWorks.ModelDocExtension
Dim swExportPDFData    As SldWorks.ExportPdfData

Dim sFolder    As String          'Variable für das Windows-Verzeichnis
Dim sFile      As String          'Variable für die Dateisuche
Dim asFiles()  As String          'Datenfeld für die Ergebnisdateien
Dim lCounter    As Long            'Zählervariable

Set swApp = Application.SldWorks
Set Model = swApp.ActiveDoc
Set SelMgr = Model.SelectionManager
.
.
.
        If PDF3D = True Then
        swExportPDFData.ExportAs3D = True
        'Model.SaveAs2 "K:\CAD, 3-D\3-D-PDF`s\3D-PDF Dokumente\" + Teilenummer.Text + ".pdf", 0, True, False
        swModelDocExt.SaveAs2 "K:\CAD, 3-D\3-D-PDF`s\3D-PDF Dokumente\" + Teilenummer.Text + ".pdf", 0, 0, swExportPDFData
        Call MsgBox("Datei wurden erfolgreich gespeichert.", vbOKOnly, "Information")
        End If


Dabei bekomme ich in dieser Zeile:
            swExportPDFData.ExportAs3D = True
die Fehlermeldung:
            Objektvariable oder With-Blockvariable nicht festgelegt.

ich vermute mal ganz stark das auch noch mehr Fehler in dem Abschnitt sind!
Wenn ich alles aus texte also in hochkomma setzte funktioniert der rest des programms den ich nicht gepostet habe ganz wunderbar! also muss hier irgendwo der fehler sein.

Die hilfedateien habe ich mir angesehen... nur so wie es aussieht kann ich damit nicht umgehen!

ich bin für jede hilfe sehr dankbar!

mfg Thorsten

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 05. Nov. 2008 13: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 Nur für AbelThorsten 10 Unities + Antwort hilfreich

Hallo Thorsten,

du musst deine Objekte initialisieren damit du die Befehle und Eigenschaften dieser verwenden kannst.

Ich kann dir wirklich nur empfehlen die das Beispiel "Save File as PDF Example (VB)" aus der SolidWorks API Hilfe (SolidWorks Menü > Hilfe > API Hilfethemen) anzuschauen und Schritt für Schritt den Code auszuführen.

Deine Objekte swModel, swModelDocExt und swExportPDFData initialisiert man zum Beispiel so:

Code:
Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension
Set swExportPDFData = swApp.GetExportFileData(1)

Hinweis: Ich hoffe du hast bemerkt das du zwei ModelDoc Variablen (swModel & Model) hast. Eine Variable würde für deine Aufgabe reichen.

------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks Api Snippets

[Diese Nachricht wurde von tbd am 05. Nov. 2008 editiert.]

[Diese Nachricht wurde von tbd am 05. Nov. 2008 editiert.]

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

AbelThorsten
Mitglied
Student

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

Beiträge: 5
Registriert: 05.11.2008

SolidWorks 2008 Sp3.1

erstellt am: 05. Nov. 2008 14:52    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

So langsam wird es mir echt peinlich, aber einen Veruch will ich noch waagen! Ich habe jetzt ein selbsttändiges Makro begonnen, leider sind die PDF Files die erzeugt werden immernoch 2D-PDF's also einfach nur bilder die Nicht gedreht werden können. Habt ihr irgendeine Idee was jetzt falsch ist. Das sieht doch jetzt fast genau so aus wie in der API Hilfe!

    Dim swApp              As SldWorks.SldWorks
    Dim swModel            As SldWorks.ModelDoc2
    Dim swModelDocExt      As SldWorks.ModelDocExtension
    Dim swExportPDFData    As SldWorks.ExportPdfData
    Dim boolstatus          As Boolean
    Dim filename            As String
    Dim lErrors            As Long
    Dim lWarnings          As Long


Sub main()
    ' Path to which to save PDF file of drawing
    filename = "K:\CAD, 3-D\3-D-PDF`s\3D-PDF Dokumente\123.PDF"

    Set swApp = Application.SldWorks

    swApp.Visible = True


    ' Open specified drawing
    Set swModel = swApp.ActiveDoc

    Set swModelDocExt = swModel.Extension

    Set swExportPDFData = swApp.GetExportFileData(1)

 
    If swExportPDFData Is Nothing Then MsgBox "Nothing"

    boolstatus = swExportPDFData.ExportAs3D
   
    boolstatus = swModelDocExt.SaveAs(filename, 0, 0, swExportPDFData, lErrors, lWarnings)

End Sub


mfg Thorsten

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

HaPe
Mitglied
Dipl. Ing Maschinenbau, Konstrukteur, CAD-Admin


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

Beiträge: 1096
Registriert: 27.11.2001

i7 CPU 960@3.20GHz
8GB Ram
Quadro 2000 4GB
70GB Raid 0
WIN7 prof. SP1 64 bit
SWX 2010 SP5.0
SWX 2012 SP5.0
SWX 2013 SP5.0

erstellt am: 05. Nov. 2008 14: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 AbelThorsten 10 Unities + Antwort hilfreich

Hallo Thorsten,

OT: nur ein Hinweis, bei Pfaden und Dateinamen solltest Du auf Leer- und Sonderzeichen verzichten.
    Sowas kann bei manchen Funktionen unter Umständen zu Problemen führen.

Gruß HaPe

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

AbelThorsten
Mitglied
Student

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

Beiträge: 5
Registriert: 05.11.2008

SolidWorks 2008 Sp3.1

erstellt am: 05. Nov. 2008 15: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

So habe das Makro jetzt hinbekommen!

Hier ist der richtige code zum erstellen von 3D PDF Dokumenten über ein Makro:

    Dim swApp              As SldWorks.SldWorks
    Dim swModel            As SldWorks.ModelDoc2
    Dim swModelDocExt      As SldWorks.ModelDocExtension
    Dim swExportPDFData    As SldWorks.ExportPdfData
    Dim boolstatus          As Boolean
    Dim filename            As String
    Dim lErrors            As Long
    Dim lWarnings          As Long


Sub main()
    ' Path to which to save PDF file of drawing
    filename = "K:\CAD, 3-D\3-D-PDF`s\3D-PDF Dokumente\123.PDF"

    Set swApp = Application.SldWorks

    swApp.Visible = True


    ' Open specified drawing
    Set swModel = swApp.ActiveDoc

    Set swModelDocExt = swModel.Extension

    Set swExportPDFData = swApp.GetExportFileData(1)

 
    If swExportPDFData Is Nothing Then MsgBox "Nothing"

    swExportPDFData.ExportAs3D = True
   
    boolstatus = swModelDocExt.SaveAs(filename, 0, 0, swExportPDFData, lErrors, lWarnings)

End Sub


vielen Dank nochmal für eure Hilfe!!

mfg

Thorsten

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

tbd
Mitglied
Teamleiter


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

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600
-----
Win XP Prof SP 3
SW 2008 SP 5.0
PARTsolutions 8.1.08
Cideon SAP PLM 5.103.5.17
Visual Studio 2008

erstellt am: 05. Nov. 2008 15:19    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 AbelThorsten 10 Unities + Antwort hilfreich

Das erste eigene Makro, herzlichen Glückwunsch!

Aller Anfang ist schwer, nur nicht aufgeben!
In der SolidWorks API Hilfe, auf Stefans Seite und auf meiner Seite findest du weitere Beispiele und Hinweise zum lernen.
Wenn du ab und zu nachschaust ist die SolidWorks API kein Geheimnis mehr für dich!

------------------
Mfg Daniel

www.MySldWorks.de - SolidWorks Api Snippets

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