This commit is contained in:
Кобелев Андрей Андреевич
2026-08-31 17:42:22 +05:00
commit da890f0293
221 changed files with 115325 additions and 0 deletions
+114
View File
@@ -0,0 +1,114 @@
# 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 градусов.