Autor
|
Thema: Makro zum Ändern von Texten in Details (2576 mal gelesen)
|
deyhawaii Mitglied Konstrukteur
Beiträge: 236 Registriert: 17.09.2005 Catia V5 R26 Siemens NX11 Fides 10
|
erstellt am: 14. Nov. 2013 11:47 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, ich habe für das 3D ein Makro das bestimmte Werte in der PartNumber sucht und ersetzt: Sub CATMain() String5 = InputBox("Eingeben welcher Name oder Nummer ersetzt werden soll!!! ", "Test") String3 = InputBox("Zu ersetzenden Namen oder Nummer eingeben", "Test") Set productDocument1 = CATIA.ActiveDocument Set selection1 = productDocument1.Selection selection1.Search "(CATAsmSearch.Part),all" For i = 1 To selection1.Count Set productDocument1 = CATIA.ActiveDocument Set product1 = productDocument1.Product Set products1 = product1.Products Set product2 = selection1.Item(i).Value String2 = product2.PartNumber String4 = product2.Name Dim Text1, Text2, Text3, Vergleich, Text4 Text1 = String2 Text2 = String5 Text3 = String3 Text4 = String4 Vergleich = Replace(Text1, Text2, Text3) product2.PartNumber = Vergleich Vergleich2 = Replace(Text4, Text2, Text3) product2.Name = Vergleich2 Next End Sub Das bräuchte ich jetzt auch für das 2D. Also das in meinen Textfelder der Details nach einem Wert gesucht wird und dieser geändert wird. Auch für Details die ich mit "Modifiable in Instance" in meinen Zeichnungen geändert haben. Kann mir das jemand weiterhelfen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 20. Nov. 2013 22:21 <-- editieren / zitieren --> Unities abgeben: Nur für deyhawaii
Servus Probiere es mal so (ungetestet): Code: Sub CATMain()Dim drawingDocument1 As DrawingDocument Dim selection1 As Selection Dim sOldString As String Dim sNewString As String Dim oText As DrawingText Set drawingDocument1 = CATIA.ActiveDocument Set selection1 = drawingDocument1.Selection selection1.Search "CATDrwSearch.DrwText,all" sOldString = InputBox("Eingeben welcher Name oder Nummer ersetzt werden soll!!! ", "Test") sNewString = InputBox("Zu ersetzenden Namen oder Nummer eingeben", "Test") For I = 1 To selection1.Count Set oText = selection1.Item2(I).Value oText.Text = Replace(oText.Text, sOldString, sNewString) Next End Sub
Sucht aber nur nach Texten, keine Ahnung ob damit auch Texte in 2D-Komponenten erfasst werden. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
deyhawaii Mitglied Konstrukteur
Beiträge: 236 Registriert: 17.09.2005 Catia V5 R26 Siemens NX11 Fides 10
|
erstellt am: 21. Nov. 2013 07:34 <-- editieren / zitieren --> Unities abgeben:
|
joerneman Mitglied Konstrukteur
Beiträge: 140 Registriert: 19.07.2009
|
erstellt am: 08. Jan. 2014 19:00 <-- editieren / zitieren --> Unities abgeben: Nur für deyhawaii
Hallo zusammen Was muss ich denn genau einfügen wenn ich dieses makro nur für das Aktive sheet verwenden will und nicht für alle sheets im drawing? Habe schon mehrere Sachen probiert aber es klappt nicht wirklich. Danke Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 08. Jan. 2014 19:10 <-- editieren / zitieren --> Unities abgeben: Nur für deyhawaii
Servus Folgende Änderung sollte reichen (ungetestet): Code: Set selection1 = drawingDocument1.Selection selection1.clear selection1.add drawingDocument1.Sheets.ActiveSheet selection1.Search "CATDrwSearch.DrwText,sel"
Gruß Bernd PS: Bitte Systeminfo ausfüllen ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joerneman Mitglied Konstrukteur
Beiträge: 140 Registriert: 19.07.2009
|
erstellt am: 17. Jan. 2014 08:38 <-- editieren / zitieren --> Unities abgeben: Nur für deyhawaii
|
Klaus-Heinz Mitglied
Beiträge: 219 Registriert: 30.10.2009 MS Windos 7 64 bit V5 R19 SP9 64 bit V5 R24 SP1
|
erstellt am: 31. Jan. 2014 10:55 <-- editieren / zitieren --> Unities abgeben: Nur für deyhawaii
Hallo zusammen !! Hätte ne Frage zu dem ersten Makro von deyhawaii. Ich suche seit längerem ein Makro das mir den Exemplar Namen und oder die Teilenummer ändern kann. Ich möchte nur einen bestimmten Teil des Namens ändern. z.B. BAUGRUPPE_1_STATION_2 soll in BAUGRUPPE_2_STATION_2 geändert werden. Ich hoffe Ihr könnt mir meiner Beschreibung etwas anfangen und mir weiterhelfen. mit freundlichen Grüssen KH Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 31. Jan. 2014 11:23 <-- editieren / zitieren --> Unities abgeben: Nur für deyhawaii
Servus Bei diesem Makro geht es um Texte in einer Drawing. Such mal entsprechen hier im Forum nach zB "Exemplarname, Instance Name ,... " (oder ähnlich). Du kannst dir auch mal die String-Modifikationen von VB anschauen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Klaus-Heinz Mitglied
Beiträge: 219 Registriert: 30.10.2009 MS Windos 7 64 bit V5 R19 SP9 64 bit V5 R24 SP1
|
erstellt am: 31. Jan. 2014 13:54 <-- editieren / zitieren --> Unities abgeben: Nur für deyhawaii
Hallo zusammen !! Also ich hatte den allerersten Eintrag von deyhawaii so verstanden das dieser fürs 3 D ist und er einen fürs 2 D bräuchte. Also habe ich ihn auf mein 3D versucht anzuwenden. Das hat hauch soweit funktioniert, bis dahin wo mein Modell aus mehreren Parts und Unterprodukten besteht. Das Makro nennt bis zum ersten Unterprodukt alle beiden Bezeichungen um / Exempl.und Teile Nr. Wenn dann aber ein Unterprodukt kommt benennt er dieses nicht um und die darin befindlichen Parts auch nur noch die Teile Nr / der Exemplarname bleibt leider der alte. siehe Bild Wäre echt klasse wenn Ihr dazu eine Lösung hättet. Güsse KH
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 31. Jan. 2014 13:58 <-- editieren / zitieren --> Unities abgeben: Nur für deyhawaii
Servus Bitte benutze mal die Forensuche. Dazu gibt es AFAIR genügend Themen die das Umbenennen, Schleife über die Baugruppe inklusive Rekursion behandeln. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |