Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Aktivieren von SubProducts

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:  Aktivieren von SubProducts (2393 mal gelesen)
hklein06
Mitglied
Entwicklung Fahrwerk


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

Beiträge: 50
Registriert: 17.03.2006

CATIA V5 R14 HF-35
[ RS6000 AIX 5.3-ML04 ]

erstellt am: 10. Mai. 2006 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

Hallo,

ich habe ein Product mit mehreren SubProducts deaktiviert geladen ("do not activate shapes on open"). Jetzt möchte ich einzelne SubProducts aktivieren, etwas bearbeiten und wieder deaktivieren.
Leider scheitert es schon am aktivieren. Im Forum habe ich leider nichts spezielles gefunden.

Danke im Voraus, viele Grüße

Holger


Hier meine Versuche die SubProducts zu aktivieren oder den ShapeName zu erhalten, um mit ActivateShape arbeiten zu können.

Sub CATMain()
   
Set Doc = CATIA.ActiveDocument
Set Prod = DOC.Product
Dim i As Integer

MsgBox "Anzahl der Subproducts: "&Prod.Products.Count

' Test 1
Prod.ActivateDefaultShape
Prod.Products.Item(1).ActivateDefaultShape

' Test 2
For i = 1 To Prod.Products.Count
  MsgBox "Name des SubProducts: "&Prod.Products.Item(1).Name
  MsgBox "GetActiveShapeName: "&Prod.Products.Item(1).GetActiveShapeName
  MsgBox "GetDefaultShapeName: "&GetDefaultShapeName
Next

End Sub

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

K.A.
Mitglied


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

Beiträge: 2
Registriert: 10.05.2006

erstellt am: 10. Mai. 2006 10:21    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 hklein06 10 Unities + Antwort hilfreich

Sub CATMain()
Set ROOTDOC = CATIA.ActiveDocument
Set ROOTPROD = ROOTDOC.Product

AKTIVIERE_ELEMENTE ROOTPROD

end sub

Sub AKTIVIERE_ELEMENTE(VATER)
for count = 1 To VATER.Products.Count
Set AKTUELLESProdukt = VATER.Products.Item(count)
AKTUELLESProdukt.ActivateDefaultShape
AKTIVIERE_ELEMENTE AKTUELLESProdukt
next
end sub

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

hklein06
Mitglied
Entwicklung Fahrwerk


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

Beiträge: 50
Registriert: 17.03.2006

CATIA V5 R14 HF-35
[ RS6000 AIX 5.3-ML04 ]

erstellt am: 17. Mai. 2006 11:43    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,

danke für die Info. Mir war nicht klar, dass ich den ganzen Baum durchgehen muss. Wenn man das von Hand macht, reicht der oberste Knoten.

Allerdings ist mir etwas Seltsames aufgefallen. Wenn ich den Zähler Counter_Products mit Dim deklariere, dann hängt sich die Schleife auf, der Zähler wird nicht mehr hochgezählt. Wenn ich ihn nicht deklariere, dann funktioniert alles (???).

Kann mir jemand erklären weshalb?

Viele Grüße,

Holger

Hier mein Script:

Sub CATMain()

Dim Counter_Products As Integer

Set ClashDocument = CATIA.ActiveDocument
Set ClashProduct = ClashDocument.Product
Sub_Activate_Products ClashProduct
End Sub

Sub Sub_Activate_Products(Product2Activate)
For Counter_Products = 1 To Product2Activate.Products.Count Step 1
  Set ProductActivate = Product2Activate.Products.Item(Counter_Products)
  ProductActivate.ActivateDefaultShape
  Sub_Activate_Products (ProductActivate)
Next
End Sub

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

hklein06
Mitglied
Entwicklung Fahrwerk


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

Beiträge: 50
Registriert: 17.03.2006

CATIA V5 R14 HF-35
[ RS6000 AIX 5.3-ML04 ]

erstellt am: 18. Mai. 2006 07:25    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

Ich habe inzwischen noch ein weiteres Problem....

Beim Durchlaufen des CATIA Baumes wird jedes Teil einzeln aktiviert. Was manuell in 3-4 Minuten erledigt ist, dauert auf dem automatisierten Weg über eine Stunde. Als nächstes stürzt CATIA mit dem 1,7 GB Problem ab.

Hat vielleicht jemand noch eine Idee, wie ich diesen manuellen Aktivierungsvorgang automatisieren kann?

Danke, viele Grüße,

Holger

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

AlexE78
Mitglied
Ing.


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

Beiträge: 49
Registriert: 29.08.2005

erstellt am: 18. Mai. 2006 09:35    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 hklein06 10 Unities + Antwort hilfreich

Guten Morgen,

man kann das manuelle Einschalten der Parts 1:1 im Script nachbauen...

set oD = CATIA.ActiveDocument
set oSel = oD.Selection
oSel.Clear
oSel.Add oD.Product

CATIA.StartCommand "Activate Terminal Node"

Fürdie deutsche Umgebung entsprechend den Befehlsstring ändern... Ich weiß jetzt leider nicht, wie der heißt, aber das findet ihr sicher raus.

Das 1,7 GB Problem läßt sich damit allerdings nicht umgehen...


mfg
Alex

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