LuaCAD: parametric CAD dengan Lua dan WebAssembly
LuaCAD memakai Lua untuk membuat model CAD parametrik, dengan playground browser dan export ke beberapa format 3D.
OpenSCAD populer karena model 3D dapat ditulis sebagai kode. LuaCAD mengambil ide yang sama, lalu mengganti bahasa scripting-nya dengan Lua dan menambahkan engine Rust di belakangnya. Hasilnya adalah workflow CAD yang terasa lebih dekat ke pemrograman umum, tanpa menghilangkan operasi constructive solid geometry.
1. Apa itu LuaCAD?
LuaCAD adalah tool untuk membuat model 2D dan 3D parametrik menggunakan Lua. Halaman resminya menyediakan playground berbasis browser; engine berjalan sebagai WebAssembly sehingga pengguna dapat mencoba contoh tanpa instalasi lokal dan tanpa mengunggah script ke server, menurut keterangan project.
2. Apa yang berbeda dari OpenSCAD?
LuaCAD memakai operator seperti `a + b`, `a - b`, dan `a * b` untuk operasi CSG. Contoh resminya membuat cube dan sphere, lalu menggabungkannya lewat fungsi Lua. Pendekatan ini memberi akses ke struktur bahasa yang lebih umum, seperti function dan module, sementara konsep model parametrik tetap dipertahankan. Klaim bahwa LuaCAD lebih baik dari OpenSCAD adalah opini pengembang dan belum menjadi hasil perbandingan independen.
3. Stack dan output
Project ini menggunakan Lua 5.4 di dalam engine Rust, dengan Manifold untuk membuat mesh dan opsi menghasilkan OpenSCAD code. Model dapat diekspor ke 3MF, STL, OBJ, PLY, OFF, AMF, atau SCAD. CLI-nya juga menyediakan perintah untuk convert, watch, render, info, lint, dan run.
4. Mengapa menarik untuk maker?
Scriptable CAD cocok untuk desain yang perlu diulang dengan parameter berbeda. Perubahan ukuran atau jumlah bagian dapat dilakukan lewat kode, bukan dengan mengedit banyak titik secara manual. Playground browser menurunkan biaya mencoba, sedangkan CLI dan desktop app memberi jalur untuk workflow yang lebih serius.
LuaCAD belum otomatis menggantikan semua tool CAD. Namun, kombinasi Lua, Rust, WebAssembly, dan export format yang luas membuatnya layak dicoba oleh developer yang ingin membuat objek 3D dengan workflow reproducible.
Referensi: https://luacad.ad-si.com