| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
23.11.2015, 10:38 | #1 | |
Autolisp. Помогите выяснить из-за чего ошибка выходит ошибка.
Регистрация: 24.01.2012
Сообщений: 83
|
||
Просмотров: 3694
|
|
||||
Пастух Регистрация: 16.07.2012
Питер
Сообщений: 318
|
Проблема в этой строчке. Нельзя повторно добавлять в список наборов, набор с существующим именем. Первый раз он даст вам указатель, во втрой раз выдаст ошибку.
Код:
__________________
Автоматизация должна быть автоматической. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
Значит в текущем документе уже есть такой набор. Сначала надо его удалить (естественно, удалять только при необходимости). Примерно так:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
Для неактивного чертежа, по-моему, будет проще выполнять полный проход по нужному пространству.
По-моему, в 2018 что-то с этим уже делали. Могу ошибаться
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 26.06.2007
Воронеж
Сообщений: 151
|
То есть, выбор рамкой и не должен работать за границами экрана? Выход — режим acSelectionSetAll с перебором тысяч объектов по фильтру (попадает ли точка вставки блока в нужные границы, лежит ли точка начала-конца линии в этих границах — и так для каждого типа примитивов со своими ключевыми точками)? Это сильно увеличит время поиска. Может, есть возможность зумирования на неактивном чертеже?
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,853
|
Tonic, а тебе это зачем? Что ты собираешься искать в неактивном документе?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 26.06.2007
Воронеж
Сообщений: 151
|
Объекты, лежащие внутри прямоугольной рамки (замкнутой полилинии). Таких рамок может быть много, и в каждой — минимум сотни объектов. Так показываются этажи зданий с расставленным там слаботочным оборудованием (блоки, линии-кабели). Ну и может быть такое, что информацию об этих объектах на конкретном этаже нужно обработать на неактивном чертеже для показа в активном (текущем).
|
|||
|
||||
Регистрация: 26.06.2007
Воронеж
Сообщений: 151
|
Вся необходимая информация во внешних БД. Вопрос не в этом, а вполне конкретный: можно ли без перебора всех объектов через vlax-for ограничиться вполне понятными рамками перебора. Видимо, нет, т.к. зумирование неактивного чертежа вряд ли возможно.
|
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,052
|
Ну, как например это делается в Net - Как средствами AutoCAD определить расположение точки относительно контура. Если не получиться на лиспе реализовать, то можно написать Net-сборку с использованием атрибута [LispFunction("")] и вызывать из вашей lisp-надстройки. Тоже костыль и зависимость от версии акада, но что делать...
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |
Помогите узнать номер строки в котрой произошла ошибка в программе на VBA | МишаИнженер | Программирование | 3 | 27.05.2012 23:27 |
Несоответствие результатов в Лире | s.vas | Лира / Лира-САПР | 19 | 11.11.2009 07:31 |
Помощь по Лире | Серега М | Лира / Лира-САПР | 52 | 28.05.2007 02:47 |