(defun C:tool_put_layer ( / MG N TB TBITEM TBS temp icon)
  (setq mg (vl-catch-all-apply 'vla-Item (list (vla-get-MenuGroups (vlax-get-acad-object)) "ACAD")))
  (setq tbs (vla-get-Toolbars mg))
  (setq layer-list (get-layer-list))
  (if (vl-catch-all-error-p(setq temp (vl-catch-all-apply 'vla-Item (list tbs "Изменить слой"))))
    (progn
      (setq tb (vla-Add tbs "Изменить слой"))
      (setq n 0)
      (repeat (length layer-list)
	(setq tbitem (vla-AddToolbarButton tb n (nth n layer-list) (nth n layer-list) (strcat "(edit-move-to-layer-unnecessary \"" (nth n layer-list)  "\") " )))
	(setq icon (strcat *geo_tools_root_dir* "\\icons\\"(nth n layer-list)".bmp"))
	(vla-SetBitmaps tbitem icon icon)
	(setq n (1+ n))
	)
      )
    (if (eq (vla-get-Visible temp) :vlax-false)
      (vla-put-Visible temp :vlax-true))
    )
  (princ)
  )


(defun C:put_layer (/ layer-name)
  (setq layer-name (getstring t "\nВведи имя слоя: "))
;;;  (command "" 
  (princ)
  )
;(strcat "edit_move_to_layer_unnecessary " "Благоустройство""")
(defun get-layer-list ()
  (list 
	"Благоустройство"
	"Водопровод"
	"Газ"
	"Геодезическое обоснование"
	"Гидрография"
	"ГСМ"
	"Документ"
	"Здания"
	"Земельные отводы"
	"Канализация"
	"Не сортированное"
	"Ограды"
	"Пикеты маркеры"
	"Пикеты отметки"
	"Проект"
	"Растительность"
	"Рельеф"
	"Связь"
	"Теплосеть"
	"Топонимика"
	"Улицы названия"
	"Электричество")
  )


(defun edit-move-to-layer-unnecessary ( layer_name / flag  temp n nabor n_y); переводит выделенные объекты в указоный слой
  (setq nabor nil)
  (if (not(tblobjname "layer" layer_name))
    (progn
      (initget "Да Нет")(setq n_y (getkword "\nНет слоя с таким именем, создать? [Да/Нет]<Нет>: "))
      (if (eq n_y "Да")
	(progn
	  (setq temp(getvar "Clayer"))
	  (command "_-LAYER" "с" layer_name "")
	  (setvar "Clayer" temp)
	  ))
      )
    )
  
  (PL:SetD "target_layer" layer_name)
  (setq nabor (ssget "_:S"))
  (while (not (eq nabor nil))
    (setq n 0)
    (repeat (sslength nabor)
      (vla-put-layer  (vlax-ename->vla-object(ssname nabor n)) layer_name)
      (setq n (1+ n))
      )
    (setq nabor (ssget "_:S"))
    )
  (setq nabor nil)
  (princ)
  )