# Senior OpenSCAD review Дата проверки: 2026-08-31. Целевая версия: OpenSCAD 2021.01. ## Итог После исправлений модель рендерит замкнутые простые тела для мастера, кожуха, резака, фиксирующих штифтов и площадки в OpenSCAD 2021.01. Архитектурный статус - **WATCH**: цифровая геометрия пригодна для пробного производства, но соответствие фильтру и итоговая усадка должны быть подтверждены физическим циклом. Финальная рекомендация по цифровым артефактам: **APPROVE**. Запуск физического тиража остается после одной контрольной заливки, осевого съема и пробного обжига, поскольку трение, разделитель и фактическую усадку код не доказывает. ## Исправлено ### HIGH - локальный обратный уклон `dimpled_grid` До исправления периодические вмятины могли уменьшать радиус при движении к устью, из-за чего одночастная гипсовая форма могла закусить мастер. Глубина скорректирована, рельеф затухает у краев, а для любого выбранного стиля теперь считается `min_draft_step`. Отрицательное значение выводится как ошибка в Console. ### HIGH - отсутствовал раскрой стенки Добавлены: - `part = "clay_blank_2d"` для опорного DXF/SVG-контура; - 22 трехстраничных A3 PDF 1:1: 11 стилей для каждого размерного пресета; - четыре индивидуальных стилевых сектора с порядком сборки 1-2-3-4; - SVG и JSON с рассчитанными размерами; - воспроизводимый генератор `tools/generate_a3_templates.py`. ### MEDIUM - неплоские боковые грани Кольца текстурированной поверхности соединялись четырехугольниками. В OpenSCAD 2021.01 это приводило к `PolySet has nonplanar faces` и запасному пути CGAL. Боковые грани разбиты на треугольники. После исправления предупреждение не появляется. ### MEDIUM - расчет полости зависел от глобального стиля `hollow_master_shell(style)` принимал стиль, но внутренние радиусы считались по глобальному `surface_style`. Внутренний зазор теперь вычисляется функциями для переданного стиля. ### MEDIUM - невалидные custom-параметры Добавлены `assert()` для процента усадки, толщин, отношения скругления, размеров отверстия резака, высоты крышки носика, диаметров, `part` и `surface_style`. Ошибка теперь возникает рядом с причиной, а не внутри CGAL. ## Что в модели сделано хорошо - Части разделены на мастер, кожух, площадку, резак и previews. - Компенсация усадки вынесена в параметры. - Толщина полого мастера проверяется по сетке реальной поверхности. - Мастер и резак уже ориентированы для печати без поддержек. - Кожух дает около 27 мм гипса вокруг широкой части и фиксируется верхними седлами/штифтами. - По умолчанию геометрия не копирует фирменный рельеф V60. ## Оставшиеся ограничения ### WATCH - усадка задана одним числом `clay_shrink_percent = 12` предполагает одинаковую линейную усадку по высоте и диаметру. Реальная масса может быть анизотропной и зависит от режима сушки, обжига и толщины. Перед серией измерьте 100-мм тестовую линейку и один полный прототип. ### WATCH - высота мастера содержит эмпирическую поправку `master_height` использует `clay_slab_thickness * 0.7`. Это разумный старт, но не геометрический инвариант. Корректируйте `custom_target_inner_height` по результату первого обжига. ### WATCH - точный плоский раскрой рельефа невозможен Талия и рельеф создают ненулевую гауссову кривизну. Однодетальный сектор совпадает по верхней и нижней окружностям, но требует сжатия в средней зоне. Четыре узких сектора уменьшают ошибку, однако окончательная геометрия все равно формируется пластической деформацией в гипсе. Готовый A3-генератор считает все 11 стилей отдельно, включая углозависимые меридианы и поперечные дуги. Это уменьшает, но не отменяет пластическую доводку мягкой глины в форме. Отдельные PDF создаются для `v60_01` и `v60_02`. ### WATCH - фильтр 01/02 не подтвержден физически Значения пресетов практические, а не опубликованные внутренние размеры Hario. Проверьте посадку конкретной пачки фильтров, высоту над чашкой и скорость пролива до тиражирования формы. ## Свежая проверка OpenSCAD 2021.01 Проверены F6/экспорт: - `master` - simple 3D object, STL создан; - `box` - simple 3D object, STL создан; - `mount_pins` - simple 3D object, STL создан; - `support_cutter` - simple 3D object, STL создан; - `support_plate` - STL создан; - `clay_blank_2d` - DXF создан; - `support_plate_2d` - DXF создан. Для default `smooth_sculpted`, draft: минимальная расчетная стенка больше 3.6 мм, обратный уклон не найден, фактический минимальный угол съема по сетке больше 22 градусов. Наиболее требовательный `dimpled_grid` автоматически получает `release_scale` около 0.93 и сохраняет угол выше production-минимума 5 градусов.