; Этот код написал Александр Val Ющенко
; Если Вам нужен лисп для решения более специализированных задач - обращайтесь!
; Для связи со мной - val@allforproject.ru

(defun begin_activex ( / ) 
  (vl-load-com) 
  (setq acad_application (vlax-get-acad-object)) 
  (setq active_document (vla-get-ActiveDocument acad_application)) 
  (setq model_space (vla-get-ModelSpace active_document)) 
  (setq paper_space (vla-get-PaperSpace active_document)) 
)
(begin_activex)
(defun c:ac ( / )
	(setq 
		attname (getstring T "Укажите имя атрибута:")
		prefix (getstring T "Укажите префикс:")
		suffix (getstring T "Укажите суффикс:")
		initial_value (getint  "Укажите начальное значение:")
		increment (getint  "Укажите шаг:")
		i 0
	)
	(while T
		(setq block (vlax-ename->vla-object (car(entsel "Укажите блок:")))) ; выбор блока
		(setq temp (vla-GetAttributes block))
		(setq att_list (vlax-safearray->list (vlax-variant-value  temp)))
		(foreach att_obj att_list
			(if (= attname (vla-get-TagString att_obj) )
				(progn ;true
					(vla-put-TextString att_obj (strcat prefix (itoa (+ initial_value i))  suffix))
				)

			)	
		)
		(setq i (+ i increment))
	)
)




