|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Ну можно еще сократить количество вызовов imprintEntity если смотреть пересечение не габаритных контейнеров, а наличие взаимного пересечения AcBrFace пары тел.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
![]() |
|
||||
прохраммист ObjectArx Регистрация: 01.11.2010
Сообщений: 40
|
Как я понимаю, придётся проверять пересечение каждой грани одного тела с каждой гранью второго. Утечку с импринтом я вычислил на чертеже из нескольких сотен деталей, по 2-3 тысячи граней в каждой. BREP там вообще страдает очень сильно, от таких моделей.
----- добавлено через ~2 мин. ----- Offtop: Зарегистрировался на вашем сайте (по ссылке в подписи). Антибот у вас там впечатляющий... Нигде столь усиленной проверки не встречал. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Важны детали - что есть - должны совпадать?? Найти грани которые точно равны, пересекаются, одна грань полностью лежит внутри другой, частично и пр. Нарисуйте пример и укажите что нужно - если конечно видите в этом смысл. По моей практике, в большинстве случаев, все подобные "геометрические" задачи имеют "резервы" к упрощению (к усложнению алгоритма - но росту производительности).
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
коротко - т.к. с телефона, вариант оптимизации каждого к каждому - копию каждого тела немного отмасштабировать относительно центра, чтоб касающиесия тела начали пересекаться, а затем последовательно объединять их все в одно тело, анализируя объем до и после - если ‘прирост‘ оказался меньше объема тела, значит оно заползает на какое либо из уже добавленных - то есть с ними надо будет проверить импринт, если прибавка к объему = объему тела -то его можно не проверять.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
прохраммист ObjectArx Регистрация: 01.11.2010
Сообщений: 40
|
Вот это кстати неплохая идея. Только не объединять в одно тело, а найти объём на пересечении тел (выполняется мгновенно даже на сложных телах). Вычисление объёма слишком трудозатратная операция. На сложных телах (особенно построенных лофтингом по сплайнам) может занимать часы или вообще вешать Автокад.
В принципе идея понятна. Можно будет отфильтровать тела, чьи габаритные контейнеры пересекаются, но контакта тел нет. Только от утечки памяти на импринтах, которые всё же есть, это не избавит.( |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Я с таким моделями еще не сталкивался, но в общем верю. По моей практике анализ через однократное сложение тел идет быстрее чем сверка каждого к каждому.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
|
||||
прохраммист ObjectArx Регистрация: 01.11.2010
Сообщений: 40
|
Только вот эта проверка лишь сообщит о факте контакта, а вот с каким из уже сбуленных тел этот контакт происходит - неизвестно. Т.е. опять придётся проверять каждый с каждым. Но, хотя бы, можно отсечь заведомо не контактирующие тела, у которых габаритные контейнеры пересекаются.
В ADN утечки признали вроде, может хоть в 2016 каде поправят и будет мне счастье. |
|||
![]() |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,839
|
Не совсем каждый к каждому - проверять только те которые "просигнализировали", к тем, которые уже проверены до него. До кучи - если есть ограничения по возможным вариантам взаиморасположения (они как правило есть - надо только посмотреть внимательно), вполне возможно что достаточно будет проделать ту-же процедуру сложения тел, но в обратном порядке.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как бороться с ошибкой выделения памяти | ratkill | SCAD | 14 | 07.09.2015 16:20 |
VBA: утечка памяти при вставке блоков | Mikha | Программирование | 13 | 03.04.2009 09:18 |
При запуске Lisp идет утечка памяти | Name | LISP | 6 | 24.07.2007 14:36 |
Утечка памяти | mental | Программирование | 2 | 22.02.2007 07:40 |
Лира 9.2 + 1 Гб оперативной памяти | nikе | Лира / Лира-САПР | 3 | 28.01.2006 19:02 |