zurück zum Inhaltsverzeichnis


;; Layer-Werkzeuge  Version 0.1 
;;
;; (c) Stefan Lagotzki - Alle Rechte vorbehalten -
;; 
;; Dieses Werkzeug darf ausschliesslich
;; frei, kostenlos und unveraendert verteilt werden.
;; Eine implizite oder explizite Garantie
;; fuer das Funktionieren dieses Werkzeugs
;; wird nicht gegeben.
;;
;; Es wird weitere Versionen geben, bis die Version 1.0
;; erreicht ist.
;;
;; Fragen und Anregungen: info@lagotzki.de
;;
;; Internetadresse  www.lagotzki.de/augs/
;;
;; Anwendungshinweis: 
;; Vereinbaren Sie je ein Werkzeugsymbol, das die Befehle
;; zum Isolieren, Frieren und Tauen der Layer aufruft.
;; Dazu gibt es eine Dokumentation in der AutoCAD User Group
;; Sachsen.
;; 

(defun make_layerlist( / elem layername)

  (setq layerliste NIL)
  (setq layerliste (list (cdr (assoc 2 (tblnext "LAYER" T)))))
  (while  (setq layername (cdr (assoc 2 (tblnext "LAYER"))))
      (setq layerliste (cons layername layerliste))
  )
  (setq layerliste (acad_strlsort layerliste))
  (foreach elem layerliste
      (prompt "\"")
      (princ elem)
      (prompt "\"\n")
  )
)

(defun lay_ex(elementname)
  (setq element (entget elementname))
  (setq LAYER (cdr (assoc 8 element)))  
)

(defun C:friere_layer()
  (setvar "CMDECHO"  0) 
  (command "_undo" "_group")
  (make_layerlist) 
  (setq testelement (entsel))
  (setq lname (lay_ex (car testelement)))
  
  (prompt "Versuche den Layer ") (princ lname) (prompt " zu frieren...  ")
  (if (/= lname (getvar "CLAYER"))
     (progn
       (command "_layer" "_freeze" lname "")
       (prompt "OK.  \n")
     )
     (progn
       (alert "Der aktuelle Layer kann nicht gefroren werden...")
     )
  )
      (command "_undo" "_end")
      (setvar "CMDECHO"  1)
      (prompt "\n Fertig :-)")
      (princ)
)

(defun C:taue_layer()
  (make_layerlist) 
  (foreach elem layerliste
          (progn
             (command "_layer" "_thaw" elem "")
          )
  )
)

(defun C:iso_layer()
  (setvar "CMDECHO"  0) 
  (command "_undo" "_group")
  (make_layerlist) 
  (setq testelement (entsel))
  (setq lname (lay_ex (car testelement)))
  (prompt "Behalte den Layer ") (princ lname) (prompt ".\n")
  (foreach elem layerliste
      (if (and (/= elem lname) (/= elem (getvar "CLAYER")))
          (progn
             (command "_layer" "_freeze" elem "")
          )
      )
  )
      (command "_undo" "_end")
      (setvar "CMDECHO"  1)
      (prompt "\n Fertig :-)")
      (princ)
)


;; onLoad:
(prompt "\n Das Werkzeug zum Isolieren der Layer wurde geladen \n")
(princ)


zurück zum Inhaltsverzeichnis