Autor
|
Thema: Selektierte Features umbenennen mit Regular Expression (1621 mal gelesen)
|
Dieter7 Mitglied Konstrukteur und CAD-Admin
Beiträge: 94 Registriert: 12.10.2007
|
erstellt am: 29. Jul. 2009 21:07 <-- editieren / zitieren --> Unities abgeben:
Hallo Bei der Arbeit mit dem aktuellen OEM-Startpart zu R19 muß man ziemlich viel umbenennen. Da wünscht man sich Unterstützung durch ein flexibles Makro, etwa nach folgendem Schema: - Umzubenennende Features selektieren (ggf. mit Edit / Find auswählen) - Makro starten, - Reguläres Suchpattern (Default: *) eingeben, Ersetzungspattern eingeben -> alle selektierten Features werden dementsprechend umbenannt. Vermutlich ist dieses Makro nicht allzu aufwendig. Da ich aber leider mit der Programmierung nicht ganz so fit bin, stelle ich hier die Anfrage, ob das jemand (für die Allgemeinheit) programmieren würde. Dieter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 29. Jul. 2009 23:09 <-- editieren / zitieren --> Unities abgeben: Nur für Dieter7
Hallo Dieter , ich hab dir da mal kurz was gebastelt . Das ganze ist ein CATVba Projekt (da man sonst eine eher "schlechte" InputBox hat ) Ich beschreibe hier mal kuurz die Vorgehensweise: 1. Das Makro prüft ob es in einem CATPart gestartet wurde (wenn nicht -> Abbruch) 2. Das Makro prüft ob der Anwender schon vorher eine Selektion getätigt hat 3. Wenn das der Fall ist muss der Anwender den SearchString eingeben (Default = *) ist das nicht der Fall hat der Anwender die Möglichkeit Features in einer Multi-Selektion auszuwählen (im Moment kann der Anwender Ebenen, geometrische Sets und Bodies auswählen (das ist aber beliebig erweiterbar auf alle Features die du in deinem StartPart umbenennen musst)) 4. Nach der Selektion muss der Anwender den Text eingeben der im Anschluss erscheinen soll 5. Das Makro sucht innerhalb der Selektion die entsprechenden Text und ersetzt diese Anmerkungen: zu Punkt 3 und Punkt 4: Die InputBox kann mit einem "Cancel" abgebrochen werden. Wird ein leeres Textfeld mit OK bestätigt muss die Eingabe wiederholt werden oder "Cancel" gedrückt werden Ansonsten denke ich habe ich alles abgefangen was der Anwender nicht machen soll Über Tools -> Costumize kannst du dir das Makro auf eine Symbolleiste legen (ggf. auf eine globale so das Sie für jeden User verfügbar wird) Anbei die *.CATVba Datei zum einbinden in die Makro-Libraries. Viel Spass damit ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dieter7 Mitglied Konstrukteur und CAD-Admin
Beiträge: 94 Registriert: 12.10.2007
|
erstellt am: 30. Jul. 2009 09:22 <-- editieren / zitieren --> Unities abgeben:
Das war aber schnell! Der Ablauf ist gut, man kann damit einfach Teilstrings in den Namen der selektierten Features durch andere Zeichenketten ersetzen. Doch noch zwei Anmerkungen: - Das Makro ist auf deutsch, da könnte auch die Bezeichnung der gesuchten und ersetztenden Zeichenkette deutsch sein.. - Wildcards funktionieren nicht im Suchstring oder Ersetzungsstring. Eigentlich dachte ich an eine Zeichenketten-Suche und -Ersetzung mit regulären Ausdrücken, sodass man (mit etwas Know-How bei der Eingabe) richtig komplexe Ersetzungsen machen kann: 'Copy of' entfernen, 'Add.' beibehalten, ansonsten umbenennen wie den Body, Prefixe oder Suffixe hinzufügen/entfernen,.. Möglicherweise wäre dann auch eine Ablage (Katalogfile als .txt) für die erarbeiteten Such- und Ersetzungsstrings (mit Name/Kommentar) gut. Ist das viel Aufwand? Dieter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 30. Jul. 2009 13:03 <-- editieren / zitieren --> Unities abgeben: Nur für Dieter7
Hallo Dieter, das ist sicherlich nicht ganz trivial. Dazu benötigt du schon eine UserForm die du natürlich erst mal aufbauen musst (Design, Farbgebung, Anordnung der Steuergeräte, etc). Das mit dem Englisch - Deutsch ist richtig. Habe ich mir gestern schon überlegt aber mir ist so spät Abends nichts mehr besseres eingefallen. Das Makro sollte ja so und so erst mal ein erstes Schuss sein. Schau mal in deine PM´s ich hab dir da noch was dazu geschrieben. Wenn alle Sachen geklärt sind geht es dann an dieser Stelle weiter ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|