Сообщество программистов Autodesk в СНГ
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
1 час
1 день
1 неделя
1 месяц
Навсегда
Новости:
Образовательный курс по платформе Autodesk Forge.
Начало
Сайт
Правила
Помощь
Поиск
Непрочитанные
Календарь
Вход
Регистрация
Сообщество программистов Autodesk в СНГ
»
ADN Club
»
AutoLisp / VisualLISP и DCL
»
Изменение текста в мультивыноске
« предыдущая тема
следующая тема »
Печать
Страницы: [
1
]
Вниз
Автор
Тема: Изменение текста в мультивыноске (Прочитано 7619 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Bazinga
ADN Club
Сообщений: 101
Карма: 4
Изменение текста в мультивыноске
«
:
23-11-2017, 16:09:59 »
Помогите, пожалуйста, советом, как можно отредактировать текст мультивыноске ?
Записан
Александр Ривилис
Administrator
Сообщений: 13886
Карма: 1788
Рыцарь ObjectARX
Skype:
Re: Изменение текста в мультивыноске
«
Ответ #1 :
23-11-2017, 16:15:10 »
Я правильно понимаю, что программа должна быть на lisp'е?
Записан
Не забывайте про правильное
Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился
правильный ответ
, то не забудьте про кнопку
Решение
Bazinga
ADN Club
Сообщений: 101
Карма: 4
Re: Изменение текста в мультивыноске
«
Ответ #2 :
23-11-2017, 16:23:01 »
Александр Ривилис
, угу.
Записан
Александр Ривилис
Administrator
Сообщений: 13886
Карма: 1788
Рыцарь ObjectARX
Skype:
Re: Изменение текста в мультивыноске
«
Ответ #3 :
23-11-2017, 16:24:54 »
Тогда как-то так:
Код - Auto/Visual Lisp
[Выбрать]
(
progn
(
vl-load-com
)
(
setq
en_obj
(
vlax-ename->vla-object
en_ename
)
)
; получаем vla-объект
(
setq
en_txt
(
vla-get-TextString
en_obj
)
)
; Получаем старую строку
;; Модифицируем строку
(
vla-put-TextString
en_obj en_txt
)
; Новая строка в мультивыноске.
)
(vla-get-TextString) иногда "спотыкается". Поэтому лучше такой вариант:
Код - Auto/Visual Lisp
[Выбрать]
;; Extract textstring (with symbols) from text object
;; Works on: MText, Text, Attrib, Attdef, Multileader
;; Obj - Object to extract textstring from
;; Alan J. Thompson, 11.24.09 / 04.13.10
(
defun
AT:
TextString
(
Obj
)
(
if
Obj
(
(
lambda
(
e s
)
(
cond
(
(
eq
(
cdr
(
assoc
0
e
)
)
"MULTILEADER"
)
(
cdr
(
assoc
304
e
)
)
)
(
(
vl-position
(
cdr
(
assoc
0
e
)
)
'
(
"ATTDEF"
"ATTRIB"
"MTEXT"
"TEXT"
)
)
(
foreach
x e
(
and
(
vl-position
(
car
x
)
'
(
1
3
)
)
(
setq
s
(
strcat
s
(
cdr
x
)
)
)
)
)
s
)
)
)
(
cond
(
(
vl-consp
Obj
)
(
entget
(
car
Obj
)
)
)
(
(
eq
(
type
Obj
)
'ENAME
)
(
entget
Obj
)
)
(
(
eq
(
type
Obj
)
'VLA
-
ObjECT
)
(
entget
(
vlax
-
vla
-
Object
->
ename Obj
)
)
)
)
""
)
)
)
Записан
Не забывайте про правильное
Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился
правильный ответ
, то не забудьте про кнопку
Решение
Bazinga
ADN Club
Сообщений: 101
Карма: 4
Re: Изменение текста в мультивыноске
«
Ответ #4 :
23-11-2017, 16:25:59 »
Александр Ривилис
, спасибо огромное!!! Буду пробовать.
Записан
Печать
Страницы: [
1
]
Вверх
« предыдущая тема
следующая тема »
Сообщество программистов Autodesk в СНГ
»
ADN Club
»
AutoLisp / VisualLISP и DCL
»
Изменение текста в мультивыноске