Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API: 3D-PDF speichern

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
  
SOLIDWORKS Modellierung komplexer Teile - Online-Live, ein Seminar am 07.07.2026
Autor Thema:  API: 3D-PDF speichern (3780 mal gelesen)
Andi Beck
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 2580
Registriert: 02.10.2006

Firma: SW 2024-3.1 + PDM Prof.
Windows 10 Pro 64bit, i9-11900
32 GbRAM, Quadro P2200
Home:
SW 2023-5.0
Passungstabelle von Heinz
Windows 11 Pro 64bit,
i7-12700K, 32 GbRAM,
GeForce GTX 1050Ti
Samsung C34H892, 3440x1440 Pixel

erstellt am: 16. Apr. 2011 15:50    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 auch,
ich habe in einem Makro eine Routine um das aktive Dokument als PDF zu speichern.

Der verwendete Befehl sieht so aus:

saveFileName = Verzeichnis1 & FileName & ".pdf"
ZeichnungSpeichern.SaveAs2 saveFileName, 0, True, False

Dies funktioniert sowohl bei Zeichnungen als auch bei Models.
Nun besteht doch die Möglichkeit bei Models auch 3D-PDF´s zu erzeugen.
Wie lautet den der Befehl im Makro um so ein 3D-PDF zu erzeugen?

Grüße, Andi 

------------------
Hast du kein Problem?
Such dir eins. ( Und löse es )

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

Volkmar Grube
Mitglied
Konstrukteur


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

Beiträge: 128
Registriert: 31.01.2009

WIN11 64Bit, SWX 2022, Delphi 10

erstellt am: 17. Apr. 2011 10:58    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 Andi Beck 10 Unities + Antwort hilfreich

Hallo Andy,
such mal in der API-Hilfe nach "IExportPdfData.ExportAs3D"
und du musst dann über "IModelDocExtension::SaveAs" sichern.

------------------
Grüße aus Dresden
Volkmar Grube

Es gibt keine Probleme, es gibt nur Aufgaben.

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

Andi Beck
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 2580
Registriert: 02.10.2006

Firma: SW 2024-3.1 + PDM Prof.
Windows 10 Pro 64bit, i9-11900
32 GbRAM, Quadro P2200
Home:
SW 2023-5.0
Passungstabelle von Heinz
Windows 11 Pro 64bit,
i7-12700K, 32 GbRAM,
GeForce GTX 1050Ti
Samsung C34H892, 3440x1440 Pixel

erstellt am: 17. Apr. 2011 11:54    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 Volkmar,
danke für den Hinweis.
In der API-Hilfe war ich schon und versuch gerade, die dortigen Hinweise mir zurecht zu Raten,
damit sie in meinem Makro integriert werden können.   
Ich lese mich auch gerade in die "API Grundlagen und Dokumenthandling" von Daniel Bühling ein, damit ich so langsam vom Greenhorn ins erste Lehrjahr aufsteige.
An dieser Stelle auch Danke Schön an Daniel Bühling für die deutsche Anleitung.

Grüße noch nach Dresden, da war ich zuletzt 1993, lange her. 

Andi

------------------
Hast du kein Problem?
Such dir eins. ( Und löse es )

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

Volkmar Grube
Mitglied
Konstrukteur


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

Beiträge: 128
Registriert: 31.01.2009

WIN11 64Bit, SWX 2022, Delphi 10

erstellt am: 17. Apr. 2011 12:39    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 Andi Beck 10 Unities + Antwort hilfreich

Ich versuche mal, meinen Delphi-Code in VB-Code zu übertragen
(ohne jegliche Garantie, dass das im Detail stimmt). Die Typzuweisungen machen das Ganze ein bisschen transparenter.

Dim swApp  As SldWorks.SldWorks
Dim swmodel As SldWorks.ModelDoc2

dim  swExportPDFData as IExportPdfData

  Set swApp = Application.SldWorks
  Set swmodel = swApp.ActiveDoc
  Set swDocExt = swmodel.Extension

  swExportPDFData = swApp.GetExportFileData(1)
  swExportPDFData.ExportAs3D = true
  ok = swModel.Extension.SaveAs(PDFDateiname, 0, 0, swExportPDFData, Fehler, Warnungen)

------------------
Grüße aus Dresden
Volkmar Grube

Es gibt keine Probleme, es gibt nur Aufgaben.

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

Andi Beck
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 2580
Registriert: 02.10.2006

Firma: SW 2024-3.1 + PDM Prof.
Windows 10 Pro 64bit, i9-11900
32 GbRAM, Quadro P2200
Home:
SW 2023-5.0
Passungstabelle von Heinz
Windows 11 Pro 64bit,
i7-12700K, 32 GbRAM,
GeForce GTX 1050Ti
Samsung C34H892, 3440x1440 Pixel

erstellt am: 17. Apr. 2011 15: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


3D-PDF-Makro-01.JPG


3D-PDF-Makro-02.JPG


3D-PDF-Makro-03.JPG

 
Hallo Volkmar,
danke für deine Ausführungen, aber es zeichnet sich für mich doch etwas schwerer ab als ich anfangs dachte.

Deine beiden Zeilen habe ich wie folgt geändert, da sie Fehlermeldungen verursachten.
Dim swApp  As SldWorks.SldWorks      in      Dim swApp  As Object
Dim swmodel As SldWorks.ModelDoc2    in      Dim swmodel As Object

Hinzugefügt habe ich folgende Zeile, da nicht deklariert.
Dim  swDocExt As Object

Folgende Zeile verursacht den Fehler siehe Bild 01.
dim  swExportPDFData as IExportPdfData

Ändere ich diese Zeile wie folgt, verursacht es einen Fehler wie in Bild 02 und 03 zu sehen.
dim  swExportPDFData as Objekt

Ich bekomme noch nicht einmal die MsgBox zum laufen, weil Info = swDocExt bzw. = swDocExt.text nicht funktioniert.

Dabei ist doch heute Sonntag, da müsste es doch eigentlich klappen. 

Evtl. fällt dir noch etwas ein.
Wenn du möchtest, hänge ich auch das Makro hier rein.

Grüße, Andi 

------------------
Hast du kein Problem?
Such dir eins. ( Und löse es )

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

Volkmar Grube
Mitglied
Konstrukteur


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

Beiträge: 128
Registriert: 31.01.2009

WIN11 64Bit, SWX 2022, Delphi 10

erstellt am: 17. Apr. 2011 16:38    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 Andi Beck 10 Unities + Antwort hilfreich

Bei mir funktioniert der folgende Code.
Die Prozedure saveas scheint in der Realität von der Darstellung in der Hilfe abzuweichen (Fehler "Refby .."). Um die Übergabe zu erzwingen, kann man die Variable aber in eine eigene Klammer setzen.

Sub SichereAls3dPDF()
  Dim swApp  As SldWorks.SldWorks
  Dim swmodel As SldWorks.ModelDoc2
  Dim swExportPDFData As IExportPdfData
  Dim fehler, warnungen As Long
 
  Set swApp = Application.SldWorks
  Set swmodel = swApp.ActiveDoc

  Set swExportPDFData = swApp.GetExportFileData(1)
  swExportPDFData.ExportAs3D = True
  ok = swmodel.Extension.SaveAs("c:\temp\test.pdf", 0, 0, swExportPDFData, (fehler), warnungen)
End Sub

------------------
Grüße aus Dresden
Volkmar Grube

Es gibt keine Probleme, es gibt nur Aufgaben.

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

Andi Beck
Ehrenmitglied V.I.P. h.c.
Konstrukteur



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

Beiträge: 2580
Registriert: 02.10.2006

Firma: SW 2024-3.1 + PDM Prof.
Windows 10 Pro 64bit, i9-11900
32 GbRAM, Quadro P2200
Home:
SW 2023-5.0
Passungstabelle von Heinz
Windows 11 Pro 64bit,
i7-12700K, 32 GbRAM,
GeForce GTX 1050Ti
Samsung C34H892, 3440x1440 Pixel

erstellt am: 17. Apr. 2011 18: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 Volkmar,
und es wird doch noch Sonntag...   

Nach dem ich dein Makro bei mir als separates Makro ausgeführt hatte, konnte ich die Funktion als solches erkennen.
Nun ging es an die Implementierung in mein bestehendes Schriftfeldmakro.
Als erstes musste ich feststellen, dass ich einen Punkt zuviel gesetzt hatte. (Fehlerteufel)

Aber das wichtigste war, dass die SldWorks 2010 Type Library nicht eingebunden war, und ohne geht diese Funktion nicht.
Da funktioniert seit Jahren Stefans ausgebautes Schriftfeldmakro ohne, und nun brauche ich die Library, so so. 

Jetzt funktioniert alles und nun muss ich nur noch eine Checkbox einbinden und das wars dann.

Nochmals besten Dank für die Hilfe,  U´s sind unterwegs.

Grüße, Andi 

------------------
Hast du kein Problem?
Such dir eins. ( Und löse es )

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

Torsten Niemeier
Ehrenmitglied V.I.P. h.c.
Maschinenbau Ingenieur



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

Beiträge: 3743
Registriert: 21.06.2001

"ZUSE I.36", 8 BIT, 32 Lämpchen, Service-Ölkännchen "ESSO-Super", Software: AO auf Kuhlmann-Parallelogramm-Plattform
** CSWP 04/2011 **
** CSWE 08/2011 **

erstellt am: 18. Apr. 2011 00:09    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 Andi Beck 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Andi Beck:

Aber das wichtigste war, dass die SldWorks 2010 Type Library nicht eingebunden war, und ohne geht diese Funktion nicht.
Da funktioniert seit Jahren Stefans ausgebautes Schriftfeldmakro ohne, und nun brauche ich die Library, so so.

Hallo Andi,

den Schalter gibt es laut Hilfe erst seit SolidWorks 2008 SP1.
Da kommst Du mit Deiner Type-Library von SolidWorks 97 einfach nicht dran. 

Gruß, Torsten

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