Autor
|
Thema: Produkt u. Parts umbenennen (3059 mal gelesen)
|
joneta Mitglied Ingenieur
Beiträge: 8 Registriert: 04.10.2011 Win XP CatiaV5R19x64 HD2-Lizenz VBA6.0V1053
|
erstellt am: 25. Okt. 2011 15:56 <-- editieren / zitieren --> Unities abgeben:
Hallo! Ich versuche gerade ein Produkt und seine Parts umzubenennen um alles dann zu speichen: Als Beispiel hatte ich folgendes hier gefunden:'http://ww3.cad.de/foren/ubb/Forum137/HTML/001807.shtml#000006 und daraus dies gemacht:
Code:
While qdatei(i) <> "" If qdatei(i) Like "*ZSB*" Then newstr = "ZSB_" newstr = firstfnamepart & newstr & Left(middlefnamepart, Len(middlefnamepart) - Len(newstr)) & lastfnamepart Set actProd = CATIA.Documents.Item(qdatei(i))
Bis HIER funktioniert es erst einmal -> ABER actProd enthält kein ReferenceProduct und somit funktioniert das Replace nicht
Code:
Set refp = actProd.ReferenceProduct If InStr(refp.Name, origstr) Then newpname = Replace(refp.Name, origstr, newstr) refp.Name = newpname End If
Das ReferenceProduct ist nur über „Set actProd = CATIA.ActiveDocument.Product“ erreichbar. Ich müsste also die Datei zum aktiven Dokument machen – Aber wie? ODER kann ich PartName und PartNumber auf andere weise setzen? Ach ja; ohne .ReferenceProduct funktioniert das Replace nicht. joneta ------------------ Mit freundlichen Grüßen 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: 25. Okt. 2011 16:08 <-- editieren / zitieren --> Unities abgeben: Nur für joneta
Servus Wie arbeitest du deine Dokumente ab? Über die Collection aller geöffneten Dokumente? Oder über eine Schlefe über die Products in deinem CATProduct? AFAIR gibt es das ReferenceProduct nur für eine Instanze eines Part/CATProducts in einer Baugruppe. Wenn du die Dokument über die Docments Collection (bzw über das Document direkt) ansprichst sollte es so gehen: Code: Set refp = actProd.Product
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 |
joneta Mitglied Ingenieur
Beiträge: 8 Registriert: 04.10.2011 Win XP CatiaV5R19x64 HD2-Lizenz VBA6.0V1053
|
erstellt am: 26. Okt. 2011 11:05 <-- editieren / zitieren --> Unities abgeben:
Hallo, Zitat: Original erstellt von bgrittmann: ... Wie arbeitest du deine Dokumente ab? PS: Bitte Systeminfo ausfüllen
Im Hintergrund ist das Product(BG) geöffnet und im Vordergrund ein aktives Part. Die Konstruktion wurde in diesem Part durchgeführt. Das Product und seine Parts sind bekannt. Ich muß also nur in einer Schleife 3 oder 4 Parts und das Product umbenennen (und evt. speichern). Zugriff erhalte ich durch
Code: Set actProd = CATIA.Documents.Item("NAME der Datei")
Also über die Collection aller geöffneten Dokumente.Mit Zitat: Original erstellt von bgrittmann:Code: Set refp = actProd.Product
läuft das Script durch, aber der Name oder Nummer wird nicht geändert.Meine Vermutung ist; daß ich das Produkt aktivieren muß um auf eine Referenz zuzugreifen...??? ------------------ Mit freundlichen Grüßen 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: 26. Okt. 2011 11:28 <-- editieren / zitieren --> Unities abgeben: Nur für joneta
Servus Bist du sicher dass die If-Schleife abgearbeitet wird? Lass dir mal den Name vor-, während und nach dem Ändern in einer Massagebox ausgeben. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 26. Okt. 2011 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für joneta
|
joneta Mitglied Ingenieur
Beiträge: 8 Registriert: 04.10.2011 Win XP CatiaV5R19x64 HD2-Lizenz VBA6.0V1053
|
erstellt am: 26. Okt. 2011 12:39 <-- editieren / zitieren --> Unities abgeben:
Hallo, und Danke! Asche auf mein Haupt... Jetzt funktioniert es! Na ja noch nicht ganz, halt noch ein paar Folgefehler... ... aber fürs Produkt und das erste Part ist es durchgelaufen. Joneta ------------------ Mit freundlichen Grüßen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |