|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
AndruxaZ, Вам почти удалось..
Но лучше вот так: Handel: 283 Это искомый параметр, у него в XData указано, что он 3 по порядку, и в общем списке имеет индекс в коллекции 6, дополнительно посмотрел по "Привязка_распределения" handel 27E, который по индексу в коллекции 1, по порядку 2 и равен 1500. и если в текст вставить %<\AcObjProp Object(%<\_ObjId 165450432>%).Parameter(1).UpdatedDistance \f "%lu2%pr0">%, то получится 1500. Все сходится. Откуда взялась 6 теперь понятно... а вот как ее достать в Лисп... не знаю. |
|||
|
||||
tsetse,
а если так: Код:
Код:
Последний раз редактировалось koMon, 02.03.2020 в 15:34. |
||||
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Спасибо большое! Отлично работает! Основное изменение от предыдущего, как я понял заключается в том, что поиск параметров идет в расширенном словаре блока "ACAD_ENHANCEDBLOCK". Надеюсь этот код в дальнейшем поможет кому-либо еще. В ближаешее время модифицирую (если вы это не сделаете раньше), чтобы выводилось конкретное значение для конкретного параметра например (test "Длина_стержня") -> 6.
Теперь объясню, зачем мне это нужно. На планах армирования в большом количестви присутствуют данные блоки. Некоторые коллеги (неопытные), часто сбивают этот аттрибут. Вот и пришла в голову мысль, восстановить. Просто вписать значение проблем не вызывает, задача была именно сделать поле. Еще раз спасибо! ----- добавлено через ~1 ч. ----- Оформленный как функция Запуск (get-param_number (car(entsel)) "Длина_стержня") Код:
Последний раз редактировалось tsetse, 03.03.2020 в 14:03. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
Большое количество полей почти гарантированно затормозит обработку чертежа. Я бы, наверное, воспользовался не полями, а отдельной командой, которая "проставит" значения обычными выносками или чем-нибудь наподобие (кстати, в качестве аннотации для выноски можно и блоки использовать). А всю маркировку поместить на отдельный слой. Ну что-нибудь такого типа.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Цитата:
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
Регистрация: 15.04.2019
Сообщений: 58
|
Большое спасибо ТС и всем, кто ему помогал в создании функции! Мне она очень пригодилась)
Только вот кучу времени убил, пока разбирался, от чего же код (в шапке который) работает через пень-колоду))))) Но нашёл) В локальных переменных пропустили (не объявили) dyn_param_found , а в теле процедуры стоит Цитата:
Шапку, наверное, стоит поправить Ещё раз благодарю коллективного автора этой функции за неоценимую помощь в моей работе! |
|||
|
||||
Инженер-конструктор Регистрация: 25.12.2015
Москва
Сообщений: 77
|
Готово! Спасибо за замечание!
Цитата:
|
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Установка параметра видимости в блоке случайным образом | Volodich | Программирование | 11 | 01.02.2023 09:20 |
Ограничение линейного перемещения в динамическом блоке | nimberlink | Динамические блоки | 1 | 20.12.2016 10:49 |
Массивы в динамическом блоке | valerik88 | Динамические блоки | 3 | 13.12.2016 09:34 |
Помогите узнать номер строки в котрой произошла ошибка в программе на VBA | МишаИнженер | Программирование | 3 | 27.05.2012 23:27 |