| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Save Dialog (mit abhängigen Dateien) (2212 mal gelesen)
|
mechajo Mitglied
Beiträge: 76 Registriert: 14.01.2009 Autodesk Inventor Simulation 2009 Windows XP 32-Bit
|
erstellt am: 31. Jul. 2009 09:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Inventor-VBA-Gemeinde, ich möchte diesen Save Dialog, der beim Speichern einer IDWauftritt beantworten lassen ohne das eine Interaktion des Users notwendig ist. Dabei ist es nicht wichtig, dass die von der IDW abhängigen Dateien ebenfalls gespeichert werden. Wenn das allerdings auch möglich ist, habe ich auch nichts dagegen. Die IDW wird innerhalb eines Makros geöffnet, dann wird in der Stücklistentabelle eine Zelle bearbeitet und anschließend wird die IDW gespeichert und geschlossen. Beim oDrawDoc.Save Befehl tritt schließlich dieser Dialog auf. Diesen möchte ich vermeiden, wobei die IDW natürlich gespeichert werden soll. Gruß mechajo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rtend12 Mitglied Dipl.-Ing. (FH) Maschinenbau / Konstrukteur
Beiträge: 436 Registriert: 21.07.2004 Catia V5 (R16SP5, B18SP5) VB.Net 2003
|
erstellt am: 31. Jul. 2009 20:46 <-- editieren / zitieren --> Unities abgeben: Nur für mechajo
Hallo, als erstes würde ich in den Anwendungsoptionen unter Dokument die Einstellung "Referenzierte Dateien, mit Vorgae "Nein"..." wählen. Dann würde es das Dialogfeld, dass Du in dem angehängten Bild zeigst schon mal gar nicht geben. Ansonsten könntest Du, wenn Du alle Dateien speichern möchtest durch alle Referenzen itterieren und die mit dirty-Flag speichern. Du müsstest natürlich beim untersten Dokument mit dem speichern beginnen. Die Frage ist natürlich warum ein Modell gespeichert werden will, wenn Du in der IDW die Stückliste änderst. Ich hatte früher mal die physikalischen Eigenschaften als Hauptverursacher ausgemacht. Hab mir dann ein Klassenmodul programmiert, dass vor dem Speichern die Masse aktualisierte und die Speicher-Orgien hatten ein Ende. Gruß Reinhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mechajo Mitglied
Beiträge: 76 Registriert: 14.01.2009 Autodesk Inventor Simulation 2009 Windows XP 32-Bit
|
erstellt am: 03. Aug. 2009 10:16 <-- editieren / zitieren --> Unities abgeben:
Hi, danke für den Tipp mit der Einstellung. habe diese Idee aufgegriffen und die Einstellung per VBA vorgenommen, dann gespeichert und anschließend die Einstellung wieder zurückgesetzt, da ich die Einstellung nicht generell so stehen lassen will. Jetzt habe ich aber einen schönen leisen Speichervorgang und mein Makro läuft ungestört durch. Code: ThisApplication.SaveOptions.ListReferencedFilesInSaveDialog = True 'Saves the drawing document oDrawDoc.Save ThisApplication.SaveOptions.ListReferencedFilesInSaveDialog = False
Gruß, mechajo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rtend12 Mitglied Dipl.-Ing. (FH) Maschinenbau / Konstrukteur
Beiträge: 436 Registriert: 21.07.2004 Catia V5 (R16SP5, B18SP5) VB.Net 2003
|
erstellt am: 03. Aug. 2009 20:21 <-- editieren / zitieren --> Unities abgeben: Nur für mechajo
Hallo mechajo, der Dialog ist nur so lange leise, so lange Du keine weiteren zu speichernden Dateien in der IDW referenzierst. Wenn Du immer einen leisen Dialog haben willst wenn Dein Makro durchläuft mußt Du durch alle Dateien iterieren wie schon beschrieben. Gruß Reinhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mechajo Mitglied
Beiträge: 76 Registriert: 14.01.2009 Autodesk Inventor Simulation 2009 Windows XP 32-Bit
|
erstellt am: 04. Aug. 2009 08:39 <-- editieren / zitieren --> Unities abgeben:
Hallo Reinhard, ich glaube in meinem Fall ist gesichert dass keine weiteren zu speichernden Dateien in der IDW referenziert werden. Mein Makro öffnet ein/e Bauteil/Baugruppe und verändert dort einige Parameter. Das Ergebnis wird abgespeichert. Dann wird die dazugehörige Zeichnung gesucht und geöffnet. Dann wird die Zeichnung aktualisiert und in einer auf dem Blatt befindlichen Stückliste werden die Maße des Rohblechs eingetragen. Das ist definitiv die einzige Änderung in der Zeichnung bevor diese wiederum abgespeichert wird. Das läuft alles ohne Userinteraktion ab, also keine Chance ne weitere Datei zu referenzieren. Ich würde sagen damit ist der Fall, dass eine weitere Datei referenziert wird, ausgeschlossen. Bitte widersprecht mir wenn ich mich irre. Gruß Mechajo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rtend12 Mitglied Dipl.-Ing. (FH) Maschinenbau / Konstrukteur
Beiträge: 436 Registriert: 21.07.2004 Catia V5 (R16SP5, B18SP5) VB.Net 2003
|
erstellt am: 04. Aug. 2009 21:50 <-- editieren / zitieren --> Unities abgeben: Nur für mechajo
Hallo Mechajo, wenn Du sicher bist, dass keine referenzierte Datei gespeichert werden möchte kannst Du das natürlich so umsetzen. Die Erfahrungen mit Inventor und den Speicherorgien würden mich mit etwas Vorsicht an die Sache rangehen lassen. Ich würde die Dokumente duchlaufen und prüfen, ob alle Dokumente "ok" sind. Das sollte eigentlich nicht besonders lange dauern, da die Dokumente ja schon geladen sind und nur eine Eigenschaft abgefragt werden muß. Gruß Reinhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mechajo Mitglied
Beiträge: 76 Registriert: 14.01.2009 Autodesk Inventor Simulation 2009 Windows XP 32-Bit
|
erstellt am: 05. Aug. 2009 09:18 <-- editieren / zitieren --> Unities abgeben:
Wenn ich dich richtig verstanden habe soll ich, wenn ich das Modell geöffnet, geändert und gespeichert habe, vor dem Schließen checken ob das Modell auf seinem aktuellsten Stand ist oder ob es nichtgespeicherte Änderungen gibt. Im Normalfall (von dem ich im Moment ausgehe) wird es dann keine nichtgespeicherten Änderungen geben, weil ja kurz vorher abgespeichert wurde. Meine Frage dazu ist: Wie soll ich die Sache behandeln wenn doch nichtgespeicherte Änderungen erkannt wurden? Das Modell nochmal abspeichern? Vielen Dank für deine Zeit, Gruß mechajo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rtend12 Mitglied Dipl.-Ing. (FH) Maschinenbau / Konstrukteur
Beiträge: 436 Registriert: 21.07.2004 Catia V5 (R16SP5, B18SP5) VB.Net 2003
|
erstellt am: 05. Aug. 2009 22:34 <-- editieren / zitieren --> Unities abgeben: Nur für mechajo
Hallo mechajo, was ist schon normal? Da ich nicht weiß, wie dein Makro abläuft, wann es ausgeführt wird und ob der User eingreifen soll/kann, kann ich Dir nicht sagen ob Du die Dateien, die gespeichert werden wollen, speichern sollst. Gruß Reinhard Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mechajo Mitglied
Beiträge: 76 Registriert: 14.01.2009 Autodesk Inventor Simulation 2009 Windows XP 32-Bit
|
erstellt am: 07. Aug. 2009 10:42 <-- editieren / zitieren --> Unities abgeben:
Alles klar, war ne dumme Frage. da keine Userinteraktion während des Makros stattfindet werde ich es dabei belassen die Eigenschaft kurz anzuwählen und nach dem Speichern wieder abzuwählen. vlg mechajo Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |