Show HN: LuaCAD – Parametric CAD Scripted in Lua

adius 89 points 17 comments August 14, 2026
luacad.ad-si.com · View on Hacker News

LuaCAD models solids in Lua rather than the OpenSCAD language, with operator overloading for CSG (`a + b`, `a - b`, `a * b`). It ships with a CLI and a desktop app, including a preview area and a text editor. I've always been a big fan of OpenSCAD, but the SCAD language itself is unfortunately quite cobbled-together and is a very poorly designed programming language. LuaCAD takes all the good parts of OpenSCAD and combines them with one of the best scripting languages. It has now completely replaced OpenSCAD for me, and I think it provides a better experience than OpenSCAD for all use cases. I'd love to hear any reasons why LuaCAD shouldn't fully replace OpenSCAD! It’s fully open source and you can find the repo here: https://github.com/ad-si/LuaCAD Tech stack: - It's implemented in Rust and uses mlua ( https://github.com/mlua-rs/mlua ) to execute the Lua code. - Uses OpenCSG ( https://opencsg.org ) for fast and correct rendering of the 3D models (like OpenSCAD) - Uses Manifold ( https://github.com/elalish/manifold ) to create the manifold triangle meshes - Native support for all BOSL2 functions (i.e. implemented in Rust for better performance)

Discussion Highlights (6 comments)

tolugenius

Really interesting! I actually use freecad so I'm use to that layer of the process but I'll check this out. Also good to see the work being done in modeling software these days

WillAdams

Is it able to access the file system and write/read files? I've been doing that via PythonSCAD for my current project https://github.com/WillAdams/gcodepreview and it might be interesting to do a re-write in another language.

manny_rat

Love it! OpenSCAD has very painful syntax. Is it possible to easily do bevels/chamfers or does it have the same limitations as OpenSCAD there?

fhn

Does this have a web-based playground? I find https://www.pythonscad.org/playground/ to be nice to try out the project.

adastra22

Isn't OpenSCAD's limited (non-Turing complete) language a feature?

lkjdsklf

The change history on this repository is fascinating

Semantic search powered by Rivestack pgvector
4,128 stories · 37,281 chunks indexed