| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Layer nach Tauen nicht sichtbar (309 mal gelesen)
|
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004 Map3D 2018 und Civil3D 2018
|
erstellt am: 06. Nov. 2009 10:47 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, ich habe folgenden Code:
Code: ;Basiert auf: http://ww3.cad.de/foren/ubb/Forum54/HTML/009969.shtml ;Wechselweises Frieren und Tauen von Layerlisten (defun LAYER_FREEZE (LAYERS / NAME STATUS) (vl-load-com) (if (and(=(type LAYERS) 'LIST) (setq LAYERS (vl-remove-if-not '(lambda(x) x) (mapcar '(lambda(X)(if(=(type X)'STR)(strcase X) nil)) LAYERS) ) ) ) (vlax-for LAYER (vla-get-layers(vla-get-activedocument(vlax-get-acad-object))) (setq NAME(strcase (vla-get-name LAYER))) (if (member 'T (mapcar'(lambda(x) (wcmatch NAME X)) LAYERS ) ) (progn (or STATUS (setq STATUS(vla-get-freeze LAYER))) (if (= STATUS :vlax-true) (vla-put-freeze LAYER :vlax-false) (vla-put-freeze LAYER :vlax-true) ) ) ) ) ) ) (vla-Regen(vla-get-activedocument(vlax-get-acad-object))acAllViewports)
Vorerst mal DANKE an CADmium, denn eigentlich ist das ja von ihm. Ich hab´s nur minimal verändert. Die letzte Zeile habe ich aus: http://ww3.cad.de/foren/ubb/Forum145/HTML/001247.shtml#000007 Aber: irgend was passt nicht, denn nach dem Tauen sehe ich den Layer nicht, bzw. erst nach einem _regen. Kann mir bitte jemand sagen, was da falsch ist? lg Didi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 06. Nov. 2009 10:54 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
hi, auf die schnelle ne Klammer falsch );<--einmal weg (vla-Regen(vla-get-activedocument(vlax-get-acad-object))acAllViewports) );<--da hin ------------------ Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." (www.uni-leipzig.de/~rotheh/elefant.htm) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004
|
erstellt am: 06. Nov. 2009 11:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Heiko, danke für den Tipp, aber das war´s nicht. ich hab den Befehl (vla-Regen(vla-get-activedocument(vlax-get-acad-object))acAllViewports) auch schon getestet mit (command "_REGEN") und an verschiedenen Positionen zwischen den Klammern. Aber brachte alles nix, ausser dass ich scheinbar eine Klammer verschoben habe. lg didi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 06. Nov. 2009 11:44 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
hi, bei mir gehts (defun LAYER_FREEZE (LAYERS / NAME STATUS) (vl-load-com) (if (and(=(type LAYERS) 'LIST) (setq LAYERS (vl-remove-if-not '(lambda(x) x) (mapcar '(lambda(X)(if(=(type X)'STR)(strcase X) nil)) LAYERS) ) ) ) (vlax-for LAYER (vla-get-layers(vla-get-activedocument(vlax-get-acad-object))) (setq NAME(strcase (vla-get-name LAYER))) (if (member 'T (mapcar'(lambda(x) (wcmatch NAME X)) LAYERS ) ) (progn (or STATUS (setq STATUS(vla-get-freeze LAYER))) (if (= STATUS :vlax-true) (vla-put-freeze LAYER :vlax-false) (vla-put-freeze LAYER :vlax-true) ) ) ) ) ) (vla-Regen(vla-get-activedocument(vlax-get-acad-object))acAllViewports) ) ;;Aufruf mit (LAYER_FREEZE '("AM_0")) Schreibweise vom Layer beachten der layer darf IMHO nicht gerade der aktive sein "" nicht vergessen siehe Aufruf mal acad neu starten ------------------ Mfg Heiko Elefantenjagd in Afrika "... LISP-Programmierer bauen einen Irrgarten aus Klammern und hoffen, dass sich der Elefant darin verirrt..." (www.uni-leipzig.de/~rotheh/elefant.htm) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004
|
erstellt am: 06. Nov. 2009 11:50 <-- editieren / zitieren --> Unities abgeben:
Hallo Heiko, ... ich hätt es wissen müssen! Neustarten!! Danke
EDIT: Nach dem Neustart geht es jetzt auch ohne Regenerierung! lg didi
[Diese Nachricht wurde von Goofy007 am 06. Nov. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |