|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Разное время ssget при разнесенных примитивах и собранных?
Регистрация: 30.03.2015
Сообщений: 118
|
||
Просмотров: 2554
|
|
||||
SSGET и наборы очень медленно работают. Если нужно быстродействие, получайте все нужные полилинии чертежа с помощью (ssget "_X" '((0 . "LWPOLYLINE"))) (<- тут могу наврать, пишу по памяти), сразу конвертируйте набор в список и в этом списке ищите состыкованные полилнии функциями AutoLISP.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,002
|
как я уже говорил, для ускорения поиска лучше строить собственное дерево
https://github.com/rpav/spatial-tree...r/r-trees.lisp |
|||
![]() |
|
||||
Регистрация: 30.03.2015
Сообщений: 118
|
Цитата:
![]() ![]() потом пошел через рекурсию и ssget - время для 180 тыс полилиний уменшилось до полчаса-час эх может и так, спасибо за код, но для этого надо код понять, чтобы адаптировать для себя (а как то 300 строчек кода ![]() идея конечно есть использовать сортированный список в рекурсии, но неизвестно как поможет... может еще идеи есть? и так просто интересно почему при разнесенном чертеже время ssget больше? (количество элементов одинаково в чертежах - во втором я просто разнес) |
|||
![]() |
|
||||
Регистрация: 18.12.2010
Сообщений: 5,002
|
|
|||
![]() |
|
||||
Может быть, с помощью встроенных методов объединения полилиний побыстрее будет? Гляньте Pl-Join из пакета PL-Tools: https://dwg.ru/dnl/607
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,648
|
Еще есть Chain Selection от Lee Mac.
|
|||
![]() |
|
||||
Регистрация: 30.03.2015
Сообщений: 118
|
что то не пошел, но спасибо код очень красивый - для себя постараюсь разобраться почему не сработал , хоть вроде точность выставлял...
с деревьями не разбирался,но спасибо.... Цитата:
![]() может конечно не правильно понял, но вродебы все делает сам АВТОКАД, а все остальное обертка типа вывод количества полилиний,задания ошибки и т.д, а сама команда Код:
Спасибо ![]() |
|||
![]() |
|
||||
Цитата:
![]() Быстро объединяет?
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
![]() |
|
||||
Регистрация: 20.03.2008
Сообщений: 2,648
|
Цитата:
Вроде как вопросом топика был выбор, а не объединение: А дальше предполагалось объединение с помощью _pedit. PL-Join, конечно, делает всё и сразу. |
|||
![]() |
|
||||
Регистрация: 30.03.2015
Сообщений: 118
|
Цитата:
полностью согласен, интересно было...ну а задача хотелось объединять (ну оно у меня и чистит полилинии) ... все равно спасибо "skkkk"=код chain понравился п.с насчет _pedit и PL-Join: проверял на наборе 360тыс полилиний _pedit =>тут оказалось автокад задумался время выдал обработки 26 минут скорее всего PL-Join выдаст тоже самое (там же аналогичная строка)... у меня в рекурсии (простейшая, бьет блоки по 2,5тыс) с очисткой точек в полилинии => 2 минуты так что для ускорее слияния - применяйте рекурсию (это так вдруг кто будет еще читать) Спасибо всем огромное - подсказали и помогли ![]() |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,490
|
Только в рекурсии autolisp'a есть недокументированное ограничение - кажется, не больше 19000 вызовов (где-то на форуме проскакивало).
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 30.03.2015
Сообщений: 118
|
Цитата:
У меня при большом количестве == ограничение на наборы проскакивало (не помню точно ограничения - 128, вродебы, это давно известно -не раз писалось...решил сбросом наборов) .... а насчет рекурсии буду иметь введу, вечером проверю и отпишусь ("знание-сила"). Спасибо ![]() ----- добавлено через ~8 мин. ----- Перепроверил 19972 (на автокаде 2014), рекурсий потом завершалось без ошибки.... Спасибо ![]() ----- добавлено через ~4 ч. ----- конечно странно число макс 19972 могли бы круглое число поставить |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как автоматически добавлять к имени файла дату и время его создания при сохранении | Denis Ch | Программирование | 41 | 10.01.2020 10:58 |
AutoLisp. Как получить текущее время? | Zaghim | LISP | 5 | 04.07.2012 14:06 |
Почему при подключенных модулях VBA увеличивается время сохранения чертежа? | МишаИнженер | Программирование | 15 | 28.04.2012 09:14 |
Какое время отклика на LSD оптимально для Акада? | Maximum | AutoCAD | 10 | 31.01.2006 12:34 |
Можно ли подсветить грипсы во время выполнения команды? | Torino | Программирование | 9 | 18.11.2004 19:38 |