![]() |
Translate to: |
||||||
| Обратная связь | Новости САПР | Программы | Документация | Полезные советы | Обзорные статьи | ||
| Заказ и разработка | Каталог САПР | САПР-конференция | Библиотека ГОСТов | Наши соавторы | Коммерческое ПО | ||
;;; списка слоев в зависимости от их состояния
;;; Аргумент: Состояние
;;; 1 замороженный
;;; 2 размороженный
;;; 3 включен
;;; 4 выключен
;;; 5 заблокирован
;;; 6 не заблокирован
;;; 7 разрешен для печати
;;; 8 не разрешен для печати
;;; Пример: (layer-state 1)
;;; Возвращаемое значение: список слоев
(defun layer-state (state / typ names tf skip)
(setq names nil)
(vlax-for layer (vla-get-Layers
(vla-get-ActiveDocument
(vlax-get-acad-object)
)
)
(setq skip nil)
(cond
((= 1 state) (setq typ (vla-get-freeze layer) tf :vlax-true))
((= 2 state) (setq typ (vla-get-freeze layer) tf :vlax-false))
((= 3 state) (setq typ (vla-get-layeron layer) tf :vlax-true))
((= 4 state) (setq typ (vla-get-layeron layer) tf :vlax-false))
((= 5 state) (setq typ (vla-get-lock layer) tf :vlax-true))
((= 6 state) (setq typ (vla-get-lock layer) tf :vlax-false))
((= 7 state) (setq typ (vla-get-plottable layer) tf :vlax-true))
((= 8 state) (setq typ (vla-get-plottable layer) tf :vlax-false))
(t (setq skip T))
)
(if (and (null skip) (eq typ tf))
(setq names (cons (vla-get-name layer) names))
)
)
(reverse names)
)
Copyright © Сайт поддержки пользователей САПР