Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Bedienung eines CATIA Fensters aus fremden Thread

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Bedienung eines CATIA Fensters aus fremden Thread (385 mal gelesen)
PierreM21
Mitglied
Software Entwickler / Mechanik Engineer

Sehen Sie sich das Profil von PierreM21 an!   Senden Sie eine Private Message an PierreM21  Schreiben Sie einen Gästebucheintrag für PierreM21

Beiträge: 6
Registriert: 11.12.2020

Intel(R) Xeon(R) Gold 6144 CPU @ 3.50GHz
3.49 GHz (2 Prozessoren)
24GB RAM
Windows 10 64b

erstellt am: 08. Jul. 2022 14:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


UnfoldFenster.PNG

 
Hallo,
ich schreibe derzeit eine .Net App, die die Inputs (Mouse/Keyboard) eines CATIA Users simuliert. Ich will damit ein Prozess automatisieren, welches die Funktion Unfold (Workbench GSD) nützt. Ich hätte gerne die Funktion über die Automation API verwendet, allerdings ist die API an der Stelle -leider- nicht ausreichend für mein Szenario ("Transfer" Funktion nicht unterstürzt), deswegen der Weg über Windows Handling (user32.dll / SendMessage).
Dieser Weg funktioniert auch ziemlich gut, ich kann die meisten Controls des Fensters problemlos aktivieren, nur das eine nicht: das TabControl (s. Bild).

Nachdem ich die Unfold Command exekutiert habe, komme ich mit


FindRootWindowList("Unfold Definition")


auf die Handlers der Windows (Controls) des Fensters und dann kann ich auch die Buttons aktivieren:


WindowsAPI.SendMessage(myButtonHandler, BM_CLICK, IntPtr.Zero, IntPtr.Zero);


Nur die Tabs lassen sich somit nicht ändern. Doch die entsprechende Handlers sind als Button gekennzeichnet (WinClass). Ich vermute, hier geht es nicht um Microsoft Standard Button Control sondern um eine Dassault spezifische Control, die sich möglicherweise nicht über die user32.dll Library ansprechen lässt. Deswegen versuche ich mein Glück auf diesem Forum.

Über den TabContainer Window bin ich auch nicht erfolgreicher gewesen:


WindowsAPI.SendMessage(myTabContainerHandler, TCM_SETCURFOCUS, tabIndex, 0);


Hier wieder vermute ich, das der Tab Control was Dassault spezifisches ist / kein Derivat vom Microsoft SysTabControl32...

Hat also jemand schon Erfahrung mit so ein Thema gemacht?

------------------
Pierre

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

bwr
Mitglied
Konstrukteur


Sehen Sie sich das Profil von bwr an!   Senden Sie eine Private Message an bwr  Schreiben Sie einen Gästebucheintrag für bwr

Beiträge: 129
Registriert: 21.02.2007

erstellt am: 11. Jul. 2022 08:24    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für PierreM21 10 Unities + Antwort hilfreich

Hallo Pierre,
vielleicht kannst du mit dem WinExplorer von NirSoft noch ein paar Informationen zu dem Catia-Fenster bekommen, die dir weiterhelfen.
Mehr kann ich zu dem Thema leider nicht beitragen.

------------------
Grüße
Andreas
etaCAD

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PierreM21
Mitglied
Software Entwickler / Mechanik Engineer

Sehen Sie sich das Profil von PierreM21 an!   Senden Sie eine Private Message an PierreM21  Schreiben Sie einen Gästebucheintrag für PierreM21

Beiträge: 6
Registriert: 11.12.2020

Intel(R) Xeon(R) Gold 6144 CPU @ 3.50GHz
3.49 GHz (2 Prozessoren)
24GB RAM
Windows 10 64b

erstellt am: 11. Jul. 2022 09:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Andreas, danke werde mir das anschauen.
Heute dürfte ich aber eine positive Überraschung zum Wochenstart haben: ich dachte diese Transfert Funktion war nicht teil der Automation API weil sie in http://catiadoc.free.fr/online/interfaces/main.htm nicht dokumentiert ist. Lag ich aber falsch, die gibt es tatsächlich:

HybridShapeUnfold unfoldedSurface = HSF.AddNewUnfold();
unfoldedSurface.AddElementToTransfer(ptRef, 0);

LessonLearned: die catiadoc.free.fr Doku nicht vertrauen sondern in Code prüfen, worüber die Objekten tatsächlich verfügen...
Somit erstmal kein Wursteln mit dem CATIA Fenster nötig.

------------------
Pierre

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz