Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Produkt umbenennen Namensteil löschen/Namensteil hinzufügen

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:  Produkt umbenennen Namensteil löschen/Namensteil hinzufügen (517 / 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: 30. Mrz. 2017 11:46    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 habe eine Frage.
Ich bin dabei ein Macro so abzuändern, das ich damit ein Produkt und alle darin enthalten Parts umbenennen kann.

Alter Name:
Symmetry of 6125015__0010__Konsole_01

soll in:
6125015__0010__Konsole_01  _spg umbenannt werden.

D.h. ich will die PartNumber so abändern das immer "Symmetry of " am anfang gelöscht wird und am Ende der PartNumber der Zusatz "_spg" erscheint.

Hierfür habe ich ein Umbenennungsmacro als vorlage genommen und folgendermaßen abgeändert:


Sub traverse(Prod, origstr, newstr)
  set refp = Prod.ReferenceProduct
origstr= "Symmetry of " 'Leerzeichen hinter "of"
newstr = ""
  if instr(refp.Name, origstr) then
    newpname = replace(refp.Name, origstr, newstr)
    refp.Name = newpname
  end if
  if instr(refp.PartNumber, origstr) then
    newpnum = replace(refp.PartNumber, origstr, newstr )
    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
End Sub

Sub CATMain()
  Set actProd = CATIA.ActiveDocument.Product

  traverse actProd, origstr, newstr
End Sub

Wenn ich in Zeile 4 eingebe: origstr= "Symmetry of" (ohne Leerzeichen hinter "of") funktioniert das Makro einwandfrei. Problem hinter dem "Symmetry of " befindet sich ein Leerzeichen. Wenn ich in Zeile 2 eingebe: "Symmetry of " (mit Leerzeichen) funktioniert das Makro leider nicht.

Es erscheint eine Fehlermeldung (siehe Anhang).

Kann mir jemand weiterhelfen?

Und kann mir jemand bei der Macroerweiterung helfen, sodass an jede PartNumber von allen Teilen des Produkts als Namenszusatz "_spg" erscheint?


Grüße
Svenja

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 30. Mrz. 2017 12:02    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

Hi Svenja,

Schreib statt(ungetestet):

Code:

  if instr(refp.Name, origstr) then
    newpname = replace(refp.Name, origstr, newstr)
  end if


besser
Code:

  if left(refp.Name,11 )="Symmetry of" then
    newpname = mid(refp.Name, 11) & "_spg" 'bei dem Startwert musst eventuell 12 oder 13 nehmen; ungetestet!
  end if


Tschau,
Joe

------------------
Inoffizielle Catia Hilfeseite

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: 30. Mrz. 2017 14:30    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

Hi Joe,
danke! hat super geklappt.

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