Ошибка no face pair появляется при обработке полигональной сетки 3D-модели, когда программа обнаруживает ребро, у которого нет парной грани — то есть геометрия «разомкнута» и не образует замкнутый объём. Такое сообщение можно встретить в слайсерах, репейр-утилитах и CAD-пакетах при попытке проверить или починить STL/OBJ-файл: алгоритм ожидает, что каждое ребро принадлежит ровно двум треугольникам, и отмечает нарушение как дефект.

Практическое последствие простое: слайсер может неправильно нарезать модель, оставить дыры в стенках, сгенерировать лишние перемещения или вовсе отказаться строить G-код. Поэтому игнорировать предупреждение не стоит — ниже разберём, откуда берётся разрыв сетки и как вернуть модели корректную «водонепроницаемую» геометрию.

Что означает no face pair с точки зрения геометрии

Полигональная модель для 3D-печати должна быть замкнутым многообразием (manifold): каждое ребро соединяет ровно две грани, вершины сшиты без дублей, нормали смотрят наружу. Ошибка no face pair сигнализирует, что это условие нарушено — найдено ребро, принадлежащее только одной грани, либо грань, для которой не нашлось соседней пары.

Типовые проявления дефекта:

  • 🕳️ Отверстия в сетке — удалённые или потерянные треугольники, через которые «видно» внутренность модели.
  • ✂️ Разрезанные рёбра — две части модели визуально соприкасаются, но вершины не сшиты, и между ними есть микрозазор.
  • 🔁 Вывернутые нормали — часть граней ориентирована внутрь, из-за чего алгоритм не может сопоставить пары.
  • 📎 Дублирующиеся вершины — две точки занимают одну координату, но считаются разными, и сшивка не происходит.
⚠️ Внимание: модель может выглядеть целой на экране и при этом содержать десятки разрывов. Визуальный осмотр в слайсере не заменяет проверку сетки — дефекты часто скрыты внутри или в местах стыка деталей.

Откуда берутся разрывы сетки

Чаще всего проблема приходит из исходного моделирования. Булевы операции (вычитание, объединение) в CAD-редакторах — классический источник «битой» геометрии: при пересечении сложных поверхностей образуются микроскопические щели и непарные рёбра. Особенно это заметно при экспорте из программ, работающих с NURBS-поверхностями, в полигональный формат STL.

Вторая частая причина — конвертация и повторный экспорт. Модель, скачанная из интернета, могла пройти через несколько редакторов, и на каждом этапе терялась точность координат. Вершины, которые должны совпадать, «разъезжаются» на доли миллиметра, и сшивка рёбер становится невозможной.

Третий сценарий — ручное редактирование сетки: удаление граней без последующего закрытия отверстий, перемещение вершин без привязки, зеркалирование частей без объединения. Если вы сами правили модель в Blender, Meshmixer или аналогичном редакторе, начинайте проверку именно с изменённых участков.

📊 Где вы столкнулись с ошибкой no face pair?