| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | KISTERS 3DViewStation: Schutz sensibler 3D CAD Daten, egal von wo Sie arbeiten, eine Pressemitteilung
|
Autor
|
Thema: Aktivieren von SubProducts (2471 mal gelesen)
|
hklein06 Mitglied Entwicklung Fahrwerk

 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 / zitieren --> Unities abgeben:         
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
 Beiträge: 2 Registriert: 10.05.2006
|
erstellt am: 10. Mai. 2006 10:21 <-- editieren / zitieren --> Unities abgeben:          Nur für hklein06
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

 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 / zitieren --> Unities abgeben:         
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

 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 / zitieren --> Unities abgeben:         
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.

 Beiträge: 49 Registriert: 29.08.2005
|
erstellt am: 18. Mai. 2006 09:35 <-- editieren / zitieren --> Unities abgeben:          Nur für hklein06
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 |