Почему меш, который выглядит нормально, всё равно не работает
Модель может безупречно отображаться и при этом быть непригодной. Слайсерам, булевым операциям и расчётным пакетам нужно нечто большее, чем «выглядит правильно»: им нужен меш, описывающий замкнутое тело с согласованной ориентацией граней. Этот анализатор проверяет, так ли это.
Проверки и что каждая из них означает на самом деле
Немногообразные рёбра — ребро, принадлежащее трём и более граням. У реальных поверхностей такого не бывает; обычно это следствие небрежного объединения двух оболочек или забытой внутренней стенки. Слайсер либо откажется от файла, либо выдаст в этом месте бессмыслицу. Это самая серьёзная находка.
Отверстия и граничные контуры — рёбра, принадлежащие лишь одной грани. У замкнутого тела их нет ни одного. Каждый граничный контур — это одно отверстие, а у меша с отверстиями нет определённой «внутренности», поэтому слайсер не может понять, что заполнять.
Вырожденные треугольники — грани нулевой площади: либо две вершины совпали, либо все три точки лежат на одной прямой. Они не несут информации о поверхности, ломают расчёт нормалей и приводят к делению на ноль в дальнейшей обработке.
Дублирующиеся грани — один и тот же треугольник, сохранённый дважды. Удваивает поверхности, путает проверки «внутри/снаружи» и впустую занимает место.
Несогласованное направление обхода — соседние грани расходятся во мнении о том, где наружная сторона. Даёт участки, отрисованные наизнанку, и лишает смысла расчёт объёма.
Несвязанные оболочки — отдельные куски геометрии без общих вершин. Совершенно нормально для составной модели и тревожный признак для того, что должно быть единым телом.
Изолированные вершины — точки, на которые не ссылается ни один треугольник. Безвредны, но выдают неаккуратное моделирование.
Самопересечения — треугольники, проходящие сквозь друг друга. Меш может быть замкнутым и многообразным и всё равно физически невозможным. Эта проверка необязательна, потому что она дорогая: на крупных мешах выполняется выборочно, о чём тут же сообщается.
Сварка вершин идёт первой
Файл STL — это неиндексированный «суп из треугольников»: каждый треугольник несёт собственные три вершины, и соседние треугольники не знают, что они соседи. Если анализировать такой файл как есть, каждое ребро выглядит границей, и результат оказывается бессмысленным.
Поэтому перед любой работой с топологией анализатор сваривает вершины по пространственному хешу. Именно благодаря этому он вообще способен сказать что-то осмысленное об STL, и именно поэтому важен допуск: слишком малый — и настоящие соседи останутся разделёнными, слишком большой — и различимые детали схлопнутся.
Замкнутость и многообразие
Эти два главных вывода и есть то, что большинство людей на самом деле хочет узнать. Замкнутый (водонепроницаемый) означает отсутствие отверстий и немногообразных рёбер — меш ограничивает определённый объём. Многообразный означает, что каждое ребро принадлежит ровно двум граням. Модели нужно и то и другое, прежде чем слайсер сочтёт её твёрдым телом и прежде чем цифра объёма начнёт хоть что-то значить.
Приватность
Анализ выполняется целиком в вашем браузере. Ничего никуда не отправляется.
Tiny Online Tools







