| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. | | |  | Schnell, effizient und günstig: Mit der Kisters 3DViewStation 3D Arbeits- und Reparaturanleitungen einfach erstellen und pflegen, eine Pressemitteilung
|
Autor
|
Thema: Macro SaveAsFrozen (1715 mal gelesen)
|
Meridian Mitglied CAD / CAE / PDM Administration and Support

 Beiträge: 83 Registriert: 06.06.2007 Catia V5 R25, SP4, HF38, 64-bit Windows 10 64-bit HP Z 440 Workstation, RAM 32 GB, Intel Xeon CPU E5-1630 v3 @ 3.70 GHz, Nvidia Quadro M2000
|
erstellt am: 24. Feb. 2014 08:18 <-- editieren / zitieren --> Unities abgeben:         
Hallo, unter Start --> Digital Mock-Up --> DMU-Navigator gibt es unter Tools --> DMU DaTa Flow eine intessante Funktion mit Namen "SaveAsFrozen". Diese Funktion ist ziemlich hilfreich, wenn man sehr große Assemblys speichern möchte. Ich brauche nur die Produktstruktur nach V5 laden und diese Funktion ausführen. Hierbei kann man anschließend noch entscheiden, ob man die 3D-Parts oder nur die CGR's speichern möchte. Voraussetzung ist natürlich, das mit den Options Cache Management gearbeitet wird und unter Options --> Infrastructure --> Product Structure --> Product Visualisation --> "Do not activate default shapes on open aktiviert" ist. Für diese Funktion möchte ich gerne ein Macro erstellen, um den Ablauf automatisiert ablaufen zu lassen. In der V5 Visual Basic help habe ich auch eine entsprechende Sub gefunden: o Sub SaveAsFrozen( CATBSTR iDirectory, CATBSTR iPrefix, long iData, long iCache) Saves all documents related to the product in a directory. Parameters: iDirectory The directory that will contain documents. iPrefix The prefix used to save product documents. iData To save geometries. 0: no save. 1: save. iCache To cache data. 0: no save. 1: save. Baugruppe ist in V5 geladen! Habe versucht das als Macro umzusetzen: Sub CATMain() Dim Dokument As Document Set Dokument = CATIA.ActiveDocument Dim directory As String Dim prefix As String directory ="C:\TEMP\Save_Test" prefix = "Test" 'Hier kommt die Fehlermeldung, siehe angehängtes Bild. Dokument.SaveAsFrozen directory , prefix , 1, 0 End Sub Hat einer Idee, warum dieser Fehler auftritt? Gruß Meridian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 24. Feb. 2014 08:28 <-- editieren / zitieren --> Unities abgeben:          Nur für Meridian
Servus Diese Methode gehört zur DMU Naviagtor Workbench. Deshalb musst du diese erst ansprechen. Versche es mal so (ungetestet): Code:
Sub CATMain() Dim Dokument As Document Dim directory As String Dim prefix As String Dim TheNavigatorWorkbench As WorkbenchSet Dokument = CATIA.ActiveDocument Set TheNavigatorWorkbench = Dokument.GetWorkbench ( "NavigatorWorkbench" ) directory ="C:\TEMP\Save_Test" prefix = "Test" TheNavigatorWorkbench.DMUDataFlow.SaveAsFrozen directory , prefix , 1, 0 End Sub
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. [Diese Nachricht wurde von bgrittmann am 24. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Meridian Mitglied CAD / CAE / PDM Administration and Support

 Beiträge: 83 Registriert: 06.06.2007 Catia V5 R25, SP4, HF38, 64-bit Windows 10 64-bit HP Z 440 Workstation, RAM 32 GB, Intel Xeon CPU E5-1630 v3 @ 3.70 GHz, Nvidia Quadro M2000
|
erstellt am: 24. Feb. 2014 08:49 <-- editieren / zitieren --> Unities abgeben:         
Hallo Bernd, vielen Dank für deine Antwort. Leider hat dein Beispiel nicht funktioniert. Läuft hier wieder in ein Fehler, siehe Bild: TheNavigatorWorkbench.DMUDataFlow.SaveAsFrozen directory , prefix , 1, 0 Hast du vielleicht eine Idee warum? Gruß Meridian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 24. Feb. 2014 08:55 <-- editieren / zitieren --> Unities abgeben:          Nur für Meridian
|
Meridian Mitglied CAD / CAE / PDM Administration and Support

 Beiträge: 83 Registriert: 06.06.2007 Catia V5 R25, SP4, HF38, 64-bit Windows 10 64-bit HP Z 440 Workstation, RAM 32 GB, Intel Xeon CPU E5-1630 v3 @ 3.70 GHz, Nvidia Quadro M2000
|
erstellt am: 24. Feb. 2014 09:09 <-- editieren / zitieren --> Unities abgeben:         
Hallo Bernd, war mein Fehler. Hatte am am Freitag den Versuch gestartet und den Testfolder im Temp angelegt. Hatte aber vergessen das unser Temp immer bereinigt wird. Nach Neuanlage von C:\TEMP\Save_Test läuft dein Macro. Vielen Dank und super Arbeit. Gruß Meridian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 24. Feb. 2014 09:23 <-- editieren / zitieren --> Unities abgeben:          Nur für Meridian
Servus Deshalb sollte in einem "guten" Makro jede Eingabe, jedes Verzeichnis, jedes Objekt auf das per Namen zugegriffen wurde zunächst geprüft werden (komplette Fehlerbehandlung). Dann kommt zumindest eine sinnvolle Fehlermeldung wenn das Makro mit anderen Randbedingungen gestartet wurde. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |