« zurück zur Hauptseite...

AutoCAD: Zugriff auf Layerfilter oder Layergruppen


Autor: Stefan Lagotzki (2005-08-28 16:01:03)

In unserer AutoCAD User Group haben wir gestern mit den
Möglichkeiten der Layerfilter in AutoCAD 2005 gespielt. Das
ist gegenüber den früheren Versionen sehr schön übersichtlich
und man könnte es eigentlich auch anderweitig nutzen. Weiß
jemand, ob man auf die Layerfilter/gruppen aus AutoLISP heraus
zugreifen kann? Es wäre attraktiv, wenn man zum Beispiel alle
Objekte einer Gruppe plotten, aus der Zeichnung exportieren
oder anderweitig bearbeiten könnte.

Stefan

.

Autor: "Thorsten Meinecke" (2005-08-29 10:48:43)

"Stefan Lagotzki" schrieb:
> Weiß
> jemand, ob man auf die Layerfilter/gruppen aus AutoLISP heraus
> zugreifen kann?

Das willst du nicht wirklich. :)

An der Symboltabelle "LAYER" hängen Xdictionaries dran, etwa
"ACAD LAYERFILTERS" und "ACLYDICTIONARY". Da bietet sich die
VisualLisp-Funktion vla-GetExtensionDictionary an, um bequem
darauf zuzugreifen.

Sonst wirds häßlich:

(setq lytbl (cdr (assoc 330 (entget (tblobjname "LAYER" "0"))))
lydict (dictsearch (cdr (assoc 360 (entget lytbl))) "ACLYDICTIONARY")
)

Gruß,
--Thorsten

Autor: "Thorsten Meinecke" (2005-08-29 10:48:43)


Autor: "Thorsten Meinecke" (2005-08-29 10:48:43)

"Stefan Lagotzki" schrieb:
> Weiß
> jemand, ob man auf die Layerfilter/gruppen aus AutoLISP heraus
> zugreifen kann?

Das willst du nicht wirklich. :)

An der Symboltabelle "LAYER" hängen Xdictionaries dran, etwa
"ACAD LAYERFILTERS" und "ACLYDICTIONARY". Da bietet sich die
VisualLisp-Funktion vla-GetExtensionDictionary an, um bequem
darauf zuzugreifen.

Sonst wirds häßlich:

(setq lytbl (cdr (assoc 330 (entget (tblobjname "LAYER" "0"))))
lydict (dictsearch (cdr (assoc 360 (entget lytbl))) "ACLYDICTIONARY")
)

Gruß,
--Thorsten

Autor: Stefan Lagotzki (2005-08-29 12:09:27)

Thorsten Meinecke schrieb:
> An der Symboltabelle "LAYER" hängen Xdictionaries dran, etwa
> "ACAD LAYERFILTERS" und "ACLYDICTIONARY". Da bietet sich die
> VisualLisp-Funktion vla-GetExtensionDictionary an, um bequem
> darauf zuzugreifen.

Na das ist doch prima. Das Fernziel ist: Ich will ein Programm
schreiben, das PDF-Dateien mit Layern generiert. Im aktuellen
PDF-Standard kann man auch in PDF-Dateien Layer(gruppen) definieren
und der Adobe Reader 7 kann das auch anzeigen. Diese Layer kann man
im PDF-Betrachtungsprogramm ein- und ausblenden.

Für den User bieten sich die Layerfilter als gute Auswahl-
möglichkeit an. Er kann auf diese Weise festlegen, welche Layer-
gruppen eine Schicht in der PDF-Datei ergeben sollen. Das ist
zum Beispiel bei Bestandsplänen oder Bebauungsplänen recht sinnvoll.

Bisher ist mir nur aus zweiter Hand bekannt, dass man mit dem
Adobe Acrobat 7 (die Version mit dem größten Funktionsumfang) und
AutoCAD (ab 2004 oder 2005) angeblich PDF-Dateien mit solchen
Layern herstellen kann. Kann das jemand bestätigen, der beides
im Einsatz hat?

Ich würde das selbe gern mit OpenSource-Software tun, die im
Hintergrund durch ein LISP-Programm aufgerufen wird.

Stefan

.