Тема: LISP. Установка цвета слоя указанием на объект этого слоя
Примечание:
1. Цвет меняется только у примитивов, цвет которых установлен в ByLayer.
2. Макрос для кнопки будет работать только если сохранить код в файле Set_layer_color.lsp и поместить этот файл по одному из путей поиска акада (например в папку Support)
(defun Set_layer_color ( / layer layers flag ) (while (not flag) (if (= nil (setq ename (car (entsel "\nSelect layer object:")))) (setq flag nil) (setq flag T) ) ) (setq layer (vla-get-layer (vlax-ename->vla-object ename))) (vlax-for Item (vla-get-layers (vla-get-ActiveDocument (vlax-get-acad-object))) (if (= (vla-get-name Item) layer) (vla-put-color Item (acad_colordlg 1)) ) (princ) ) )
Макрос для кнопки
^C^C^P(if (not (Set_layer_color)) (load "Set_layer_color.lsp")) (Set_layer_color)