| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Umbenenn Platzhalter (1056 mal gelesen)
|
Ines Mitglied Bauzeichnerin
Beiträge: 271 Registriert: 24.05.2002 ADT 2005
|
erstellt am: 25. Apr. 2005 15:09 <-- editieren / zitieren --> Unities abgeben:
Hallo Vermutlich ein Programmfehler. Ich versuche meine Layer umzubenennen. Alle Layer *_05 sollen *_06 heißen. Das geht nicht, aber andersrum würde es nun funktionieren 05* in 06*. Das nützt mir nur herzlich wenig. Vielleicht gibts ja doch irgendeinen Trick. Ines Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
flaschenpost Mitglied Architekt
Beiträge: 497 Registriert: 29.09.2004 ADT 2004 / Windows XP
|
erstellt am: 25. Apr. 2005 15:29 <-- editieren / zitieren --> Unities abgeben: Nur für Ines
Hallo Ines, falls die Layernamen gleiche Anzahl Buchstaben haben, kannst Du mit Fragezeichen auffüllen, z.B. ??????_05 in ??????_06 müßte funktionieren. Weiß nicht, ob Dir das hilft. Gruß Carsten
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ines Mitglied Bauzeichnerin
Beiträge: 271 Registriert: 24.05.2002 ADT 2005
|
erstellt am: 25. Apr. 2005 15:30 <-- editieren / zitieren --> Unities abgeben:
|
startrek Mitglied Architekt
Beiträge: 1361 Registriert: 13.02.2003 Win7ultimate/ACA2010
|
erstellt am: 25. Apr. 2005 15:50 <-- editieren / zitieren --> Unities abgeben: Nur für Ines
Hi Ines, versuch mal sowas, - Alt+F11 - Einfügen > Modul - Code reinkopieren - Cursor irgendwo innerhalb Sub x() & End Sub parken - F5 drücken
Code:
Sub x() Dim mylayer As AcadLayer For Each mylayer In ThisDrawing.Layers If Right(mylayer.Name, 3) = "_05" Then mylayer.Name = Left(mylayer.Name, Len(mylayer.Name) - 2) & "06" Next End Sub
lg Nancy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ines Mitglied Bauzeichnerin
Beiträge: 271 Registriert: 24.05.2002 ADT 2005
|
erstellt am: 25. Apr. 2005 16:15 <-- editieren / zitieren --> Unities abgeben:
|
flaschenpost Mitglied Architekt
Beiträge: 497 Registriert: 29.09.2004 ADT 2004 / Windows XP
|
erstellt am: 25. Apr. 2005 16:27 <-- editieren / zitieren --> Unities abgeben: Nur für Ines
Hallo Ines, in der Zwischenzeit hatte ich auch noch was gebastelt. Funktioniert dann, wenn die Zeichenkombination _05 (edit: oder was Du auch immer eingibst) nur einmal im Layernamen vorkommt. (defun c:layub (/ laynam layalt layneu) (tblnext "LAYER" T) (setq layalt (getstring "\nLayername alt enthält Zeichenkombination: ")) (setq layneu (getstring "\nWird ausgetauscht durch: ")) (while (setq laynam (cdr (assoc 2 (tblnext "LAYER")))) (if (/= (vl-string-search layalt laynam) nil) (command "_.rename" "_LA" laynam (vl-string-subst layneu layalt laynam)) ) ) ) Gruß Carsten [Diese Nachricht wurde von flaschenpost am 25. Apr. 2005 editiert.] [Diese Nachricht wurde von flaschenpost am 25. Apr. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ines Mitglied Bauzeichnerin
Beiträge: 271 Registriert: 24.05.2002 ADT 2005
|
erstellt am: 25. Apr. 2005 16:31 <-- editieren / zitieren --> Unities abgeben:
|
Amadeo52 Mitglied Konstrukteur, CAD-Admin
Beiträge: 64 Registriert: 13.02.2004 ADT2006, ADT 2005, AutoCAD 2004, AutoCAD 2002, alle Servicepacks, Windows XP SP2, PitCup, C.A.T.S.,<P>Sony GOCG-GRT916V, 1 GB RAM,
|
erstellt am: 26. Apr. 2005 14:28 <-- editieren / zitieren --> Unities abgeben: Nur für Ines
Ich löse solche Probleme in der Regel mit den DXF- und DWG´Tools von Kazmierczak ( ww.dxf.de ), insbesondere da diese in jedem Projekt wieder neu auftreten und die Layerbezeichnungen sehr unterschiedlich sind. Ansonsten find ich das ein wenig schlapp, das mag ich zwar denken, aber muß ich erst alle an den Start bringen hier und mich dann hier so heraus ziehen ? Zitat: Original erstellt von Ines: Danke Ich werds morgen mal ausprobieren. Hab jetzt keine Zeit mehr. Ines
Das ist nicht gerade motivierend hier den Senf dazu zu geben :-( Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ines Mitglied Bauzeichnerin
Beiträge: 271 Registriert: 24.05.2002 ADT 2005
|
erstellt am: 26. Apr. 2005 15:44 <-- editieren / zitieren --> Unities abgeben:
Hallo Vielen Dank für die Antworten Manchmal schreibt man schnell mal was dahin, ohne groß drüber nachzudenken. Ich bin sehr froh, daß es dieses Forum gibt und denke daß ich manchmal etwas aufgeschmissen wäre, wenn ich hier keine Antworten finden würde. Aber dennoch möchte ich die tolle und schnell Hilfe, die ihr mir gegeben habt in einer ruhigen Minute ausprobieren und mich dann noch mal bedanken. Ich hoffe es hat sich niemand durch meinen kurzen Kommentar auf den Schlips getreten gefühlt. Ich verspreche demnächst motivierendere Beiträge zu verfassen. Sorry Ines Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
flaschenpost Mitglied Architekt
Beiträge: 497 Registriert: 29.09.2004 ADT 2004 / Windows XP
|
erstellt am: 27. Apr. 2005 12:59 <-- editieren / zitieren --> Unities abgeben: Nur für Ines
Mit layub hat es jetzt geklappt - Ines hat sich motivierend bedankt. So ein kleines Lisp läßt sich schnell mal testen, wenn man es komplett in die Befehlszeile kopiert. Am besten ist eine konsequente Layerstruktur - auch für die Verwendung von Tools. Wenn Zeichenkombinationen in Layernamen mehrfach auftauchen und man muß umbenennen, kann man sich auch mit Dummys (Tilde, oder irgendein Zeichen, das nicht vorkommt) behelfen. Z.B. : A00-WAND-KST00-1 soll in A00-WAND-KST25-1 umbenannt werden. layub > 00 > ~~ ergibt A~~-WAND-KST00-1 layub > 00 > 25 ergibt A~~-WAND-KST25-1 layub > ~~ > 00 ergibt A00-WAND-KST25-1 Gruß Carsten
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |