Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  instanzen von product bzw. products verfügbar machen

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:  instanzen von product bzw. products verfügbar machen (698 mal gelesen)
catia5beginervbs
Mitglied



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

Beiträge: 22
Registriert: 02.09.2015

Windows 7, Excel 2010,Catia 5.21

erstellt am: 04. Jan. 2018 14:41    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,

ich möchte ab einem bestimmten Knoten im Baum alle Informationen (Partname.Instance Name, Position und Ausrichtung) von Parts auslesen.
Das funktioniert aber nicht immer durch selection, ab und zu schlägt die Methode fehl.
Es kann also sein das der Knoten in product12 ist, mein Zeil ist die Objekte product und products fur diesen knoten zu definieren.

Um den Knoten zu finden mache ich das mit:

Set my_selection = my_document.Selection
my_selection.Clear
my_selection.Search "Name='" & MeineSuche & "',all"
Set my_container_selection = CATIA.ActiveDocument.Selection.Item(1)


wenn ich den Makro Recorder nehme wird für jede Instanz ein ProductX und ProductsX angelegt
ich könnte mir vorstellen das das besser functioniert, aber kann man soetwas nicht auch dynamisch machen?
Ich könnte mir einen function vorstellen welche recursiv ausgeführt wird, leider hackt es da bei mir aus :-)

Sub CATMain()

Dim productDocument1 As ProductDocument
Set productDocument1 = CATIA.ActiveDocument

Dim selection1 As Selection
Set selection1 = productDocument1.Selection

Dim product1 As Product
Set product1 = productDocument1.Product

Dim products1 As Products
Set products1 = product1.Products

Dim product2 As Product
Set product2 = products1.Item(1)

Dim products2 As Products
Set products2 = product2.Products

Dim product3 As Product
Set product3 = products2.Item(1)

Dim products3 As Products
Set products3 = product3.Products

Dim product4 As Product
Set product4 = products3.Item(1)

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: 04. Jan. 2018 15:01    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 catia5beginervbs 10 Unities + Antwort hilfreich

Servus

Die Suche läuft stabiler wenn du dieser weiter einschränkst.
zB:

Code:
Sub CATMain()

Dim productDocument1 As Document
Dim selection1 As Selection
Dim oProduct as Product

Set productDocument1 = CATIA.ActiveDocument
Set selection1 = productDocument1.Selection

selection1.Search "CATAsmSearch.Product,all"

for i = 1 to selection1.count2
   Set oProduct = selection1.item2(i).value
   MsgBox "PartNumber: " & oProduct.PartNumber
next

End Sub


Nach einem bestimmten (Exemplar)Namen dann zB
Code:

selection1.Search "CATAsmSearch.Product.Name= " & StrName & ",all""
Gruß
Bernd

EDIT: Oder natürlich einer Schleife die die Products-Collection beider Baugruppe abarbeitet

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

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

catia5beginervbs
Mitglied



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

Beiträge: 22
Registriert: 02.09.2015

Windows 7, Excel 2010,Catia 5.21

erstellt am: 04. Jan. 2018 15:38    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,

bei den item unter oProduct schlägt die Methode auch fehl
man muss jede Instanz ein dim product bzw products machen,
aber wie macht man das dynamisch

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

catia5beginervbs
Mitglied



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

Beiträge: 22
Registriert: 02.09.2015

Windows 7, Excel 2010,Catia 5.21

erstellt am: 04. Jan. 2018 15:41    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


baum.png

 
siehe bild im Lokal Fenster

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: 04. Jan. 2018 15:48    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 catia5beginervbs 10 Unities + Antwort hilfreich

Servus

Welche Methode schlägt fehl?
So würde eine Schleife aussehen:

Code:
Sub CATMain()

Dim productDocument1 As Document
Dim oRootProduct As Product
Dim oProducts As Products
Dim oInstance As Product

Set productDocument1 = CATIA.ActiveDocument
Set oRootProduct = productDocument1.Product
Set oProducts = oRootProduct.Products

for i = 1 to oProducts.Count
  Set oInstance = oProducts.Item(i)
  MsgBox oInstance.PartNumber
next

End Sub


Auf dem Makrorekorder kann man sich leider nicht immer verlassen. Deshalb auch immer mal in die Doku schauen, oder das Watchfenster genauer studieren (Rootknoten aufmachen und runter hangeln)

Gruß
Bernd

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

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