|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
johny100, В твоем примере 4 блока: 2 с атрибутами, 2 без атрибутов. Никаких точек и цифр нет.
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Наверное, Вы имеете в виду лисп Ztxt - см. стартовый пост этой темы. Автор лиспа, кажется, как раз VVA.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
автомобильные дороги Регистрация: 27.05.2015
Санкт-Петербург
Сообщений: 10
|
Цитата:
Offtop: Извиняюсь, что так выражаю свою мысль долго! ----- добавлено через ~13 мин. ----- Цитата:
Offtop: Я правда, очень извиняюсь, что не могу выразить свою мысль, так чтобы вы поняли Или вот тоже пример в приложенном архиве с атрибутами, не смог выполнить присвоение положению Z значения из значения атрибута лиспом ATTZBL, а лиспом Ztxtb команда задает блоку с атрибутом положение Z из тега, который идет как порядковый номер и я уже голову сломал как значения между тегами поменять или удалить лишний тег, но безрезультатно пока что. При чем если схитрить и извлечь из блока с атрибутом текст, то командой Ztxt точке будет задаваться не значение ближайшего текста, коим является отметка, а тот же самый тег из разбитого блока с атрибутом. Не могу понять, как изменить эти теги, чтобы команды использовали нужное значение. Последний раз редактировалось johny100, 09.02.2023 в 11:38. |
|||
|
||||
Эта задача нетипичная, некорректная. Атрибуты специально связаны со своими блоками. Для других блоков они чужие.
Поэтому искать программу для чтения в один блок атрибутов другого блока, скорее, бесполезно. Если уж совсем нужно, то оправдано разбивать блоки с нужными Вам вдруг атрибутами. Разбивать блоки нужно BURST - командой из Express. Она создаст не надписи тегов, а содержаний атрибутов.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
автомобильные дороги Регистрация: 27.05.2015
Санкт-Петербург
Сообщений: 10
|
Цитата:
Так и сделал, если есть возможность и желание, можете проверить. Хотя в моей ситуации, проверьте пожалуйста, из архива файл. Нужно срочно, а не могу дать ума в присвоении отметок точкам в блоке с атрибутом. Любым методом либо через команду BURST либо через лиспы умных людей. Последний раз редактировалось johny100, 10.02.2023 в 11:39. |
|||
|
||||
Подходящим в принципе должен бы быть лисп ATTZBL из #11, но он выдает:
Код:
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
АлексЮстасу, скинь пример с ошибкой. Видно в свое время что-то не учел
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Возможно, там проблема из-за двух атрибутов в блоке...
Если Вам срочно, то путь длиннее, но, в идее, продуктивнее, поскольку дает много больше возможностей работы с данными. Для одной этой задачи этот путь сложен. Но он позволяет решать множество задач, для которых нужно много десятков специальных лиспов. Т.е. в сумме позволит сэкономить много времени. Можно взять набор команд XDTOOLS, тоже на лиспе. 1. Создать XData для нужных данных - XDTOOLS_MDEFINE. Полей в XData можно сразу создать для всех атрибутов этих блоков, т.е. два. 2. Присоединить этот созданный XData к объектам - XDTOOLS_ADD. 3. Создать текстовый файл соответствий блоков/атрибутов с XData/полями. Поможет в этом XDTOOLS_ATTRFILE, который создаст txt-заготовку файла соответствий, выгрузив в него названия всех блоков с соответствующими атрибутами, а так же названия XData и номера их полей. В Вашем случае достаточно строки: Цитата:
4. Загрузить значение атрибутов в XData на основе файла соответствий - XDTOOLS_ATTR2. В общем случае можно создать файл соответствий для всех разновидностей блоков, для любых их атрибутов, и разом загрузить. 5. Назначить значение свойства объекта (Z) из значения поля XData - XDTOOLS_2PROP.
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 16.02.2023 в 22:34. |
||||
|
||||
Способ быстрее, но тоже обходной и с доп. лиспом - достаточно мощным экспортом/импортом PointManager от Lee Mac. (Есть и другие самодельные хорошие наши лиспы для этого).
1. Команда PTM. Выгружаем выбранные блоки в указанный txt-файл, с атрибутами. (Лисп не даст выбрать блоки для экспорта, если для выгрузки выбраны тоже блоки. Выбрать там что-то другое, точки, например). 2. Открываем созданный txt-файл в Excel или т.п., и заменяем Z на значение атрибута отметки. 3. Команда PTM. Загружаем из txt-файла указанным блоком, с атрибутами. Можно выбрать и цвет/слой. Прежние блоки можно предварительно удалить. Этот экспорт/импорт вообще оч. неплох для создания точек-блоков и пр. из txt-файлов. Пригодится и для этого, и в ряде других случаев. Кстати, в штатных средствах AutoCAD так и нет экспорта точек-вершин в txt?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
автомобильные дороги Регистрация: 27.05.2015
Санкт-Петербург
Сообщений: 10
|
Цитата:
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
LISP. Выравнивание текста по двум точкам. | Krieger | Готовые программы | 10 | 24.12.2011 16:02 |
как редактировать contents в свойствах текста? как привязать размер текста атрибута к размеру блока? | p-sm | AutoCAD | 3 | 13.08.2009 18:08 |
Изменение форматированного текста посредством lisp | Tramp | LISP | 4 | 03.03.2006 11:28 |
Lisp для текста | Vova | LISP | 11 | 13.05.2004 17:39 |