Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Umbenennungsmakro anpassen

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:  Umbenennungsmakro anpassen (1260 mal gelesen)
Engineer723
Mitglied
Konstrukteur

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

Beiträge: 6
Registriert: 21.10.2016

Catia V6R2013x.HF63<P>HP Z230
16Gb RAM
i7-4770@3,4GHz
Quadro K2000
Win7 Pro 64

erstellt am: 21. Okt. 2016 12:48    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 für mein anstehendes Projekt ca. 60 Baugruppen zum Kopieren und umbenennen.

Folgende Situation liegt vor:
Ein Teil der Bauteile und Baugruppen muss umbenannt werden (inkl. Zeichnungen, Shapes, Digital Review Workbenchs etc.)
z.B.: von _..."NameXY_Nummer123"_... => zu _..."NameXY"...
Die vorherigen Prä- und Sufixe des alten Dateinamens sollten dabei aber erhalten bleiben
(z.B die Bauteilbezeichnung wie Lasthaken, da die neuen Teile dieselbe Funktion haben)
Sollte es noch zusätzlich möglich sein Bauteile mit P-Nummer (z.B. P00123.XXX_ bzw. P00123.XXXX) auszuschließen, wäre das extremst komfortabel.

Ist es leicht z.B. das Makro:
http://forum.cad.de/foren/ubb/Forum137/HTML/001807.shtml
auf die vorliegende Situation anzupassen?

Bei Makros fehlt mir leider noch die nötige Erfahrung...

Wenn mir in diesem Fall jemand weiterhelfen könnte wäre das super.

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 21. Okt. 2016 13:03    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 Engineer723 10 Unities + Antwort hilfreich

Servus
Mit Programmiererfahrung ist das recht leicht.
ggf ist es einfacher/billiger für dich ein ensprechendes Tool zu verwenden (zb CAT.Save Managment)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Engineer723
Mitglied
Konstrukteur

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

Beiträge: 6
Registriert: 21.10.2016

Catia V6R2013x.HF63<P>HP Z230
16Gb RAM
i7-4770@3,4GHz
Quadro K2000
Win7 Pro 64

erstellt am: 21. Okt. 2016 17:43    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

Servus,

die fehlt mir ja leider...
Wir haben die V6 im Einsatz, funktioniert hier eine Zusatzsoftware im Speichermanagement?

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

K.Siebert
Mitglied
Tech Zeichner


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

Beiträge: 415
Registriert: 19.05.2007

Win XP
Catia V5 R19
Catia V5 R24

erstellt am: 22. Okt. 2016 19:10    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 Engineer723 10 Unities + Antwort hilfreich

Hallo,
das könnte weiter helfen.
http://ww3.cad.de/foren/ubb/Forum134/HTML/001290.shtml#000008

------------------
Sei" TARGET=_blank>http://ww3.cad.de/foren/ubb/Forum134/HTML/001290.shtml#000008

------------------
Sei</A> Schlau bleib Dumm !!?!!

[Diese Nachricht wurde von K.Siebert am 22. Okt. 2016 editiert.]

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

Engineer723
Mitglied
Konstrukteur

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

Beiträge: 6
Registriert: 21.10.2016

Catia V6R2013x.HF63<P>HP Z230
16Gb RAM
i7-4770@3,4GHz
Quadro K2000
Win7 Pro 64

erstellt am: 24. Okt. 2016 14: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


Umbenennungsmakro_Ausgangslage.JPG

 
Hallo,

danke für den Link.
Also das Suchen und Ersetzen Makro würde schon ausreichen, da in der V6 die Zeichnungen ja übers PLM direkt verlinkt sind.

Ich hätte mit diesem Makro angesetzt:

Sub traverse(Prod, origstr, newstr)
  set refp = Prod.ReferenceProduct
  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
  origstr = Inputbox ("Eingeben welcher Name oder Nummer ersetzt werden soll!!! ", "Suche und Ersetze (Suche)")
  newstr = Inputbox ("Zu ersetzenden Namen oder Nummer eingeben", "Suche und Ersetze (Ersetze)")

  traverse actProd, origstr, newstr

End Sub

Nur müsste ich dieses so hinbiegen, dass es nach Strings sucht die so ausschauen: z.B. "_NameXY_Nummer123_Lasthaken"
ersetzt werden soll aber nur ein Teil der Benennung (NameXY_Nummer123), die Bezeichnung (z.B. Lasthaken) soll erhalten bleiben.
Lässt sich das z.B. so realiseren indem ich die zu ersetzenden Stringteile mit * (*NameXY_Nummer123*) kennzeichne?
(anbei noch ein Bild wie die Baugruppe Konzeptmäßig aufgebaut ist)

... derzeit hänge ich aber schon beim kompilieren bei dem Befehl "Set actProd = CATIA.ActiveDocument.Product"

Kann das an einer Änderung im Ablauf von V5 auf V6 liegen, nach einiger Recherche bin auch auf folgendes gestoßen:

"Im V6 haben sie das über die Editoren gelößt,
da kann man dann über ActiveEditor an die aktive Workbench
und aus der das Part ziehen, wie man es im CAA auch macht."

=> Ist in der V6 die "Active-Objekt-Auswahl" über Editoren gesteuert?


Falls ja sind das als Beispiel mögliche Lösungsansätze?:

Dim editorWork              As INFITF.Editor
Dim selWork                 As INFITF.Selection

Set editorWork = CATIA.ActiveEditor
Set selWork = editorWork.Selection

    selWork.Clear
    selWork.Search "Topology.Face;all"

oSelection = catiaObj.ActiveEditor.Selection

Dim editor1 As Editor
Set editor1 = CATIA.ActiveEditor

Dim part1 As Part
Set part1 = editor1.ActiveObject

catiaObj.ActiveEditor.Selection.Item

Danke und Gruß

[Diese Nachricht wurde von Engineer723 am 24. Okt. 2016 editiert.]

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

Engineer723
Mitglied
Konstrukteur

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

Beiträge: 6
Registriert: 21.10.2016

Catia V6R2013x.HF63<P>HP Z230
16Gb RAM
i7-4770@3,4GHz
Quadro K2000
Win7 Pro 64

erstellt am: 24. Okt. 2016 15:22    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

So, ein Problem gelöst - mit:

Sub CATMain()
  Set actProd = CATIA.ActiveDocument.Product
  origstr = Inputbox ("Eingeben welcher Name oder Nummer ersetzt werden soll!!! ", "Suche und Ersetze (Suche)")
  newstr = Inputbox ("Zu ersetzenden Namen oder Nummer eingeben", "Suche und Ersetze (Ersetze)")

  traverse actProd, origstr, newstr

End Sub

passt schon mal der erste Part
Bei der V6 muss anscheinend eben über Editoren gearbeitet werden.
Mit "Set actProd = CATIA.ActiveEditor.Selection" anstatt "Set actProd = CATIA.ActiveDocument.Product" funktioniert schon mal der Sub CATMain() part.

Allerdings funktioniert der Rest so gar nicht.
Hab folgendes dazu gefunden:
http://www.scripting4v5.com/additional-articles/catia-v6-macro-programming/
Ist in der V6 denn gar nichts mehr gleich???
Hier stehe ich nun komplett an...

[Diese Nachricht wurde von Engineer723 am 24. Okt. 2016 editiert.]

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 24. Okt. 2016 15:34    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 Engineer723 10 Unities + Antwort hilfreich

Servus
Bei V5 gab es zumindest noch im Installationsverzeichnis eine Doku (bei V5 "V5Automation.chm"). Gibt es das  bei V6 immer noch?
Bei V5 hilft auch der Makrorekorder, der Objektbrowser oder das Watchfenster (im VBA-Editor) weiter. ggf kannst du dich in V6 auch noch so behelfen.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

ferdo
Mitglied
engineer


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

Beiträge: 34
Registriert: 15.04.2009

Windows 7, 64
CATIA v5r25 , 3DEXPERIENCE on cloud

erstellt am: 29. Okt. 2016 22:51    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 Engineer723 10 Unities + Antwort hilfreich

Servus

Die Hilfe datei für v6 ist DSYAutomation.chm an der gleichen Stelle wie für v5.

------------------
Best regards
Fernando

[Diese Nachricht wurde von ferdo am 30. Okt. 2016 editiert.]

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