115 lines
7.4 KiB
Markdown
115 lines
7.4 KiB
Markdown
# 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 градусов.
|