Тема: Переименование блока

Будьте добры, что здесь не так :

(setq Imya (tblobjname "BLOCK" "B1"))
(setq Info (entget Imya))
(setq Info (subst (cons 2 "BK-1") (assoc 2 Info) Info))
(entmod Info)

Не работает

Re: Переименование блока

(defun block_rename (name0 name1 / Imya Info)
  (if (setq Imya (tblobjname "BLOCK" name0))
    (progn
      (entmod
    (subst (cons 2 name1)
           (assoc 2
              (setq Info (entget (cdr (assoc 330 (entget Imya)))))
           )
           Info
    )
      )
    )
    (princ "Не найден блок")
  )
)
(block_rename "B1" "BK-1")
 

Re: Переименование блока

Премного благодарен!
Ваш код работает, только вот каккую-то галиматью
в командных строках возвращает типа
(310 .
"C0C08000C0C0A000F0FBFF00A4A0A000808080000000FF0000FF000000FFFF00FF000000FF00FF0
0FFFF0000FFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFF") (310 .
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFF") (310 .
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000
0000000000000000000FFF

Re: Переименование блока

Ну возвращает и пусть. Насколько я понял это данные о растровой картинке блока.
можно еще так:

(defun block_rename (name0 name1 / Imya)
  (if (and (not(eq name0 ""))
       (not (eq name1 ""))
       (not(eq name1 name0))
       (tblobjname "block" name0)
       (not    (tblobjname "block" name1)
       )
      )
     (vla-put-name (vla-Item (vla-get-Blocks
                   (vla-get-activedocument (vlax-get-acad-object))
                 )
                 name0
           ) name1)
    (princ "Ашипка")
  )
  (princ)
)
 

Re: Переименование блока

а вообще если эта функция не используется в какой-то другой, лучше пользоваться командой rename :^)

Re: Переименование блока

> Apelsinov
Спасибачки !
Попробуем и этот вариант.

Re: Переименование блока

И второй вариант тоже работает !