|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Lisp. Присвоение блоку атрибута и Z из текста.
Регистрация: 16.08.2010
Сообщений: 5
|
||
Просмотров: 13895
|
|
||||
Регистрация: 16.08.2010
Сообщений: 5
|
1. Дополнить программу так, чтобы она ещё меняла цвет блока и текстовый атрибут внутри блока на значение Z координаты этого блока, полученной из рядом стоящего текста.
2. Написать новую программу по описанному алгоритму. Не обязательно, но желательно.\ Я так понимаю, что никто мне помочь не хочет? ![]() Последний раз редактировалось Ancient John, 16.08.2010 в 22:31. |
|||
![]() |
|
||||
Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Регистрация: 16.08.2010
Сообщений: 5
|
Цитата:
![]() А у меня вот на руках сейчас блок с отметкой рядом, блок без атрибута ![]() |
|||
![]() |
|
||||
Регистрация: 20.02.2015
Сообщений: 79
|
Доброго времени суток! Хотел спросить, может по прошествии времени кто-нибудь нашел решение этой давней проблемы? До сих пор не дает покоя (я думаю и не только мне) проблема присвоение высоты блоку из отметки значения атрибута в топографии. Образец блока прикладываю. Спасибо!
|
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,115
|
Цитата:
|
|||
![]() |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,616
|
Цитата:
Цитата:
На каком языке пытаетесь решить свою задачу, под какую версию автокада, что уже сделали, что не получается? |
|||
![]() |
|
||||
Регистрация: 20.02.2015
Сообщений: 79
|
Да в том-то и дело, что к большому сожалению я не программист. Поэтому и вопрошаю у сведущих. Может у кого-то есть решение и может поделиться. Или указать ссылку, где вопрос решен.
В соответствии с темой. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
config, Тестируй
Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 02.02.2023 в 14:29. Причина: см пост #19 |
|||
![]() |
|
||||
Регистрация: 20.02.2015
Сообщений: 79
|
Супер! Все работает как надо! Вопрос снят! Спасибо Вам огромное!
----- добавлено через ~19 мин. ----- Нет, именно так. Но и второй вариант лиспа (приcвоение высоты блоку из отметки значения атрибута) тоже будет очень кстати. Еще раз огромное Вам спасибо! |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
config, А мне показалось после второго прочтения, что нужна обратная задача. Короче, обновил #11 - Zblk->значение атрибута и значение атрибута ->Zblk
----- добавлено через ~1 мин. ----- PS Похоже, онлайн общаемся ![]()
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Регистрация: 20.02.2015
Сообщений: 79
|
Цитата:
![]() |
|||
![]() |
|
||||
автомобильные дороги Регистрация: 27.05.2015
Санкт-Петербург
Сообщений: 10
|
Ребята, здравствуйте всем! Прошу помощи, встречался ли кто с такой ситуацией, если да, то будьте добрый подсказать ?
Пользуюсь лиспом ATTZBL. Но вот появилась ситуация (уведомление при выполнении команды) "неверный тип аргумента: (or stringp symbolp): nil" Операцию провожу для блока с некорректной отметкой Z и рядом стоящим атрибутом с отметкой в тексте, но Z у атрибута ровно "0" https://cloud.mail.ru/public/DC83/62v7wRNVT В файле "проверка" для понимания ситуации необходимо условным обозначениям в виде блока освещения и столба присвоить отметку Z с текста атрибута. Автокад 2021 Спасибо! Последний раз редактировалось johny100, 31.01.2023 в 15:56. |
|||
![]() |
|
||||
Регистрация: 31.01.2023
Сообщений: 2
|
В файле "проверка" для понимания ситуации необходимо условным обозначениям в виде блока освещения и столба присвоить отметку Z с текста атрибута.
https://cloud.mail.ru/public/61CG/5Krq6EK7h Добрый день, если вас правильно понял)) Есть блок с атрибутом параметра Z - его можно выставить с помощью лиспа в заданную координату по оси z. А чтобы присвоить блокам ниже в вашем файле, выделить их и в свойствах в ручную вбить заданные параметры!? |
|||
![]() |
|
||||
автомобильные дороги Регистрация: 27.05.2015
Санкт-Петербург
Сообщений: 10
|
|
|||
![]() |
|
||||
Цитата:
Есть ограничение - поле перестает действовать, если содержание атрибута отредактировано вручную. Т.е. редактировать нужно прямо и только Z блока. Тогда после _REGEN атрибут отобразит Z.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
johny100,
Тот вариант лиспа, который нашел, не работал только если в набор попадал блок без атрибута. Не было защиты "от дурака" Добавил проверку на наличие в блоке атрибута. Смотри пост #11
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
автомобильные дороги Регистрация: 27.05.2015
Санкт-Петербург
Сообщений: 10
|
Цитата:
![]() Спасибо! |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
johny100, В твоем примере 4 блока: 2 с атрибутами, 2 без атрибутов. Никаких точек и цифр нет.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Цитата:
![]()
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
автомобильные дороги Регистрация: 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,996
|
АлексЮстасу, скинь пример с ошибкой. Видно в свое время что-то не учел
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
__________________
количество моих сообщений не говорит о знании Автокада |
||||
![]() |
|
||||
Возможно, там проблема из-за двух атрибутов в блоке...
Если Вам срочно, то путь длиннее, но, в идее, продуктивнее, поскольку дает много больше возможностей работы с данными. Для одной этой задачи этот путь сложен. Но он позволяет решать множество задач, для которых нужно много десятков специальных лиспов. Т.е. в сумме позволит сэкономить много времени. Можно взять набор команд 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 |