Лучшие практики

Подписаться на эту рубрику по RSS

Делай так

Проверка геометрической точности граничных элементов

В ядре OpenCascade всякий граничный элемент содержит информацию о собственной геометрической неточности. Мы называем ее «допуск» (tolerance), но следует держать в уме, что речь идет о геометрической ошибке, связанной с самой математикой формы. В стандарте STEP эта неточность именуется «uncertainty». Она трактуется как максимальный зазор между граничными элементами, описывающими цифровое изделие. Если уподобить граничное представление лоскутному одеялу, то геометрический допуск есть невидимая глазу брешь между лоскутами.

Источников геометрической неточности предостаточно. К ним относятся булевы операции, разнообразные аппроксиматоры, алгоритмы предобработки геометрии и проч. Как вариант, продолжительная серия булевых операций с «неудачно» расположенными операндами может привести к заметной деградации точности. Это происходит из-за того, что булев алгоритм, как правило, предпочитает «раздуть» геометрический допуск существующих граничных элементов вместо создания новых. В конечном итоге, само машинное представление вещественных значений ограничивает точность моделирования даже без использования каких-то численных методов.

Угадать, что именно произойдет с точностью формы после воздействия оператора моделирования, вообще говоря, невозможно. Нормальный человек даже не подозревает о существовании каких-то там неточностей вплоть до момента, когда ядро начинает «внезапно» лажать. Разобраться в том, где именно «заискрило» — задача нетривиальная. Для поиска источника проблемы бывает не обойтись без специального диагностического «оборудования». С этой целью и была однажды состряпана программа Анализ Положения, о которой мы говорим едва ли не в каждой заметке.

Сегодня не исключение. Чтобы проанализировать геометрические допуски модели существует команда check-toler. Она извлекает минимальную и максимальную неточности модели и подкрашивает граничные элементы в соответствии с их положением в этом интервале. Чем «теплее» цвет, тем выше допуск и, следовательно, хуже качество вершины, ребра или грани.

Инспекция геометрической неточности в Analysis Situs.