|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
В таком виде хороший повод избавиться от объектного реактора с отслеживанием копирования.
----- добавлено через ~3 мин. ----- Цитата:
----- добавлено через ~9 мин. ----- Кстати, а автокад не захлебнется при копировании, если ему придется таким образом фильтровать 10 000 объектов, чтобы включить в целевой список только нужные блоки? |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
----- добавлено через ~16 мин. ----- а единственный порядок следования примитивов в БД чертежа - это их хэндлы (UID в виде 64-битных целых чисел) в порядке добавления в БД чертежа. Других явных признаков нет. |
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
Цитата:
----- добавлено через ~3 мин. ----- Все, дошло наконец. Первый вызов не (entnext nil). Там в качестве аргумента примитив (entlast), полученный перед копированием. ----- добавлено через ~7 мин. ----- Попробовал на 50 000 примитивов. Чувствуется лаг на несколько секунд на моем компьютере. Но он чувствуется и без фильтрации, и даже с отключенными реакторами. Так что особого влияния нет. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426
|
Он скорее захлебнется с объектными реакторами. И что-то мне сложно поверить, что у тебя будет несколько тысяч объектов. В конце концов, никто не мешает проверку вколотить в цикл сбора объектов.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
Цитата:
Копирование больших массивов - вполне обычная задача в моей практике. Там и под 100 тысяч примитивов может быть. Ну например сформировал 100 листов чертежей и надо потом что-то в них поменять, но оставить для удобного просмотра рядом оригинальный вариант. Замечу, что я работаю только в пространстве модели, листами не пользуюсь. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426
|
Касаемо "глубоких" реакторов и их поведения : https://autolisp.ru/2020/02/18/acdb-reactors/ Именно из-за этих и подобных приколок я предпочитаю "топорные" методы.
Какая связь между сотнями листов, их копиями "рядом" и списками примитивов - как-то не догоняю.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
Лист в данном случае - не автокадовская вкладка лист - а электронный эквивалент бумажного листа. Вот тут, например, 20 000 примитивов. Мне может понадобиться необходимость их скопировать в другое место пространства модели.
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426
|
Ну хочешь - попробуй мой код, посмотри, "захлебнется" кад или нет. Подозреваю, что все сработает корректно - основная проблема будет при прорисовке, но вряд ли при обработке списка.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
Цитата:
А как ты определяешь получаешь ссылку на объект, который изменяется, чтобы обработать его изменение в командном реакторе? |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426
|
Стоп. Командные реакторы у меня в реальных боевых условиях вообще слабо привязаны к объектам. Ну скопировал пользователь объект - и бог с ними, и с объектом, и с пользователем. Изменений объектов лично я предпочитаю непредсказуемо (для пользователя) не выполнять: лекарство может оказаться хуже болезни.
А необходимость "привязки" объектного реактора я бы делал примерно так: 1. В описании блока в словарь засунуть некую последовательность типа '("objreactor" . t). Решения в ынтырнетах есть ![]() 2. При открытии документа пройтись по всем описаниям блоков, найти те, у которых "надо привязывать" реактор 3. Пройтись по всем вхождениям таких блоков и прописать им объектный реактор 4. При выполнении команд копирования / вставки из буфера / внедрения стороннего файла как блока / внедрении внешней ссылки повторно выполнить п.3 --- Offtop: Хотя мне до сих пор кажется, что задачка своей сложностью выходит за рамки возможностей лиспа.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
Не в точку, а в точку на линии. И не попасть, а ограничить ввод. Нужно чтобы при выборе третьей точки резиновая линия была зафиксирована на прямой проходящей через первые две точки.
|
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
Цитата:
А так, например, построить отрезок временный по первым двум точкам, и пускай пользователь привязкой пользуется при выборе 3-ей точки. |
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
Цитата:
Если нет, то я эту третью точку пока думаю получать программно. Она будет на том же расстоянии от точки 2, что и указанная пользователем, но смещенная на линию 1-2. Этот вариант меня тоже устраивает, просто он чуть менее красив, чем если бы при выборе точки 3 резиновая линия изначально тянулась только по прямой 1-2. |
|||
![]() |
|
||||
Регистрация: 10.08.2013
Сообщений: 11,499
|
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,426
|
1. Режим может быть отключен пользователем
2. Никто не помешает вести перпендикулярно 3. Замучаешься обратно восстанавливать UCS
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 19.11.2014
Сообщений: 2,606
|
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |