Hallo blauesglas und Willkommen auf CAD.de,
ich habe mir einmal die Mühe gemacht dieses Beispiel genau anzusehen,
was in diesem Fall recht aufwändig war.
Über 500 Blockreferenzen, insgesamt 30.000 Objekte, aber zum Glück nur 7 Layer + EinfügeLayer AM_0
Ich unterstelle jetzt einmal das dein Wunsch nicht zwingend so umgesetzt werden muß,
oder brauchst du wirklich eine Objektefarbe (ungleich VonLayer?)
Die Eigenschaften der Blockobjekte bzw. der Objekten in den Blöcken sind nämlich ganz penibel
IMMER GLEICH PRO LAYER.
Wenn in deinem weiteren Workaround nichts dagegen spricht könnte man also einfach alle
Objekteigenschaften auf VonLayer setzen und die Layer entsprechend einstellen und
wenn es denn sein muss - auch umbenennen.
Dann würde man alles auch mit einfachen vorhandenen AutoCAD-Befehlen umsetzen können,
also auch ohne extra Programm mit einfachem Macro oder Script arbeiten können.
Beispiel nach Großmutternart:
MakroAnfang, dann muß noch die Layergeschichte dazugebastelt werden.
^C^C_SETBYLAYERMODE;255;_SETBYLAYER;_all;;_yes;_yes;(alert"usw.")
Auch die Layer umbenennen geht, über den AutoCAD-Befehl UMBENENN
Für den Fall das ein Layer-Mischen benötigt wird: LAYZUSF
Diese Standard Variablen und Befehle sind alle in der Hilfe enthalten
und können direkt in der befehlszeile per Hand durchgetestet werden,
nur werden diese sehr oft über einen Mausklick aufgerufen.
einfach mal für die Befehlszeile copy&paste:
;=================================================
SETBYLAYERMODE
255
SETBYLAYER
ALLE
JA
JA
-LAYER
FARBE 6 HIDDEN
FARBE 1 DIMENSION_LINE,THIN_LINE
FARBE 3 CENTER
FARBE 5 THICK_DASH_DOTTED
FARBE 7 THICK_LINE,DIMENSION_TEXT
-UMBENENN LAYER
"center"
"AM_7"
;=================================================
Für die Layergeschichte kann man aber auch gut Befehl LAYKONF einsetzen,
also einfach Setbylayer und danach LayKonf mit einer vordefinierten Übersetzungsliste, fertig.
------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP