Autor
|
Thema: Catia Instanzen .NET (1573 mal gelesen)
|
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 01. Sep. 2006 17:32 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen mal wieder eine frage zum wochenende .Ich habe mehrere Instanzen von Catia(bzw cnext) offen und möchte quasi per Knopfdruck zwischen den Instanzen hin-und herswitchen können.Wie ich die erste Instanz anspreche ist mir ja klar(GetObject) aber die anderen??? Hatt da vielleicht jemand eine Idee?? Gruß Andi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000
|
erstellt am: 03. Sep. 2006 20:30 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
|
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 05. Sep. 2006 09:12 <-- editieren / zitieren --> Unities abgeben:
|
okl Mitglied Wirtsch-Ing (Maschbau)
Beiträge: 157 Registriert: 21.04.2006 2x3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1800, Delmia V5R16 SP1, Win XP Prof SP2, Office, VS 2005, VB 6, Inventor (Test), VBExpress .NET 2005 Adminrechte
|
erstellt am: 05. Sep. 2006 14:40 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Meinst Du mit Instanzen die verschiedenen Fenster, in denen verschiedene Parts geöffnet sind oder von einander unabhängige CATIA-Applikationen? Die Plattform V5 ist wie zB Word oder Excel als MDI (multiple Document Interface) gestaltet. Daher kenne ich nur die Möglichkeit, dass es ein Objekt CATIA gibt und der Rest sind geöffnete Dokumente, die Du auf verschiedene Art und Weise ansprechen kannst. Vielleicht nochmals beschreiben. Grüße aus dem wilden Süden der Republik, okl Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Augustiner Mitglied Konstrukteur
Beiträge: 188 Registriert: 02.12.2005 HP Workstation Windows XP Professional Visual Studio 2005 Professional CATIA V5 R14SP5 & R17SP3
|
erstellt am: 05. Sep. 2006 18:12 <-- editieren / zitieren --> Unities abgeben:
Ich habe mehrere CATIA Applicationen geöffnet siehe Screenshot. Wenn ich mit GetObject oder GetActiveObject Arbeite komme ich nur an das zuerst geöffnete CATIA, ich möchte aber per Knopfdruck zur nächsten wechseln können. Gruß Andi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clausb Ehrenmitglied V.I.P. h.c.
Beiträge: 2914 Registriert: 20.12.2000
|
erstellt am: 10. Sep. 2006 17:28 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Da hast Du Dir vermutlich eine knifflige Aufgabe ausgesucht. Office-Applikationen bieten eine spezielle Schreibweise bei GetObject() an, um die Instanz zu finden, die ein bestimmtes Dokument geoeffnet hat; siehe http://support.microsoft.com/kb/288902/EN-US/. Haette CATIA etwas Aehnliches, koennte man vielleicht damit weiterkommen. Aber welche Aufgabe soll eigentlich erledigt werden, sprich: Wieso willst Du von einer Instanz zur naechsten springen? Vielleicht kann man ja auch ganz anders an die Aufgabe herangehen. Claus ------------------ OneSpace Designer Modeling FAQ: http://www.clausbrod.de/Osdm/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
stefanandreas Mitglied Student
Beiträge: 22 Registriert: 24.04.2003
|
erstellt am: 11. Sep. 2006 15:23 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
Hallo zusammen, eine Methode zum finden mehrere Instanzen ist die Prozessliste aller CNEXT Prozesse: Dim pList() As System.Diagnostics.Process = System.Diagnostics.Process.GetProcessesByName("CNEXT") mit pList.Length bekommt man die Anzahl laufender CATIA Instanzen. die einzelnen Prozesse aus dem Array geben auch recht viel Informationen, z.B. ProzessId, Titel des Hauptfensters. Ich habe das verwendet, um die Application in den Vordergrund zu holen: AppActivate(ProzessId). Man könnte damit auch eine Überpfüfung voranstellen, ob mehrere CATIAs laufen. Leider habe ich es bisher auch nicht geschafft, einen Prozess mit einem CATIA Object zu verknüpfen, um auf jede CATIA Instanz einzeln zuzugreifen. Die bei Microsoft beschriebene Methode mit CATIA(i) = GetObject(Fenstertitel(i)).Application hat bei mir nicht funktioniert. Das mehrfache Declarieren CATIA(i) = GetObject(, "CATIA.Application") bringt immer nur die gleiche Instanz (die, welche als erstes gestartet wurde). vielleicht ist das aber ein Anstoss für euch, würde mich auch sehr über eine Lsg freuen. Grüße Stefan
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
leipziger Mitglied Dipl.-Ing. Maschinenbau (FH)
Beiträge: 171 Registriert: 05.09.2005 AIX 275 CatiaV5 R14 SP3
|
erstellt am: 11. Sep. 2006 15:51 <-- editieren / zitieren --> Unities abgeben: Nur für Augustiner
|