|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
извлечение и замена данных поля (field)
Отопление и вентиляция
Москва
Регистрация: 31.10.2008
Сообщений: 445
|
||
Просмотров: 11566
|
|
||||
Отопление и вентиляция Регистрация: 31.10.2008
Москва
Сообщений: 445
|
а ларчик просто открывался...не догадался я что так просто это делается. но у меня дальше загвоздка я хотел вставить имя текущего листа узнаю его id (vla-get-objectid (vla-get-ActiveLayout (vla-get-activedocument (vlax-get-acad-object)))) получил id вствил в текст, все заработало.но в другом листе id активного листа то другое.и он выставляет 0 id активного листа.можно ли во внутрь поля вставить вышеупомянутое выражение что бы он каждый раз сам вычислял id активного листа?
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Composter, Можно и объект в поле поменять. См.
LISP.Поля (Field). Удаление, Добавление, Изменение Цитата:
АВТО Заполнение ведомости рабочих чертежей
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Composter, Имя и id активного листа немного разные вещи
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
инженер-проектировщик КИПиА Регистрация: 30.08.2008
Минск
Сообщений: 159
|
не знаю, может баян уже, но нашел такое решение:
для двух текстовых примитивов (во второй пишет содержимое первого) Код:
ошибка: неверный тип аргумента: lentityp "%<\\AcObjProp Object(%<\\_ObjId 2059668368>%).TextString>%" и не обновляет поле, приходится вручную |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Вставить поля в значения аттрибутов в ВХОЖДЕНИИ блока (в самом описании блока такое сделать ИХМО не возможно) - то есть в одно вхождение в "рукопашную" устанавливаем значение со ссылками можно как на свои аттрибуты, так и на другого вхождения. Свзяи будут сохраняться при копировании - причем если копировать блок ссылающийся на другой вместе "с исходным" - то образуется новая "независимая" пара (тройка), если без - то используется ссылка исходного (как-бы клон получается).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Как-то так
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 24.06.2011 в 17:37. |
|||
![]() |
|
||||
Регистрация: 07.12.2010
Уфа
Сообщений: 427
![]() |
![]() А как сделать так чтобы можно было выбирать в какой атрибут вставлять? А то у меня некоторые атрибуты скрытые? А как сделать чтобы можно было выбрать несколько блоков для вставки поля? Последний раз редактировалось Alexeipost, 27.06.2011 в 13:13. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
попробуй textduplicate http://dwg.ru/dnl/1931
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 21.04.2009
Тюмень
Сообщений: 97
|
Я нашел,почему не получалось
![]() ![]() А вот тут не подскажете как сделать обновление поля? В атрибуте значение уже изменено на П-2, а поле не обновилось. Чертеж2.dwg Последний раз редактировалось Wolkodaw, 17.08.2011 в 10:50. |
|||
![]() |
|
||||
Регистрация: 07.12.2010
Уфа
Сообщений: 427
![]() |
Чтобы обновилось поле в чертеж2.dwg надо создать еще один атрибут и сделать ссылку на первый атрибут (с "П-2"). Можно ссылку сделать прямо в блоке, должно сработать. Хотя бывает что не работает. Тогда ссылку на атрибут (с "П-2") надо сделать уже не в редакторе блока.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Alexeipost, посмотри на раздел, в котором тема находится.
Решение, я так подозреваю, необходимо программное.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
В чертеже и не может быть никаких программных изысков. Человек показывает, что у него есть и что должно получиться. Вот и все.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 21.04.2009
Тюмень
Сообщений: 97
|
То есть вместо "поля" поставить "второй (новый) атрибут"? С полем не получится?
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Wolkodaw, Я твой пример не смотрел. Ответ на вопрос №13 тебе на поможет?
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
VVA, А можно доработать лисп из №13, чтобы они понимал мультивыноски. Т.е. из мультивыноски значение можно вставить в текст или мтекст. А вот из текста или мтекста, в мультивыноску не работате. Из мультивыноски в мультивыноску тоже не работает.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Напомни после 14 гляну. Я сейчас в отпуске
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Код:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Astartes, в поиск по словам "текст прилипает к выноске"
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
Кулик Алексей aka kpblc, Я знаю про эту тему. У меня есть лисп который это исправляет. Вопрос то в том, что после применения лиспа CFLD, текст прилипает. Если это "неизбежное зло" для CFLD, буду исправлять лиспом из указанной тобой темы.
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Это неизбежное зло мультивыноски.
![]()
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Котло- и реакторостроение Регистрация: 25.02.2010
Барнаул
Сообщений: 824
|
kakt00z, Спасибо за ваш вариант. Работает как надо. Текст не прилипает.
VVA, возник вопрос. В лиспе я увидел что присутствую две команды для обновления полей. (command "_updatefield" (cdr (assoc -1 ename_get)) "" "_regenall"). Зачем? Updatefield не всегда корректно работает? А regenall в качестве запасного варианта? Можно ли убрать regenall? А то когда чертеж большой с кучей объектов, команда CFLD долго выполняется. Последний раз редактировалось Astartes, 09.10.2012 в 08:36. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Я уже не помню. Скорее всего как запасной вариант. Убрать, как и вернуть обратно, всегда можно.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
инженер-проектировщик КИПиА Регистрация: 30.08.2008
Минск
Сообщений: 159
|
если закрыть глаза на диезы (без regenall и updatefield), то можно и всю эту строку удалить:
(command "_updatefield" (cdr (assoc -1 ename_get)) "" "_regenall") при сохранении или еще каком-нибудь событии все поля обновятся сами или обновить регенерировать чертеж вручную после нескольких выполнений команды |
|||
![]() |
|
||||
Регистрация: 12.03.2013
Сообщений: 611
|
Народ а можно как нить заменить коды значений полей сразу во всех вхождениях полей в файле
Т.е. поясню - изменил через внешнюю программу наименование доп. свойства в подшивке, но в файлах остались ссылки на прежние наименования свойств Подобную тему в офисе можно делать с закладками, т.е. там в настройках выбираешь показывать коды полей и тупо поиск замена. Тут в акаде так нельзя, но видел что-то вокруг да около - но готового решения не нашел - мож просто не туда глядел? Последний раз редактировалось allar8, 23.07.2019 в 13:29. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Field... вставка поля из лиспа | grph | AutoCAD | 2 | 16.10.2012 14:18 |
извлечение данных в AutoCAD 2008 | versus1984 | AutoCAD | 10 | 27.03.2009 09:33 |
Извлечение данных в шаблон EXEL. | OHUKC | Программирование | 23 | 15.09.2008 19:45 |
структурированный список | Holon | Программирование | 22 | 11.09.2007 14:09 |