Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  CATIA-SubProduct in einem neuen Fenster öffnen mit vb.net

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:  CATIA-SubProduct in einem neuen Fenster öffnen mit vb.net (1169 / mal gelesen)
Leilaphi
Mitglied
Wissenschaftlicher Mitarbeiter

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

Beiträge: 4
Registriert: 27.01.2021

erstellt am: 05. Feb. 2021 11:54    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 liebe Community,

ich arbeite mit vb.net und möchte ausgehend von einem geöffneten CATIA-Product ein SubProduct auswählen und in einem neuen CATIA Dokument/Fenster öffnen lassen.
Mit vba wäre das Öffnen eines neuen Fensters mit folgenden Code-Snippets zu lösen:

CATIA.StartCommand("Open in New Window")

oder

CATIA.Documents.Item(“MyPart.CATPart”).NewWindow()


Bei vb.net funktionieren diese Befehle leider nicht. Könnt ihr mir bitte die äquivalenten Befehle für vb.net verraten?

Vielen Dank im Voraus.

Beste Grüße,
Leila

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 05. Feb. 2021 22:54    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 Leilaphi 10 Unities + Antwort hilfreich

Servus Leila

Nur um sicher zu gehen: hast du schon auf die laufende Catia-Session zugegriffen (GetObject oder war es GetActiveObject)?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Leilaphi
Mitglied
Wissenschaftlicher Mitarbeiter

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

Beiträge: 4
Registriert: 27.01.2021

erstellt am: 05. Feb. 2021 23:26    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

Moin Bernd,

danke für deine Rückmeldung.
Ich habe GetObject (noch) nicht benutzt/ausprobiert.
Ich füge mal meinen Code snippet hinzu, dann siehst du, was ich bisher ausprobiert habe. Ich habe den Code Schritt für Schritt durchlaufen lassen und das SelectElement2 hat auch noch funktioniert. Bei der Zeile "CATIA.StartCommand("Open in New Window")" kommt dann die Fehlermeldung "Unbekannter Befehl: Open in New Window". Hast du Ideen?

Beste Grüße,
Leila


Code:

Dim ProdDocument1 As ProductDocument
Dim selection1 As Selection
Dim InputObjectType(0)
Dim aSel

ProdDocument1 = CATIA.ActiveDocument

selection1 = ProdDocument1.Selection

selection1.Clear()

InputObjectType(0) = "Product"

aSel = selection1.SelectElement2(InputObjectType, "Select the object to open in a new window", False)


If aSel = "Normal" Then
CATIA.StartCommand("Open in New Window")
Else
'Take some other action...
End If



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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 06. Feb. 2021 09:13    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 Leilaphi 10 Unities + Antwort hilfreich

Servus

Und woher "weiß" VB was den CATIA ist?
Schau dir zB diese Diskussion an, darin wird gezeigt wie man auf eine geöffnete CATIA-Session zugreift und wie bei Dimensionierung von Variable die entsprechende Libary angegeben wird.
ggf wäre ein Blick in ein Fachbuch, auseinandersetzen mit der VB-Umgebung (Watchfenster, ...), ... sinnvoll.

Gruß
Bernd

PS: Hast du im Projekt auch die Referenzen zu den Catia-Bibliotheken gesetzt?

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Leilaphi
Mitglied
Wissenschaftlicher Mitarbeiter

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

Beiträge: 4
Registriert: 27.01.2021

erstellt am: 08. Feb. 2021 12:06    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

Moinsen Bernd,

vielen Dank für deine Tipps.
Tatsächliche hatte ich nur einen kleinen (für diesen Beitrag angepassten) Ausschnitt aus meinem Code gezeigt.
Ich habe bereits die benötigten CATIA-Projektverweise hinzugefügt und in dem restlichen Code auch schon CATIA "angesprochen". Ich habe nämlich ein Makro mit einer Kollisionsanalyse mit Abspeicherung der Kollisionsergebnisse in XML geschrieben. Das Makro funktioniert auch einwandfrei, jedoch war dieses nicht relevant für meine ursprüngliche Frage, daher hatte ich den Code nicht komplett reinkopiert.

Unabhängig von dem Kollisionsanalyse-Makro, hatte ich mich dann gefragt, ob man einzelne Sub-Products/Parts aus einem geöffneten Product in einem neuen Fenster öffnen lassen kann (händisch wäre es ein Rechtsklick auf das Product/Part und dann unter dem Punkt "Objekt" auf "in einem neuen Fenster öffnen" klicken).
In anderen Foren hatte ich dann passende Befehle für vba dazu gefunden, jedoch leider keine für vb.net.

Wenn es für vb.net keinen einfachen Befehl geben sollte, dann werde ich einen anderen Lösungsansatz verfolgen (unabhängig von dem Part/Product ein neues Dokument öffnen und dann mit copy paste arbeiten).


Beste Grüße,
Leila

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 08. Feb. 2021 12:18    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 Leilaphi 10 Unities + Antwort hilfreich

Servus Leila

In vb.net sollten die Befehle im groben gleich sein.
Kann es sein, dass du Catia nicht auf englisch gestellt hast? (zu sprachunabhängige StartCommands siehe zB hier)
Sind alle Objekte/Variablen gefüllt/definiert/angesprochen?
ggf ist der Weg über NewWindow besser geeignet.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 08. Feb. 2021 13:31    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 Leilaphi 10 Unities + Antwort hilfreich

Servus

In meinen kurzen Tests hat NewWindow nicht so funktioniert wie ich mir vorgestellt habe.
Alternativ geht es noch über Open:

Code:
If aSel = "Normal" Then
Set oDoc = selection1.item2(1).LeafProduct.ReferenceProduct.Parent 'in VB ohne Set
CATIA.Documents.Open(oDoc.FullName)
End If
Vermutlich kommt eine Fehlermeldung wenn das Dokument schon in einem eigenen Fenster geöffnet ist.
Also ggf doch über ein StartCommand oder per Schleife schauen ob ein entsprechendes Fenster schon existiert und dann aktivieren.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Leilaphi
Mitglied
Wissenschaftlicher Mitarbeiter

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

Beiträge: 4
Registriert: 27.01.2021

erstellt am: 08. Feb. 2021 15: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

Moinsen Bernd,

du hattest Recht: meine CATIA-Umgebung war auf deutsch gestellt und deshalb hat es nicht geklappt.
Jetzt funktioniert es wunderbar. 
Tausend Dank für deine Hilfe!

Beste Grüße,
Leila

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