Наверняка вы сталкивались с тем, что модель, где использована операция "Придать толщину" ощутимо тормозит. При этом операция «Оболочка» вроде бы полностью аналогичной формы работает значительно быстрее. С чем это связано?
Как происходит создание оболочки с точки зрения программы?
Построим для примера подобную ёмкость, созданную поверхностью вращения.
Так будет выглядеть его оболочка.
Так - придание толщины.
МЦХ в обоих случаях идентично.
Создание оболочки для программы — это просто создание эквидистантного тела — набора взаимно пересекающихся эквидистантных поверхностей. Т.е. тоже самое действие, как и при создании эквидистанты поверхности.
Подробнее об этом можно почитать в книге Николая Николаевича Голованова «Геометрическое моделирование» в главе «Построение эквидистантной оболочки тела».
А вот для создания придания толщины требуется не только создать эквидистантное тело на каждой грани (не на всей поверхности), а потом произвести булевы операции по объединению этих тел между собой и с исходным телом или поверхностью. Время исполнения булевой операции зависит от количества гладко стыкующихся элементов. Всё это заметно даже в самом процессе команды "Придать толщину".
А так как булевы операции сами по себе не быстрые, да ещё и выполняются достаточно часто в один поток процессора, то и результирующая операция "Придать толщину" работает не очень быстро, ещё и при каждом перестроении, затронувшем геометрию, все булевы операции пересчитываются заново.
Таким образом лучше всегда стремиться использовать быструю операцию «Оболочка», а разница во времени объясняется тем, что операция "Придание толщины" кроме действий, аналогичных операции "Оболочка", выполняет булеву операцию с имеющимися телами.