| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Layer ersetzen (2540 mal gelesen)
|
Hman Mitglied Konstrukteur
Beiträge: 26 Registriert: 18.08.2004 Inventor 8 Autocad Mechanical 2004
|
erstellt am: 19. Dez. 2005 16:34 <-- editieren / zitieren --> Unities abgeben:
I möchte ein VBA Programm schreiben, das bestimmte Layer in einer Zeichnung durch andere Layer ersetzt. Die Forumssuche und die Hilfe von Acad haben mir nicht weiter geholfen. Hat so etwas schon jemand programmiert? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur
Beiträge: 7085 Registriert: 13.01.2004 ich hab eh keine Probleme damit...
|
erstellt am: 19. Dez. 2005 16:39 <-- editieren / zitieren --> Unities abgeben: Nur für Hman
|
Hman Mitglied Konstrukteur
Beiträge: 26 Registriert: 18.08.2004 Inventor 8 Autocad Mechanical 2004
|
erstellt am: 19. Dez. 2005 16:46 <-- editieren / zitieren --> Unities abgeben:
|
Proxy Ehrenmitglied Stateless-DHCP v6-Paketfragmentierer
Beiträge: 1629 Registriert: 13.11.2003 Tastaturen, Mäuse, Pladden, Monitore, ..., einige AutoCADs 200x & SWX 2kX
|
erstellt am: 19. Dez. 2005 17:07 <-- editieren / zitieren --> Unities abgeben: Nur für Hman
|
Hman Mitglied Konstrukteur
Beiträge: 26 Registriert: 18.08.2004 Inventor 8 Autocad Mechanical 2004
|
erstellt am: 20. Dez. 2005 07:32 <-- editieren / zitieren --> Unities abgeben:
Wenn ich den Code eingebe kommt VBA mit folgender Fehlermeldung Run-time error '-2145386405 (8020005b) Duplicate record name Hier mein modifizierter Code: Sub layer() Dim objLayer As AcadLayer For Each objLayer In ThisDrawing.Layers objLayer.Name = Replace(objLayer.Name, "AM_3", "AM_0") Next End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
Beiträge: 1521 Registriert: 17.08.2005 Map 2000-2014, Rasterdesign, MapGuide, Autodesk Topobase, VS6, VS.net 2013
|
erstellt am: 20. Dez. 2005 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für Hman
Hallo, die Lösung steckt in der Fehlermeldung Duplicate record name Es gibt bereits einen Layer mit diesem Namen. Da musst du vorher untersuchen ob es den Layer bereits gibt. Vielleicht mit dieser Funktion. Wenn ein Layer(name) schon vorhanden ist, kannst du ja eine Meldung ausgeben. Stelli ------------------ Warum lisp'eln wenn's auch anders geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Ehrenmitglied V.I.P. h.c. CAD on demand GmbH
Beiträge: 4171 Registriert: 17.05.2001 ACAD20XX, defun-tools
|
erstellt am: 22. Dez. 2005 10:04 <-- editieren / zitieren --> Unities abgeben: Nur für Hman
Hallo Hman, schau doch mal in die Express Tools, da gibt es viele Layertools auch das Layermerge. Das vermischt die Layer miteinander. Das brauchst du aber nur, wenn der neue Layer schon in der Zeichnung verendet wird. Ansosnten ist das Umbenennen die einfachste Lösung. Grüße Holger ------------------ Holger Brischke CAD on demand GmbH Individuelle Lösungen von Heute auf Morgen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Langenhorst Mitglied Konstrukteur/Bauzeichner
Beiträge: 307 Registriert: 21.02.2003
|
erstellt am: 22. Dez. 2005 11:11 <-- editieren / zitieren --> Unities abgeben: Nur für Hman
Hallo Hman, hast du dich schon mit der Layerkonvertierung auseinander gesetzt? Ich weiß zwar nicht, ob dies bei der 2004er schon dabei ist, aber ich habe ganz komfortabel damit zahlreiche Zeichnungslayer in vielen Zeichnungen umbenannt. Gruß, Michael ------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |