Проверяет OpenSCAD-скрипт на типичные ошибки, которые часто допускают LLM при генерации кода: незакрытые скобки, отсутствующие точки с запятой, неправильные аргументы примитивов, устаревший синтаксис и т.д.
.scad уже должен существовать. Напишите его заранее через filesystem write.mcp__navi_3d__lint_scad(
session_id="...",
source_path="bracket.scad"
)
| Параметр | Обязательно | Описание |
|---|---|---|
session_id |
Да | UUID текущей сессии Navi. Файлы разрешаются внутри session_files/<session_id>/. |
source_path |
Да | Путь к существующему .scad-файлу (внутри сессии или абсолютный) |
filesystem write session_files/sess-abc/bracket.scad '
difference() {
cube([40, 20, 5], center=true);
translate([15, 0, 0]) cylinder(h=6, d=4, center=true);
}
'
mcp__navi_3d__lint_scad(
session_id="sess-abc",
source_path="bracket.scad"
)
Если линт нашёл проблемы — исправьте .scad через filesystem edit и запустите линт повторно.
После чистого линта:
mcp__navi_3d__compile_scad(
session_id="sess-abc",
source_path="bracket.scad",
output_path="bracket.stl"
)
При успехе (ошибок нет):
Lint passed: no issues found.
При ошибках:
Lint errors (3): line 7: missing semicolon after cylinder() line 12: unexpected token '}' line 15: unknown parameter 'radiu' in cylinder (did you mean 'r' or 'd'?)
openscad_compile_error.session_id — без него инструмент не знает, в какой директории искать файлы.