| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
| Dassault PLM Integrationen mit der 3DViewStation, eine Pressemitteilung
|
Autor
|
Thema: open in new window (5502 mal gelesen)
|
Shamrock2 Mitglied CAD-Admin
Beiträge: 33 Registriert: 24.09.2009 CATIA V5 R16/R17 - x32 R18/R19 - x64 mit VISTAx64 auf HP XW4600
|
erstellt am: 28. Sep. 2009 13:36 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, wie kann ich - egal in welchem Windows befindend - auslesen, welchen PARTs des ProductStrukturbaumes per "open in new window" geöffnet wurden/sind? Möchte diese "geöffneten" PARTs/Windows per Macro schliessen. Bitte um Hilfe - Danke. Gruß Joachim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndyMF Mitglied Betriebsmittelkonstrukteur
Beiträge: 90 Registriert: 16.09.2008 Windows Xp64 SP2 Catia V5 R16 Sp5 HF39 (Audi) 32bit und 64bit Catia V5 R16 (DC) 32bit/64bit Catia V5 R17 SP3 HF38 (BMW) 32bit/64bit Catia V5 R19 (Audi)32bit/64bit
|
erstellt am: 28. Sep. 2009 13:52 <-- editieren / zitieren --> Unities abgeben: Nur für Shamrock2
Hallo Du musst auf die Catia windows gehen! Hier ein kleines Beispiel wie du an die Anzahl bzw an die Namen der Windows kommst : Language="VBSCRIPT" Sub CATMain() Set windowsopen = CATIA.Windows Msgbox(windowsopen.count) for i = 1 to windowsopen.count msgbox(Catia.windows.item(i).name) next End Sub Ich hoffe das hilft dir weiter ! Gruß Andy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shamrock2 Mitglied CAD-Admin
Beiträge: 33 Registriert: 24.09.2009 CATIA V5 R16/R17 - x32 R18/R19 - x64 mit VISTAx64 auf HP XW4600
|
erstellt am: 28. Sep. 2009 13:58 <-- editieren / zitieren --> Unities abgeben:
Danke Andy, so komme ich an die einzelnen Fenster ran. Versuche mich jetzt noch, das "root"-Fenster, also das Fenster, in dem das Product geladen wurde, zu ermitteln. Hast Du eine Idee? Danke und Gruß Joachim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndyMF Mitglied Betriebsmittelkonstrukteur
Beiträge: 90 Registriert: 16.09.2008 Windows Xp64 SP2 Catia V5 R16 Sp5 HF39 (Audi) 32bit und 64bit Catia V5 R16 (DC) 32bit/64bit Catia V5 R17 SP3 HF38 (BMW) 32bit/64bit Catia V5 R19 (Audi)32bit/64bit
|
erstellt am: 28. Sep. 2009 14:25 <-- editieren / zitieren --> Unities abgeben: Nur für Shamrock2
Hallo Joachim Normal geh ich davon aus das der User das produkt zuerst öffnet und daraus die einzelnen verbauten parts oder Produkts in neuem Fenster öffnet. Somit müsste window.item(1) dein Root sein. Wenn du den close befehl in die schleife mit Window.item(i).close reinhaust und erst die Schleife ab 2 losgehen lässt sollte es funktionieren. Würde aber zuerst das window.item(1) activieren, und dann die Schleife starten. Gruß Andy beispiel: Language="VBSCRIPT" Sub CATMain() Set windowsopen = CATIA.Windows Msgbox(windowsopen.count) for i = 2 to windowsopen.count msgbox(Catia.windows.item(i).name) CATIA.Documents.Item(Catia.windows.item(i).name).close next End Sub
[Diese Nachricht wurde von AndyMF am 28. Sep. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shamrock2 Mitglied CAD-Admin
Beiträge: 33 Registriert: 24.09.2009 CATIA V5 R16/R17 - x32 R18/R19 - x64 mit VISTAx64 auf HP XW4600
|
erstellt am: 28. Sep. 2009 14:30 <-- editieren / zitieren --> Unities abgeben:
|
AndyMF Mitglied Betriebsmittelkonstrukteur
Beiträge: 90 Registriert: 16.09.2008 Windows Xp64 SP2 Catia V5 R16 Sp5 HF39 (Audi) 32bit und 64bit Catia V5 R16 (DC) 32bit/64bit Catia V5 R17 SP3 HF38 (BMW) 32bit/64bit Catia V5 R19 (Audi)32bit/64bit
|
erstellt am: 28. Sep. 2009 15:20 <-- editieren / zitieren --> Unities abgeben: Nur für Shamrock2
Hallo Joachim sry hatte nen Fehler im letzten Code ! Hab aber noch nich berücksichtigt das alle Files gesaved sein sollten! Language="VBSCRIPT" Sub CATMain() Set windowsopen = CATIA.Windows Msgbox(windowsopen.count) for i = windowsopen.count to 2 step -1 set doctoclose = CATIA.Documents.Item(Catia.windows.item(i).name) doctoclose.close next End Sub Gruß Andy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shamrock2 Mitglied CAD-Admin
Beiträge: 33 Registriert: 24.09.2009 CATIA V5 R16/R17 - x32 R18/R19 - x64 mit VISTAx64 auf HP XW4600
|
erstellt am: 28. Sep. 2009 15:26 <-- editieren / zitieren --> Unities abgeben:
|
Shamrock2 Mitglied CAD-Admin
Beiträge: 33 Registriert: 24.09.2009 CATIA V5 R16/R17 - x32 R18/R19 - x64 mit VISTAx64 auf HP XW4600
|
erstellt am: 29. Sep. 2009 08:29 <-- editieren / zitieren --> Unities abgeben:
Hallo Andy, irgendwie klappt das so nicht, wie ich es mir vorstelle. Fall 1 Ich habe folgenden Code: Set WindowsOpen = CATIA.Windows for w = WindowsOpen.count to 2 step -1 WindowsName = WindowsOpen.item(w).name Set WindowsSelect = WindowsOpen.item(WindowsName) WindowsSelect.Activate WindowsSelect.Close next Die Fenster werden rückwärts, der Reihe nach per "Activate" in den Vordergrund gelegt, aber nicht geschlossen - es erscheint auch keine Fehlermeldung! Fall 2 Dann habe ich anstatt des "WindowsSelect.Close" folgendes eingebaut: Set WindowsClose = CATIA.ActiveDocument WindowsClose.Close Jetzt werden die Fenster zwar geschlossen, aber: wurden Änderungen vorgenommen (SaveManagement: Modified), so würde/hätte ich erwartet, dass ich vor dem Schliessen des jeweiligen Fensters eine Abfrage bekomme --> kein Abfrage! Mit "CATIA.DisplayFileAlerts = True/False" habe ich auch schon experimentiert --> kein Erfolg Nach dem Schliessen bleibt das SaveManagement auf "Modified". Hast Du eine Idee zu den beiden Fällen? Danke und Gruß Joachim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndyMF Mitglied Betriebsmittelkonstrukteur
Beiträge: 90 Registriert: 16.09.2008 Windows Xp64 SP2 Catia V5 R16 Sp5 HF39 (Audi) 32bit und 64bit Catia V5 R16 (DC) 32bit/64bit Catia V5 R17 SP3 HF38 (BMW) 32bit/64bit Catia V5 R19 (Audi)32bit/64bit
|
erstellt am: 29. Sep. 2009 09:00 <-- editieren / zitieren --> Unities abgeben: Nur für Shamrock2
Guten morgen Joachim ich sehe das du nicht das document abfragst sondern nur das window im Fall 1. Ich hab durch den windowname auf das Document zugegriffen in meinem Code set doctoclose = CATIA.Documents.Item(Catia.windows.item(i).name) Bau dir mal eine Abfrage für das document ein ob es gesavet werden muß daran kommst ud über set CATIA.Documents.Item(Catia.windows.item(i).name).saved Da siehst du dann ob das Document in dem window verändert wurde oder nicht!Je nach umgebung von windows kommt dann Wahr bzw True oder Falsch bzw False. Hoffe das hilft dir weiter. Grüsse Andy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shamrock2 Mitglied CAD-Admin
Beiträge: 33 Registriert: 24.09.2009 CATIA V5 R16/R17 - x32 R18/R19 - x64 mit VISTAx64 auf HP XW4600
|
erstellt am: 29. Sep. 2009 09:42 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen Andy, mit dem "Document"-Zugriff hast Du Recht gehabt - Danke. Dass ich mit ".saved" ein Document abfragen kann, wusste ich schon. Trotzdem auch hier Danke. Was mich jedoch wundert, in der Catia-Doku steht aussdrücklich, dass beim "close" eine Abfrage bei geänderten Dateien kommt. Nun muss ich diese "manuell" machen ... Gruß Joachim Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AndyMF Mitglied Betriebsmittelkonstrukteur
Beiträge: 90 Registriert: 16.09.2008 Windows Xp64 SP2 Catia V5 R16 Sp5 HF39 (Audi) 32bit und 64bit Catia V5 R16 (DC) 32bit/64bit Catia V5 R17 SP3 HF38 (BMW) 32bit/64bit Catia V5 R19 (Audi)32bit/64bit
|
erstellt am: 29. Sep. 2009 09:53 <-- editieren / zitieren --> Unities abgeben: Nur für Shamrock2
Hallo Joachim Hab es grad selber nochmal gestestet.Kann mir nur vorstellen das die Parts die ja im geöffneten Root noch offen sind dadurch nicht betroffen werden über makro wenn sie im separaten Window geschlossen werden.Da sie ja noch intern im Product offen sind. Grüsse Andy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shamrock2 Mitglied CAD-Admin
Beiträge: 33 Registriert: 24.09.2009 CATIA V5 R16/R17 - x32 R18/R19 - x64 mit VISTAx64 auf HP XW4600
|
erstellt am: 29. Sep. 2009 10:36 <-- editieren / zitieren --> Unities abgeben:
|