Pokud potřebujete v AutoCADu nebo v AutoCADu LT rychle přepínat viditelnost určité hladiny nebo skupiny hladin, můžete si do AutoCADu doplnit patřičný příkaz nebo funkci. Tu pak můžete vyvolat zadáním jména příkazu, kliknutím na daný nástroj v paletě nástrojů nebo jej přiřadit na klávesovou zkratku.
Následující LISP kód si uložte do souboru LFT.LSP a pomocí ikonky aktovky v dialogu APLČTI jej načítejte do každého sezení AutoCADu (nebo LT). Upravte si název přepínané hladiny nebo masky hladin.
;Layer thaw/freeze (for palette)
(vl-load-com)
(setq *acaddoc* (vla-get-activedocument (vlax-get-acad-object)))
(defun LFT (LFT_name / flg lo)
(cond
( (= (strcase (getvar 'CLayer)) (strcase LFT_name))
(princ "\nCannot freeze current layer")
)
( (setq lo (tblobjname "LAYER" LFT_name))
(setq lo (vlax-ename->vla-object lo))
(vlax-put lo 'Freeze (setq flg (~ (vlax-get lo 'Freeze))))
(if (= flg 0) (vla-regen *acaddoc* acActiveViewport))
)
( (princ (strcat "\nLayer " LFT_name " does not exist.")))
)
(princ)
(defun C:LFT ( / LFT_name flg lo)
(setq LFT_name "MOJEHLADINA") ; layer to process
(cond
( (= (strcase (getvar 'CLayer)) (strcase LFT_name))
(princ "\nCannot freeze current layer")
)
( (setq lo (tblobjname "LAYER" LFT_name))
(setq lo (vlax-ename->vla-object lo))
(vlax-put lo 'Freeze (setq flg (~ (vlax-get lo 'Freeze))))
(if (= flg 0) (vla-regen *acaddoc* acActiveViewport))
)
( (princ (strcat "\nLayer " LFT_name " does not exist.")))
)
(princ)
)
(setq *LFTM_status* nil)
(defun C:LFTM ( / LFT_name)
(setq LFT_name "MOJEHLADINY*") ; layers to process (mask)
(command "_-LAYER" (if *LFTM_status* "_FR" "_TH") LFT_name "")
(setq *LFTM_status* (not *LFTM_status*))
(princ)
)
(princ "\nLFT and LFTM toggle loaded.")
(princ)
)
Poté můžete použít (z klávesnice nebo z klávesové zkratky, viz CUI) příkazy LFT a LFTM (multiple, maska), nebo si do uživatelské Palety nástrojů přiřaďte ikonku pro zvolenou hladinu. Viz Tip 13502. Opakovaným kliknutím myši na tuto ikonku pak bude zapínat a vypínat zvolenou hladinu.
Jako Řetězec příkazu u dané ikony zadejte (včetně závorek):
(LFT "NAZEVHLADINY")