gruß heinz
>der befehl draworder (zeichenreihenfolge) funktioniert nicht bei allen
dwg's
>korrekt.
>konkret ist es nicht möglich ein solid mit der option "unter" in den
>hintergrund zu legen, die option "unter objekt" funktioniert einwandfrei.
>bisher trat dieses problem nicht auf.
Die Anzeigereihenfolge lässt sich leider sehr schnell ausser Kontrolle
bringen... Wenn man ein Objekt verschiebt, kommt es zuersteinmal wieder über
alle anderen Objekte und man muß die Zeichnung regenerieren, damit die
Reihenfolge wiederhergestellt wird.
In unserem Büro hatte ich genau das Problem, denn wir wollten Pläne mit
farbigen Solids ausplotten, die mal unter und mal über anderen Objekten
liegen. Leider stellte sich heraus, daß manchmal selbst ein regen nichts
mehr hilft, bzw es einfach zu lange dauert, jedesmal auf regen zu drücken.
Letztenendes brauchten wir die richtige Reihenfolge erst zum Plotten...
Um das Problem zu lösen, habe ich die Layernamen erweitert und nach Bedarf
das Kürzel "-Uxx" bzw. "-Oxx" - angehängt. U für unten und O für oben. xx
ist eine 2-stellige Nummer von 00 bis 99. Das erlaubt es, 100 Layer unter
die Zeichnung und 100 Layer über die Zeichnung zu legen in Reihenfolge der
Durchnummerierung. Notwendig ist natürlich ein Befehl, der dann die
Reihenfolge wiederherstellt. Bei mir ist das ein LISP-Programm, das die
Zeichnung layerweise auseinandernimmt und jeden Layer als Block nach C:\TEMP
schreibt. Der zweite Teil setzt die Zeichnung wieder zusammen, indem die
Blöcke einer nach dem anderen wieder eingefügt werden (und räumt dann
"hinter sich wieder auf" = löscht die DWG-Dateien, die erzeugt wurden"). Das
hört sich ziemlich wild an, ich weiß, aber es ist die einzige mir bekannte
Möglichkeit, die Anzeigereihenfolge komplett mit einem Befehl
wiederherzustellen, ohne den eigentlichen AutoCAD-Befehl dazu zu benutzen.
Der eigentliche Trick vons ganze ist, die Reihenfolge der Objekte in der
Datenbank neu zu ordnen, so daß ein REGEN in der richtigen Reihenfolge
laufen MUSS...
Vielleicht hat's geholfen,
Grüße, Zoltan
zod> [...] Bedarf das Kürzel "-Uxx" bzw. "-Oxx" - angehängt.
zod> U für unten und O für oben. xx ist eine 2-stellige Nummer
zod> von 00 bis 99. [...] Bei mir ist das ein LISP-Programm, das die
zod> Zeichnung layerweise auseinandernimmt und jeden Layer als Block
zod> nach C:\TEMP schreibt.
Weia.
Warum ginge nicht
(command "_draworder" (ssget "X" '((8 . "*-U99"))) "" "_back")
...
(command "_draworder" (ssget "X" '((8 . "*-U00"))) "" "_back")
(command "_draworder" (ssget "X" '((8 . "*-O00"))) "" "_front")
...
(command "_draworder" (ssget "X" '((8 . "*-O99"))) "" "_front")
?
Gruß,
--Thorsten
kann man das LISP-Programm mal sehen?
Würde mich interessieren
Danke
Claus