Тема: Как распечатать список слоев?

Как распечатать список всех слоев с их аттрибутами (видимость, тип линий, цвет и т.д.)?

Re: Как распечатать список слоев?

А куда печатать-то надо? Можно так:

(defun _kpblc-layer-print-status (/ adoc)
  (vl-load-com)
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  (vlax-for item (vla-get-layers adoc)
    (princ (strcat "Layer : "
                   (vla-get-name item)
                   "\nDescription : "
                   (vla-get-description item)
                   "\nColor : "
                   (vl-princ-to-string (vla-get-color item))
                   "\nFreeze : "
                   (if (= (vla-get-freeze item) :vlax-true)
                     "yes"
                     "no"
                     ) ;_ end of if
                   "\nOn : "
                   (if (= (vla-get-layeron item) :vlax-true)
                     "yes"
                     "no"
                     ) ;_ end of if
                   "\nLinetype : "
                   (vla-get-linetype item)
                   "\nLineweight : "
                   (vl-princ-to-string (vla-get-lineweight item))
                   "\nPlot : "
                   (if (= (vla-get-plottable item) :vlax-true)
                     "yes"
                     "no"
                     ) ;_ end of if
                   "\n"
                   ) ;_ end of strcat
           ) ;_ end of princ
    ) ;_ end of vlax-for
  (princ)
  ) ;_ end of defun

Re: Как распечатать список слоев?

выдает:
; ошибка: ActiveX Server возвратил ошибку: неизвестное имя: Description
А выдавать куда угодно — в текстовый фал, буфер обмена или Эксель — неважно. Просто существующий список слоев получить хочется, чтобы сидеть перед ним и думать smile)

Re: Как распечатать список слоев?

> SStas
Ну я Description вколотил так, для порядку. Может быть, этого свойста в старых версиях нет, не знаю. Достаточно закомментировать строки

"\nDescription : "
(vla-get-description item)

и попробовать провернуть еще разок.

Re: Как распечатать список слоев?

Чтобы получить список слоев AutoCAD, пригодный для печати, проделайте следующее:
В командной строке введите: "-LA <ENTER> ? <ENTER>".
Нажмите <ENTER>. По умолчанию в текстовое окно AutoCAD будут распечатаны все слои.
Скопируйте список слоев в любой текстовый редактор и выведите на печать.
Взято из https://www.caduser.ru/oldlink/support/ … t_310.html