Newer
Older
navi-1 / manuals / render_3d.md

mcpnavi_3drender_stl

Что делает

Рендерит PNG-скриншоты ракурсов из STL-файла через OpenSCAD CLI.

Требует: OpenSCAD установлен в системе (openscad в PATH).

Предпосылки

  1. STL-файл уже должен существовать. Сгенерируйте его через mcp__navi_3d__compile_scad заранее.
  2. OpenSCAD должен быть установлен.

Формат вызова

mcp__navi_3d__render_stl(
    session_id="...",
    source_path="bracket.stl",
    views=["iso", "front", "top"]
)

Параметры

Параметр Обязательно Описание
session_id Да UUID текущей сессии Navi. Файлы разрешаются внутри session_files/<session_id>/.
source_path Да Путь к существующему .stl-файлу (внутри сессии или абсолютный)
views Нет Список ракурсов (макс. 3). Доступные: front, back, top, bottom, left, right, iso. По умолчанию ["iso"].

Доступные ракурсы

Ракурс Описание
front Вид спереди
back Вид сзади
top Вид сверху
bottom Вид снизу
left Вид слева
right Вид справа
iso Изометрия (по умолчанию)

Workflow

1. Сгенерировать STL

mcp__navi_3d__compile_scad(
    session_id="sess-abc",
    source_path="bracket.scad",
    output_path="bracket.stl"
)

2. Отрендерить ракурсы

mcp__navi_3d__render_stl(
    session_id="sess-abc",
    source_path="bracket.stl",
    views=["iso", "front", "top"]
)

3. Проверить рендеры

Каждый PNG сохраняется рядом с STL с суффиксом вида:

  • bracket.iso.png
  • bracket.front.png
  • bracket.top.png

Обычно эти PNG нужны Нави для внутренней проверки геометрии перед публикацией STL. Откройте их через image_view и проверьте форму, пропорции и физическую корректность.

Не публикуйте PNG пользователю, если пользователь явно не попросил preview-картинки.

image_view(source="session_files/sess-abc/bracket.iso.png")
image_view(source="session_files/sess-abc/bracket.front.png")
image_view(source="session_files/sess-abc/bracket.top.png")

Что возвращает

При успехе:

Generated 3 image(s):
  bracket.iso.png
  bracket.front.png
  bracket.top.png

При ошибке:

  • openscad_not_found — OpenSCAD не установлен
  • stl_not_found — исходный файл не найден
  • too_many_views — больше 3 ракурсов за раз
  • invalid_views — неизвестное имя ракурса
  • render_failed — все рендеры не удались

Важные правила

  1. Максимум 3 ракурса за вызов — если нужно больше, разбейте на несколько вызовов.
  2. Фиксированное разрешение — 400×300, не настраивается.
  3. PNG сохраняются рядом с STL — в той же директории, с суффиксом ракурса.
  4. Всегда preview mode — быстрый рендер, не полный CSG.
  5. Не склеивает в сетку — каждый ракурс — отдельный файл. PNG обычно нужны для внутренней проверки; публикуйте их только по явной просьбе пользователя.
  6. Всегда передавайте session_id — без него инструмент не знает, в какой директории искать файлы.