LuaCAD es una herramienta de diseño asistido por ordenador (CAD) paramétrico que permite escribir modelos 2D y 3D en Lua y exportarlos a formatos como 3MF, STL, OBJ, PLY, OFF, AMF y SCAD, además de renderizarlos directamente a PNG. La herramienta integra el intérprete Lua 5.4 dentro de un motor escrito en Rust, que evalúa operaciones de geometría constructiva sólida (CSG) directamente mediante la biblioteca Manifold, o genera código OpenSCAD para renderizado externo.
El proyecto apuesta por Lua por su similitud sintáctica con OpenSCAD —lo que facilita la migración— y por sus ventajas: mayor potencia, consistencia y velocidad, además de un sistema de sobrecarga de operadores que permite escribir expresiones CSG de forma natural (a + b, a - b, a * b). Lua ya se emplea en otros programas CAD como LibreCAD 3 y Autodesk Netfabb.
La distribución se realiza en dos paquetes instalables con cargo: luacad (CLI para ejecutar y convertir scripts) y luacad-studio (aplicación de escritorio con vista previa 3D en tiempo real). Ambos distribuyen sus dependencias en C/C++ y solo exigen un compilador de C++ y CMake. luacad-studio añade OpenCSG y cabeceras de desarrollo de OpenGL en sistemas Linux.
El CLI incluye comandos para convertir, vigilar cambios en archivos, renderizar a PNG, mostrar metadatos (recuento de triángulos y caja envolvente), pasar el linter selene y ejecutar el script. Dispone de soporte completo para BOSL2 (Belfry OpenSCAD Library v2) reimplementada en LuaCAD, lo que permite usar engranajes, prismas, cuboides redondeados y otras primitivas sin tener OpenSCAD instalado. Las funciones text() y text3d() convierten tipografías del sistema en geometría real, e import() lee mallas en cualquier formato soportado —SVG y DXF devuelven sketches 2D listos para extruir.
En exportación a 3MF, cada valor devuelto por el script se convierte en un objeto independiente que el slicer puede mover por separado; el resto de formatos aplana la geometría en una única malla.
