Перейти к содержимому

4.1 ConstructorManifest

CAD-конструктор — чистая функция (params, work_area_size_mm) → ConstructorManifest: он не знает, где деталь лежит в рабочей зоне, работает только вычитанием, группирует шаги по инструменту и не держит магических чисел. Всё, что платформе нужно от конструктора, — в манифесте ниже: 10 полей и 3 вложенных схем.

Поля манифеста

полетипобязательноумолчание
template_idstringда
params_hashstringда
namestringда
descriptionstring?
stock_size_mmany[]да
stock_kindstringbox
stepsManifestStep[]да
tools_requiredToolRequirement[]да
target_stl_urlstring?
placementPlacement

Вложенные схемы

схемаполя
ManifestStepidx · name · op_params · op_type · required_tool · state_stl_url · summary
Placementrotation_deg · translation_mm
ToolRequirementdiameter_mm · flutes · label · material_compat · min_flute_len_mm · size_kind · type · used_in_steps

ManifestStep — один шаг = один инструмент: одинаковые операции одной фрезой не дробятся на шаги. ToolRequirement называет, какой инструмент нужен шагу, но не выбирает его: слот назначает человек в стволе станка. Placement — размещение относительно заготовки, не относительно стола.

Золотой образец конструктора в репозитории платформы — plate_with_holes.py.

Порождено из кода. Источник: backend/src/aicnc/models/constructor_manifest.py :: ConstructorManifest.model_json_schema()
Пересборка: bash /opt/synctwin/site/scripts/refresh-integrator.sh · снято 2026-09-11T20:07:30+00:00
Руками на этой странице написано: вводный абзац и пояснение к трём схемам