Логотип сайта поддержки пользователей САПРО сайте поддержки пользователей САПР 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 © Сайт поддержки пользователей САПР by Victor Tkachenko