| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Auf dem Weg zur digitalen Auftragsmappe. , ein Anwenderbericht
|
Autor
|
Thema: iLogic / PDF erzeugen (1822 / mal gelesen)
|
reinhard75 Mitglied
Beiträge: 85 Registriert: 04.01.2010 ThinkPad P17 Gen 1 Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz Grafik Nvidea Quadro T2000 Win10 Pro IV2024
|
erstellt am: 06. Apr. 2021 16:08 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, einige Lieferanten von uns verlangen zu den Zeichnungsdateien noch zusätzlich eine PDF mit zu versenden. Ich möchte die Erzeugung des PDF´S gern per iLogic automatisieren. Die PDF soll in dem gleichen Ordner, wie die Zeichnungsdatei abgelegt werden. Sobald ich die Zeichnungsdatei speichere, bzw. nach einer Aktualisierung speichern muss soll eine PDF erzeugt werden, bzw. die vorhandene PDF soll aktualisiert werden. Wir arbeiten mit Inventor 2021. Ich habe schon einiges aus dem "Netz" ausprobiert. Aber leider nichts passendes gefunden. hat jemand zufällig eine passende iLogic-Regel? In der Programmierung von ilogic muss ich mich noch einarbeiten. Ist noch eine Baustelle von mir. Vielen Dank schon mal. Gruss Reinhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
OibelTroibel Mitglied Konstrukteur
Beiträge: 602 Registriert: 18.04.2014 ACAD/Inventor 2018-21
|
erstellt am: 06. Apr. 2021 16:49 <-- editieren / zitieren --> Unities abgeben: Nur für reinhard75
|
KraBBy Mitglied Maschinenbau-Ingenieur
Beiträge: 721 Registriert: 19.09.2007 Inventor Professional 2020 WinX
|
erstellt am: 06. Apr. 2021 17:30 <-- editieren / zitieren --> Unities abgeben: Nur für reinhard75
auf die Schnelle habe ich nur diese Regel hier gefunden iLogic PDF Eport Optionen resetenOb und wie gut das funktioniert, weiß ich nicht. Noch einige Anmerkungen:
- Ist das als externe Regel gedacht? Da muss sehr genau auf irgendwelche Ausnahmen geachtet werden! Zeichnungen bedeutet, JEDE Zeichnung ...
- Eine Regel im einzelnen Dokument (z.B. in der Vorlage) ist ein Albtraum, wenn das mal geändert werden soll/muss und dann viele Altlasten vorhanden sind.
- Abhängig vom Umfang Deiner 'durchschnittlichen' Zeichnung baust Du Dir eine gewisse Bremse ein (der Export dauert ein wenig).
- Fehler beim Programmablauf müssen besonders sorgfältig behandelt werden (was, wenn jemand die vorh. pdf geöffnet hat? Überschreiben wird dann fehlschlagen).
------------------ Gruß KraBBy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
reinhard75 Mitglied
Beiträge: 85 Registriert: 04.01.2010 ThinkPad P17 Gen 1 Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz Grafik Nvidea Quadro T2000 Win10 Pro IV2024
|
erstellt am: 08. Apr. 2021 21:47 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die Lösungen. Der Link von OibelTroibel funktioniert schon sehr gut. Leider wird der PDF-Ordner nicht in dem gleichen Verzeichnis, wie die Zeichnungsdatei angelegt, sondern ein Verzeichnis darüber. Schöne wäre es, wenn der PDF-Ordner im gleichen Verzeichnis, wie die Zeichnungsdatei angelegt wird. Was muss ich ändern? '------start of iLogic------- oPath = ThisDoc.Path oFileName = ThisDoc.FileName(False) 'without extension oRevNum = iProperties.Value("Project", "Revision Number") oPDFAddIn = ThisApplication.ApplicationAddIns.ItemById _ ("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}") oDocument = ThisApplication.ActiveDocument oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism oOptions = ThisApplication.TransientObjects.CreateNameValueMap oDataMedium = ThisApplication.TransientObjects.CreateDataMedium 'If oPDFAddIn.HasSaveCopyAsOptions(oDataMedium, oContext, oOptions) Then oOptions.Value("All_Color_AS_Black") = 1 oOptions.Value("Remove_Line_Weights") = 1 oOptions.Value("Vector_Resolution") = 400 oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets 'oOptions.Value("Custom_Begin_Sheet") = 2 'oOptions.Value("Custom_End_Sheet") = 4 'End If 'get PDF target folder path oFolder = Left(oPath, InStrRev(oPath, "\")) & "PDF" 'Check for the PDF folder and create it if it does not exist If Not System.IO.Directory.Exists(oFolder) Then System.IO.Directory.CreateDirectory(oFolder) End If 'Set the PDF target file name oDataMedium.FileName = oFolder & "\" & oFileName & _ " Rev" & oRevNum & ".pdf" 'Publish document oPDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) '------end of iLogic------- Danke + Gruss Reinhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EIBe 3D Mitglied Dipl. - Ing. (FH)
Beiträge: 267 Registriert: 24.01.2020 HP Z4 G4 Workstation Xeon 3,6 32GB Nvidia P2000 WIN10 SW2015 SP5.0 SW2017 ************* Inv2018 akt.SP
|
erstellt am: 09. Apr. 2021 07:40 <-- editieren / zitieren --> Unities abgeben: Nur für reinhard75
Hallo Reinhard, bitte deinen Code demächst mit dem Code-Tags versehen, das macht ihn deutlich leserlicher. Ändere: Code:
oFolder = Left(oPath, InStrRev(oPath, "\")) & "PDF" zu-> oFolder = oPath & "\PDF"
Hier der komplette Code:
Code:
'------start Of iLogic------- oPath = ThisDoc.Path oFileName = ThisDoc.FileName(False) 'without extension oRevNum = iProperties.Value("Project", "Revision Number") oPDFAddIn = ThisApplication.ApplicationAddIns.ItemById _ ("{0AC6FD96-2F4D-42CE-8BE0-8AEA580399E4}") oDocument = ThisApplication.ActiveDocument oContext = ThisApplication.TransientObjects.CreateTranslationContext oContext.Type = IOMechanismEnum.kFileBrowseIOMechanism oOptions = ThisApplication.TransientObjects.CreateNameValueMap oDataMedium = ThisApplication.TransientObjects.CreateDataMedium 'If oPDFAddIn.HasSaveCopyAsOptions(oDataMedium, oContext, oOptions) Then oOptions.Value("All_Color_AS_Black") = 1 oOptions.Value("Remove_Line_Weights") = 1 oOptions.Value("Vector_Resolution") = 400 oOptions.Value("Sheet_Range") = Inventor.PrintRangeEnum.kPrintAllSheets 'oOptions.Value("Custom_Begin_Sheet") = 2 'oOptions.Value("Custom_End_Sheet") = 4 'End If 'get PDF target folder path oFolder = oPath & "\PDF" 'Check for the PDF folder and create it if it does not exist If Not System.IO.Directory.Exists(oFolder) Then System.IO.Directory.CreateDirectory(oFolder) End If 'Set the PDF target file name oDataMedium.FileName = oFolder & "\" & oFileName & _ " Rev" & oRevNum & ".pdf" 'Publish document oPDFAddIn.SaveCopyAs(oDocument, oContext, oOptions, oDataMedium) '------end of iLogic-------
Grüße
EIBe 3D [Diese Nachricht wurde von EIBe 3D am 09. Apr. 2021 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
reinhard75 Mitglied
Beiträge: 85 Registriert: 04.01.2010 ThinkPad P17 Gen 1 Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz Grafik Nvidea Quadro T2000 Win10 Pro IV2024
|
erstellt am: 12. Apr. 2021 07:19 <-- editieren / zitieren --> Unities abgeben:
|