Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Macro Produkte umbenennen

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:  Macro Produkte umbenennen (806 mal gelesen)
Langer11
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Catia V5 R29
VBA

erstellt am: 05. Okt. 2018 11:28    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 zusammen,
ich möchte gespiegelte Produkte und Einzelteile mittels eines Macros nach folgendem System umbenennen:

Symmetry of 1779020__0510.0004__Verdrehsicherung
in
1779020__0510.0104__Verdrehsicherung_spg


Hierfür habe ich folgendes Macro geschrieben:


Sub traverse(Prod, origstr, newstr)
  set refp = Prod.ReferenceProduct

origstr= "Symmetry of"
  origstri = ".000"
  newstri = ".010"
  if left(refp.Name, 11 )="Symmetry of" then
  newpname = mid(refp.Name, 13) & "_spg"
  refp.Name = newpname
end if
if left(refp.PartNumber,11 )="Symmetry of" then
    newpnum = mid(refp.PartNumber, 13) & "_spg"
  refp.PartNumber = newpnum
end if

  Set prods = Prod.Products
  pc = prods.Count
  If pc >= 0 then
    For i = 1 to pc
      traverse prods.Item(i), origstr, newstr
    Next
  End If

  if right(refp.Name, 4 )="_spg" then
  if instr(refp.Name, origstri) then
    newpnamea = Replace(refp.Name, origstri, newstri)
    refp.Name = newpnamea
  end if
  if instr(refp.PartNumber, origstri) then
    newpnuma = Replace(refp.PartNumber, origstri, newstri)
    refp.PartNumber = newpnuma
  end if

  Set prods = Prod.Products
  pc = prods.Count
  If pc > 0 then
    For i = 1 to pc
      traverse prods.Item(i), origstri, newstri
    Next
  End If

End if

End Sub

  Sub CATMain()
  Set actProd = CATIA.ActiveDocument.Product
  traverse actProd, origstr, newstr

End Sub


Das Macro funktioniert auch.
Aber wenn ich mehrere Unterprodukte habe und ein  Katalogteil bereits gespiegelt umbenannt und gespeichert wurde und ich das selbe Katalogteil erneut in der gleichen Konstruktion einsetze, spiegle und mit dem Macro umbenennen will, erscheint eine Fehlermeldung (Zeile im Macro:    refp.Name = newpname) und das Macro wird nicht weiter ausgeführt. Weil es den Namen (1779020__0510.0104__Verdrehsicherung_spg) bereits gibt. Könnt ihr mir bitte helfen, wie ich das Macro abändern muss, damit in so einem fall, wenn es den Namen bereits gibt "_1"; "_2" usw. hinten vor oder nach "_spg" anhängt. Also das der Name in diesem FAll 1779020__0510.0104__Verdrehsicherung_1_spg und beim nächsten Mal 1779020__0510.0104__Verdrehsicherung_2_spg heißt?

Danke im Voraus.

Grüße Svenja

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

tberger
Mitglied
Application Manager CATIA V5 / V6


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

Beiträge: 1385
Registriert: 13.01.2007

WIN 7 64bit
V5R21SP3HF49
3DX/V6 R2016x

erstellt am: 05. Okt. 2018 15:50    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 Langer11 10 Unities + Antwort hilfreich

Hallo Svenja,

könntest du nicht vor Anweisung der Namensanpassung ein "on error resume next" einbauen, die Anweisung laufen lassen und im Fall eines
Fehlers dann die andere Namensanpassung durchführen lassen?

------------------
Grüße aus dem Thurgau
Thomas

+++++++++++++++++++++++++++++++++

CATIA - eine Laune der Natur ...

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 08. Okt. 2018 09:09    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 Langer11 10 Unities + Antwort hilfreich

Hallo,

ich würde erst nur die Dokumente selber umbenennen (Dateiname/Teilenummer). Den Instanznamen würde ich in einem zweiten Schritt anpassen. Ich meine für die Instanznamen gibt es sogar fertiges hier im Forum.

Gruß
Randle

------------------
Wer für nichts steht, fällt für alles!

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

Langer11
Mitglied



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

Beiträge: 31
Registriert: 30.07.2015

Catia V5 R29
VBA

erstellt am: 08. Okt. 2018 12:14    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 Thomas,
danke für den Tipp. Hat einfandfrei frunktioniert.
Gruß Svenja

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