«No supports» в описании модели часто означает «у автора получилось». Покупатель узнаёт правду через три часа печати, когда над пустотой повисает спагетти. Мы делаем модели на продажу и хотели ловить такие места до публикации, а не по отзывам. Ниже наш порядок проверки: что считаем, какие пороги выбрали и на каких моделях это нас уже спасло. Идея: нарезать модель самим Слайсер умеет показать нависания, но его вывод неудобно проверять автоматически. Поэтому до слайсера мы режем STL на горизонтальные сечения с шагом слоя (0,2 мм) и сравниваем каждый слой с предыдущим как плоские многоугольники. Инструменты обычные для Python: trimesh для сечений, shapely для геометрии на плоскости. На модель средней сложности уходят секунды. Всё, что описано ниже, считается по тому самому STL-файлу, который потом скачает покупатель (файл перечитывается с диска, отчёт привязан к его хешу). Так проверка не «врёт» из-за того, что проверяли одну версию, а выложили другую. Проверка 1