| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co. |
| |
 | Mit dem all4cad-Blog immer bestens informiert! - Neues zu Lösungen und Entwicklungen rund um ERP und PDM, eine Pressemitteilung
|
Autor
|
Thema: Sets automatisch umbenennen (2061 / mal gelesen)
|
Rene3112 Mitglied Konstrukteur

 Beiträge: 15 Registriert: 01.12.2015 Catia V5 R24 Intel Xeon 3.2GHz 64 Bit
|
erstellt am: 20. Jan. 2016 08:31 <-- editieren / zitieren --> Unities abgeben:         
Hallo Catia-Gemeinde, ich habe es mit dem Makrorecorder probiert, aber es funktioniert leider nicht. Ich möchte gerne, dass die Elemente im markierten Set den selben Name bekommen wie das Set, zum Beispiel das Set Welle (siehe Bild). Allerding sollen die Elemente vor dem namen Welle immer dem entsprechend Element benannt werden: Point_Welle, Plane_Welle und Sketch_Welle. Der Recorder macht selber nichts, vielleicht hat jemand ein Makro in der Schublade liegen oder etwas vergleichbares, was sich schnell anpassen lässt? Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Mitglied Freiberuflicher Konstrukteur
   
 Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 20. Jan. 2016 12:25 <-- editieren / zitieren --> Unities abgeben:          Nur für Rene3112
|
Rene3112 Mitglied Konstrukteur

 Beiträge: 15 Registriert: 01.12.2015 Catia V5 R24 Intel Xeon 3.2GHz 64 Bit
|
erstellt am: 20. Jan. 2016 14:02 <-- editieren / zitieren --> Unities abgeben:         
Hallo Joe, da hast Du recht, es braucht keiner, aber unser Auftraggeber steht darauf. Deswegen steht auch überall <rename> Er braucht es anscheinend. Ich wollte uns damit eine Arbeitserleichterung schaffen. Sinn und Zweck steht leider nicht zur Debatte... Trotzdem danke für deine Antwort Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joehz Mitglied Freiberuflicher Konstrukteur
   
 Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 20. Jan. 2016 14:17 <-- editieren / zitieren --> Unities abgeben:          Nur für Rene3112
|
Randle Mitglied CAD/PLM Consultant
  
 Beiträge: 751 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-30
|
erstellt am: 20. Jan. 2016 14:20 <-- editieren / zitieren --> Unities abgeben:          Nur für Rene3112
Hallo, sinnvoll oder nicht, aber machbar. Hier mal schnell und schmutzig. Public strSucheNach As String Public strErsetzenDurch As String Sub CATMain() Dim PartDoc As PartDocument On Error Resume Next Set PartDoc = CATIA.ActiveDocument If Err.Number <> 0 Then Exit Sub On Error GoTo 0 Dim osel 'As Selection Set osel = CATIA.ActiveDocument.Selection osel.Clear Dim oHS As HybridShape Dim oSelResult As String Dim aFilter(0) Dim HB As HybridBody aFilter(0) = "HybridBody" oSelResult = osel.SelectElement2(aFilter, "GeoSet auswählen", False) If oSelResult = "Normal" Then Set HB = osel.Item(1).Value If HB.HybridShapes.Count > 0 Then RekursivScan HB End If End Sub Private Sub RekursivScan(t_HB As HybridBody) Dim oGeo As HybridShape On Error Resume Next If t_HB.HybridShapes.Count <> 0 Then For Each oGeo In t_HB.HybridShapes oGeo.Name = TypeName(oGeo) & "_" & t_HB.Name ' Replace(oGeo.Name, strSucheNach, strErsetzenDurch, 1, -1, vbTextCompare) Next End If Dim HBody As HybridBody If t_HB.HybridBodies.Count <> 0 Then For Each HBody In t_HB.HybridBodies RekursivScan HBody Next End If On Error GoTo 0 End Sub Nach Makrostart das GeoSet auswählen. Makro läuft rekursiv, d.h. auch untergeordnete GeoSets werden berücksichtigt. Nicht berücksichtigt werden derzeit Skizzen und Achsenkreuze. Gruß Randle Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rene3112 Mitglied Konstrukteur

 Beiträge: 15 Registriert: 01.12.2015 Catia V5 R24 Intel Xeon 3.2GHz 64 Bit
|
erstellt am: 20. Jan. 2016 14:22 <-- editieren / zitieren --> Unities abgeben:         
Das ist ein anderes Problem. Es geht mir eigentlich nur darum, dass die vorgebenen Sets von unserem Auftraggeber mit jeweils einem Punkt, einer Plane und einem Sketch dem Set entsprechend umbenannt werden. Dann brauche ich nur dem Set einen Namen geben, dann das Makro starten und weiter machen. So benenne ich Punkt, Plane und Sketch auch immer wieder um. Elemente die danach eingefügt werden, müssen von Hand umbenannt werden. Ich denke, es wäre trotzdem eine Erleichterung. Ob es sinnvoll ist, frage ich ja nicht. Der Auftraggeber möchte es, dann bekommt er es. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rene3112 Mitglied Konstrukteur

 Beiträge: 15 Registriert: 01.12.2015 Catia V5 R24 Intel Xeon 3.2GHz 64 Bit
|
erstellt am: 20. Jan. 2016 14:59 <-- editieren / zitieren --> Unities abgeben:         
Hallo Randle, danke für die Mühe. Leider läuft es bei mir nicht. Es kommt eine Fehlermeldung. Weitere Info: Es sind immer 1 Punkt, 1 Plane und 1 Skizze im Set. Das Set wird benannt und der Punkt soll immer Point_Setname, die Plane Plane_Setname und die Skizze Sketch_Setname heißen. Alle weiteren Elemente werden per Hand umbenannt. VG Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12054 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 20. Jan. 2016 15:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Rene3112
|
Rene3112 Mitglied Konstrukteur

 Beiträge: 15 Registriert: 01.12.2015 Catia V5 R24 Intel Xeon 3.2GHz 64 Bit
|
erstellt am: 20. Jan. 2016 15:34 <-- editieren / zitieren --> Unities abgeben:         
|
joehz Mitglied Freiberuflicher Konstrukteur
   
 Beiträge: 1057 Registriert: 25.11.2006 Win7 Pro 64 + Ubuntu + Irix6.5.20 Dell Precision M6600 i7-2960XM 2.7GHz 16GB NVidia Quadro M5010 Catia V5R19 VB6Pro.SP6/VBA 6.5.1053
|
erstellt am: 20. Jan. 2016 19:17 <-- editieren / zitieren --> Unities abgeben:          Nur für Rene3112
|
Rene3112 Mitglied Konstrukteur

 Beiträge: 15 Registriert: 01.12.2015 Catia V5 R24 Intel Xeon 3.2GHz 64 Bit
|
erstellt am: 21. Jan. 2016 08:06 <-- editieren / zitieren --> Unities abgeben:         
Hallo Joe, ja, das Bild zeigt das Grundmodell. Da gibt es strikte Regeln, wie der Aufbau ist. Kennt man aber auch von anderen OEMs. Da wird der Mehraufwand auch nicht extra ausgewiesen, daher... Leider habe ich nicht Know-how (und Zeit es zu lernen) Makros selber zu schreiben, ich bin auf den Recorder angewiesen, der hier leider versagt. VG Rene Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
  
 Beiträge: 751 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-30
|
erstellt am: 21. Jan. 2016 09:35 <-- editieren / zitieren --> Unities abgeben:          Nur für Rene3112
Hallo, was das Problem von doppelten Namen angeht, so kann man zur Not auf die Namensprüfung Einfluss nehmen (Tools/Optionen). Ob das so gut ist, wäre eine andere Frage. BTW : Aktuell wird ja die CATIA interne Benennung der Elemente genutzt (z.B. HybridShapePointExplicit für isolierten Punkt). Hier musst du dann noch, wenn erforderlich, eine Fallunterscheidung einbauen. Ich hatte für das Makro ein bestehendes Makro umgeschrieben (was man an den Auskommentierungen sehen kann). Gruß und viel Erfolg Randle Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |