Загрузка данных


(vl-load-com)

(defun c:SYNCVIS (/ ss i ent ev vis obj attrs)
  (setq ss (ssget "X" '((0 . "INSERT")(2 . "ИМЯ_БЛОКА"))))
  (if (null ss)
    (princ "
Блоки не найдены.")
    (progn
      (setq i 0)
      (repeat (sslength ss)
        (setq ent (ssname ss i)
              ev  (entget ent)
              vis (cdr (assoc 301 ev))  ; состояние видимости
              obj (vlax-ename->vla-object ent)
              attrs (vlax-invoke obj 'GetAttributes))
        (foreach a attrs
          (if (= (strcase (vla-get-TagString a)) "VIS_STATE")
            (vla-put-TextString a (if vis vis ""))
          )
        )
        (setq i (1+ i))
      )
      (princ (strcat "
Обновлено: " (itoa (sslength ss)) " блоков."))
    )
  )
  (princ)
)