Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Instanz wird nicht umbenannt

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Instanz wird nicht umbenannt (982 mal gelesen)
Cadkamel
Mitglied



Sehen Sie sich das Profil von Cadkamel an!   Senden Sie eine Private Message an Cadkamel  Schreiben Sie einen Gästebucheintrag für Cadkamel

Beiträge: 11
Registriert: 08.04.2007

CATIA V5 R24 64Bit unter Windows 7 64Bit
Dell Precision 3500

erstellt am: 25. Jun. 2007 18:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ich gruesse alle Profis der V5-Makros.
Ich arbeite mit R16 und habe mir ein Makro geschrieben, dass auf allen Strukturebenen die Partnumber und die Instanz nach dem Dokumentennamen umbenennen soll. Das klappt auch ganz gut, nur die Produkte ab der 2.Baumstrukturebene werden nicht umbenannt. Die Parts veraendert er anstandslos. Ich kann mir das nicht erklaeren. Weiss von Euch jemand Rat?
Hier der Code:
Sub Main()
  Set oRoot = CATIA.ActiveDocument
  Set oProd = oRoot.Product
  Set oProducts = oRoot.Product.Products

  SUB_ProdScan oProducts
End Sub

Sub SUB_ProdScan(oProducts)
  For i = 1 To oProducts.Count
  n = 8 'CatPart
  If oProducts.Item(i).Products.Count = 0 Then
    Dim SubProduct As Product
    Set SubProduct = oProducts.Item(i)
    Set ProdToRename = SubProduct.Parent.Parent.ReferenceProduct.Products.Item(SubProduct.Name)
    catpartname = ProdToRename.ReferenceProduct.Parent.Name 'Dokumentenname
    laenge_name = Len(catpartname) 'Laenge des Dokumentennamens
    Partname = Mid(catpartname, 1, laenge_name - n) 'Dokumentenname ohne Extension
    'MsgBox catpartname
    'MsgBox Partname
    laenge_instanz = Len(ProdToRename.Name)
    instanz_nr = Mid(ProdToRename.Name, laenge_instanz - 1, 2) 'Welche Instanz ist hier verbaut?
    neue_Instanz = Partname + instanz_nr 'Uebernahme der vorhandenen Instanznummer
    'MsgBox neue_Instanz
    ProdToRename.Name = neue_Instanz
    ProdToRename.PartNumber = Partname
  Else
    n = 11 'CatProduct
    catpartname = oProducts.Item(i).ReferenceProduct.Parent.Name 'Dokumentenname
    laenge_name = Len(catpartname) 'Laenge des Dokumentennamens
    Partname = Mid(catpartname, 1, laenge_name - n) 'Dokumentenname ohne Extension
    'MsgBox catpartname
    'MsgBox Partname
    laenge_instanz = Len(oProducts.Item(i).Name)
    instanz_nr = Mid(oProducts.Item(i).Name, laenge_instanz - 1, 2) 'Welche Instanz ist hier verbaut?
    neue_Instanz = Partname + instanz_nr 'Uebernahme der vorhandenen Instanznummer
    'MsgBox neue_Instanz
    oProducts.Item(i).Name = neue_Instanz
    oProducts.Item(i).PartNumber = Partname
    Set oProductsUebergabe = oProducts.Item(i).Products
    SUB_ProdScan oProductsUebergabe
  End If
  Next
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Lusilnie
Mitglied



Sehen Sie sich das Profil von Lusilnie an!   Senden Sie eine Private Message an Lusilnie  Schreiben Sie einen Gästebucheintrag für Lusilnie

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 25. Jun. 2007 23:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Cadkamel 10 Unities + Antwort hilfreich

Hallo Cadkamel,

willkommen im Forum!

Der Fehler bei Deinem Script ist aus meiner Sicht die Inkonsequenz. Bei CATParts definierst Du das umzubenennende "Product" (hier ein Part) anders als bei den CATProducts.
Wenn Du beides in gleicher Weise bearbeitest, würde es funktionieren. Alternativ kannst Du auch die Zeile

Code:
oProducts.Item(i).Name = neue_Instanz
in
Code:
oProducts.Item(i).Parent.Parent.ReferenceProduct.Products.Item(i).Name = neue_Instanz
ändern. Das sollte dann funktionieren.


mfg,
Lusilnie

------------------

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Cadkamel
Mitglied



Sehen Sie sich das Profil von Cadkamel an!   Senden Sie eine Private Message an Cadkamel  Schreiben Sie einen Gästebucheintrag für Cadkamel

Beiträge: 11
Registriert: 08.04.2007

CATIA V5 R24 64Bit unter Windows 7 64Bit
Dell Precision 3500

erstellt am: 26. Jun. 2007 17:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Lusilnie,

es hat geklappt, nachdem ich Deinen Vorschlag eingearbeitet habe. Die Inkonsequenz ruehrt daher, dass ich mir den Code aus allen moeglichen Thread-Beitraegen zusammengestellt habe. Ich fange erst mit der Macro-Programmierung an; es sind sozusagen die ersten Gehversuche. Zum Glueck gibt es dieses Forum und vor allen Dingen kompetente Leute, die solche Fragen beantworten koennen. Vielen Dank fuer Deine schnelle Hilfe!

MfG Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz