Тема: Переименование блока
Будьте добры, что здесь не так :
(setq Imya (tblobjname "BLOCK" "B1")) (setq Info (entget Imya)) (setq Info (subst (cons 2 "BK-1") (assoc 2 Info) Info)) (entmod Info)
Не работает
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → LISP → Переименование блока
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Будьте добры, что здесь не так :
(setq Imya (tblobjname "BLOCK" "B1")) (setq Info (entget Imya)) (setq Info (subst (cons 2 "BK-1") (assoc 2 Info) Info)) (entmod Info)
Не работает
(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")
Премного благодарен!
Ваш код работает, только вот каккую-то галиматью
в командных строках возвращает типа
(310 .
"C0C08000C0C0A000F0FBFF00A4A0A000808080000000FF0000FF000000FFFF00FF000000FF00FF0
0FFFF0000FFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFF") (310 .
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFF") (310 .
"FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000
0000000000000000000FFF
Ну возвращает и пусть. Насколько я понял это данные о растровой картинке блока.
можно еще так:
(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) )
а вообще если эта функция не используется в какой-то другой, лучше пользоваться командой rename :^)
> Apelsinov
Спасибачки !
Попробуем и этот вариант.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → LISP → Переименование блока
Форум работает на PunBB, при поддержке Informer Technologies, Inc