Autor
|
Thema: Fenster schließen (2215 mal gelesen)
|
Peter80 Mitglied
Beiträge: 10 Registriert: 20.09.2007
|
erstellt am: 29. Nov. 2007 11:26 <-- editieren / zitieren --> Unities abgeben:
Hallo allerseits, mir stellt sich wieder eine "Anfängerfrage": Ich möchte zwei Parts erzeugen und dann das Fenster des ersten schließen. Folgenden CATVBA-Code hab' mir dazu schon überlegt, aber leider funktioniert's nicht: ----------------------------------------------------------- Sub catmain() Dim Teil1 As Document Set Teil1 = CATIA.Documents.Add("Part") Dim Teil2 As Document Set Teil2 = CATIA.Documents.Add("Part") Set Teil1 = CATIA.ActiveDocument CATIA.ActiveWindow.Close End Sub ---------------------------------------------------------- Was muss ich ändern? Wenn ich ein CatPart ganz schließe funktionierts natürlich. Aber dann kann ich nicht mehr drauf zugreifen. Gruß Peter
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ize Mitglied Student
Beiträge: 28 Registriert: 27.09.2007
|
erstellt am: 30. Nov. 2007 08:39 <-- editieren / zitieren --> Unities abgeben: Nur für Peter80
bin mir nit ganz sicher, aber probiers mal mit Code:
Teil1.Activate CATIA.ActiveWindow.Close
bzw einfach Code:
Teil1.Close
oder willst du nur minimieren? das wäre dann
Code:
Dim specsAndGeomWindow1 As Window Teil1.Activate Set specsAndGeomWindow1 = CATIA.ActiveWindowspecsAndGeomWindow1.WindowState = catWindowStateMinimized
gibt dann noch die optionen catWindowStateMaximized, catWindowStateMinimized, catWindowStateNormaltschö Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter80 Mitglied
Beiträge: 10 Registriert: 20.09.2007
|
erstellt am: 03. Dez. 2007 00:33 <-- editieren / zitieren --> Unities abgeben:
Danke für die schnelle Antwort! Ich hab's deinem Vorschlag folgend so probiert: Code: Sub catmain()Dim Teil1 As Document Set Teil1 = CATIA.Documents.Add("Part") Dim Teil2 As Document Set Teil2 = CATIA.Documents.Add("Part") Teil1.Activate CATIA.ActiveWindow.Close End Sub
Leider wird das erste Fenster nicht geschlossen. Mit "Teil1.close" kann man später nicht mehr auf Teil1 zugreifen, was für meinen Fall jedoch wichtig wäre. Auch ein Minimieren des Fensters bringt mir leider nicht viel. Vielleicht liegt's ja an meiner Catia-Version: V5 R17 SP6. Hat vielleicht jemand noch 'ne Idee woran's liegen könnte? Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 03. Dez. 2007 06:29 <-- editieren / zitieren --> Unities abgeben: Nur für Peter80
Hallo, versuch es doch mal so Catia.Windows.Item(Teil1.Name).Activate Catia.ActiveDocument.Close oder Catia.Documents.Item(Teil1.Name).Close Wenn du nur die beiden Fenster auf hast geht auch Catia.Windows.Item(1).Activate Catia.ActiveDocument.Close oder Catia.Documents.Item(1).Close
------------------ MfG Randle ! It's not a bug, it's a feature ! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter80 Mitglied
Beiträge: 10 Registriert: 20.09.2007
|
erstellt am: 05. Dez. 2007 15:10 <-- editieren / zitieren --> Unities abgeben:
Hallo Randle, danke für den Tipp. Leider scheint das Schließen eine Fensters mit "catia.activewindow.close" - und nicht des ganzen Dokuments, das zu dem Fenster gehört - nicht zu funktionieren. Man muss wohl das betreffende Dokument ("Teil1.close") ganz schließen und kann dann später nicht mehr darauf zugreifen. Gruß Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lusilnie Mitglied
Beiträge: 1486 Registriert: 13.07.2005
|
erstellt am: 05. Dez. 2007 22:42 <-- editieren / zitieren --> Unities abgeben: Nur für Peter80
Hallo Peter80, warum speicherst Du das Teil nicht? Dann kannst Du das Dokument schließen und es bei Bedarf wieder öffnen oder auch nur lesen, je nach dem, was Du brauchst. Wenn du es nur temporär benötigst, kannst du es ja wieder löschen. Alles sollte, soweit ich weiß, aus dem Script heraus funktionieren! Noch Fragen??? mfg, Lusilnie
------------------
Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!! frei nach größeren Geistern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Peter80 Mitglied
Beiträge: 10 Registriert: 20.09.2007
|
erstellt am: 06. Dez. 2007 12:51 <-- editieren / zitieren --> Unities abgeben:
Servus Lusilnie, danke für den Hinweis! Das hab' ich mir auch schon überlegt. Allerdings sollen sich bei meinem Skript nur die Fenster mit den erzeugten Teilen öffnen. Eine Interaktion mit dem Benutzer nach der Art "Wohin sollen die Teile gespeichert werden?" ist eigentlich nicht vorgesehen. Aber watt mutt, datt mutt anscheinend... Viele Grüße Peter
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |