| | |  | CATIA V5 Grundkurs | Einsteiger - 5 Std. 15 Min 48 | | | |  | Mit dem all4cad-Blog immer bestens informiert! - Neues zu Lösungen und Entwicklungen rund um ERP und PDM, eine Pressemitteilung
|
|
Autor
|
Thema: Namensänderung Parameter nicht möglich (128 mal gelesen)
|
IchMagZüge Mitglied Ingenieur
 Beiträge: 4 Registriert: 15.04.2026 Catia V5 R26
|
erstellt am: 20. Apr. 2026 13:11 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen, es ist ein Problem, bei dem mir einfach der Ansatz fehlt, wo ich schauen muss. Sollte ich das Problem falsch eingeordnet haben, bitte verschieben! Das beigefügte Bild zeigt mein Problem: Es sind zwei Messungen, beide habe ich bei der ursprünglichen Erstellung umbenannt. Für meine Makro habe ich den Namen nochmals geändert, um den Parameter als Messung zu benennen (Erweiterung des Namens um "msrmnt"). Bei der oberen Messung ist das kein Problem, der Name wird angepasst und ist über das Skript zu finden. Bei der unteren Messung wird der Name nicht geändert, und lässt sich auch nicht über mein Skript finden. Ich weiß nicht, was ich bei der Erstellung der zweiten Messung anders gemacht haben soll... im Baum ist das Erscheinungsbild (wie zu sehen ist) zumindest anders. Was kann ich tun, damit auch die zweite Messung das Präfix aufnimmt, damit mein Makro funktionieren kann? Es ist kein Einzelfall in dem Sinne. Die ersten drei Messungen kann ich problemlos ändern, die haben alle die Struktur der oberen Messung. Der Rest hingegen lässt sich nicht anpassen. Vielen Dank für eure Hilfe! VG
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12179 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 20. Apr. 2026 15:08 <-- editieren / zitieren --> Unities abgeben:          Nur für IchMagZüge
Servus Ich kann dein Problem nachstellen. Wie erzeugst du die Messung? Was misst du? Sind das spezielle Elemente? Misst du im Part oder im Product? Wie greifst du per Makro auf die Parameter der Messungen zu? Benötigst du unbedingt die Messung (per Makro kann man auch messen)? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IchMagZüge Mitglied Ingenieur
 Beiträge: 4 Registriert: 15.04.2026 Catia V5 R26
|
erstellt am: 20. Apr. 2026 16:18 <-- editieren / zitieren --> Unities abgeben:         
Hallo Bernd, - die Messung habe ich erzeugt mit dem "Messen zwischen" Tool. Die Messungen sind "händisch" erstellt und umbenannt worden. - es geht um Winkel und Abstände in jeweils eigenständigen Messungen. Je nach Messung greife ich Punkte, Linien, Achsen oder Flächen ab. - gemessen wird im Product zwischen den Parts und Products die in diesem Product verbaut sind. Tatsächlich greife ich nicht sonderlich gezielt auf die Messung zu, sondern Frage jeden Parameter, ob ein bestimmter Textschnipsel vorhanden ist ("msrmnt") und Frage dann nach, ob ich damit einen Winkel (z.b. "card" oder "rot") oder einen Abstand zum Ausdruck bringen wollte. Es ist nicht sauber, aber es läuft schnell genug in unserer Größe. Per Makro zu messen habe ich ehrlich gesagt nicht richtig hinbekommen, und ich weiß auch nicht, ob das für diese Anwendung praktikabel ist. Der Aufbau unserer Produkte ist hierfür nicht gleichartig genug (wenn ich den Ansatz richtig verstanden habe). Die Idee zu dem Makro ist auch aufgekommen aus dem Wunsch heraus die bisherige Arbeitsweise der Kollegen nicht unnötig anzufassen und die Dokumentation der Ergebnisse zu automatisieren. Die Messungen (und deren Benennung ohne "msrmnt") ist Altbestand und sollen zum Verständnis beibehalten werden. Ich kann bei den angelegten Messungen keinen Unterschied feststellen, warum die Namensänderung dem Parameter nicht übergeben werden sollte... im Eigenschaftenmenü steht der Name unter "aktuelle Auswahl" korrekt drin...
VG Morten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12179 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 20. Apr. 2026 17:18 <-- editieren / zitieren --> Unities abgeben:          Nur für IchMagZüge
Servus Morten Anbei ein kleines (Alternativ)Beispiel wie man nur auf die Parameter der Messung zugreifen kann. Allerdings kann man AFAIK über diesen Weg nicht auf den Namen der Messung zugreifen. Vielleicht kannst du davon was brauchen (obwohl ich befürchte dass es dein Problem nicht löst)
Code: Sub CATMain()Dim oPartDoc As Document Dim oSelection As Selection Dim oMeasurement as Object Dim oParameters as Parameters Dim oParameter as Parameter Dim i as Integer Set oPartDoc = CATIA.ActiveDocument Set oSelection = oPartDoc.Selection 'Messungen suchen oSelection.Search "CATDMUSearchInformation.DMUMeasureType,all" if oSelection.Count2 <> 0 then for i = 1 to oSelection.Count2 Set oMeasurement = oSelection.Item2(i).Value 'Parameter der Messung Set oParameters = oPartDoc.Part.Parameters.SubList(oMeasurement, false) MsgBox oMeasurement.Name & vbCr & "Anzahl der Parameter " & oParameters.Count 'for each oParameter in oParameters ' MsgBox oParameter.Name & ": " & oParameter.ValueAsString 'next next end If End Sub
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IchMagZüge Mitglied Ingenieur
 Beiträge: 4 Registriert: 15.04.2026 Catia V5 R26
|
erstellt am: 21. Apr. 2026 18:05 <-- editieren / zitieren --> Unities abgeben:         
Hallo Bernd, vielen Dank für den Code. Leider steigt folgender Zeile aus:
Code: 'Parameter der Messung Set oParameters = oPartDoc.Part.Parameters.SubList(oMeasurement, false)
ist das vielleicht schon ein Hinweis, dass etwas nicht richtig ist? Bei den Sublists bin ich noch nicht ganz durchgestiegen... eine passende Doku habe ich leider auch nicht gefunden, vielleicht muss ich da nochmal suchen. Das Problem habe ich "in den Griff" gekriegt indem ich die Abfrage erweitert habe. Ich Frage nicht nur nach einem Keyword ab, sondern auch gleich den Parameter, den ich ausgeben möchte. "Spart" mir eine if-Abfrage.
Code: If InStr(Item.Name, "rot\Winkel") <> 0 Or InStr(Item.Name, "card\Winkel") <> 0 Or InStr(Item.Name, "angle\Winkel") <> 0 Then ExcelSheet.cells(xlRow, 1).Value = Item.Name ExcelSheet.cells(xlRow, 2).Value = Item.Value ExcelSheet.cells(xlRow, 3).Value = "Deg" xlRow = xlRow + 1 End If
In meinem Testbeispiel fängt es einen Fall, in dem ich eine Linie unglücklich benannt habe, und eine Messung kann ich nicht finden, weil das Keyword nicht an der richtigen Stelle steht. Ich hoffe mal, dass in Zukunft bei neuen Konstruktionen das Umbenennen funktioniert, also wenn es gleich bei der Erstellung gemacht wird... Wobei es trotzdem ein ungutes Gefühl zurücklässt.
Ich lasse die Frage mal offen. Ich werde mal weiter experimentieren, vielleicht finde ich eine Lösung oder zumindest eine Ursache... Viele Grüße Morten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
       
 Beiträge: 12179 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Apr. 2026 18:53 <-- editieren / zitieren --> Unities abgeben:          Nur für IchMagZüge
Servus Morten Zitat: Leider steigt folgender Zeile aus:
Vermutlich weil mein Beispiel von einem geöffneten CATPart ausgeht und nicht ein CATProduct Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IchMagZüge Mitglied Ingenieur
 Beiträge: 4 Registriert: 15.04.2026 Catia V5 R26
|
erstellt am: 23. Apr. 2026 17:53 <-- editieren / zitieren --> Unities abgeben:         
Hallo Bernd, ja, guter Punkt. Habe aus Part ein Product gemacht, und jetzt habe ich Zugriff auf alle Messungen auf dieser Ebene. Darüber kann ich ja trotzdem den Namen abfragen und dann den entsprechenden Wert rausschreiben. Löst zumindest mein Problem in der Hinsicht, dass ich jetzt per Definition nur auf die Messungen zugreife, und damit den Textschnipsel, den ich einfügen wollte obsolet macht. Hoffentlich wird die Benennung in Zukunft kein Problem... Vielen Dank nochmal!
Viele Grüße
Morten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |