Show HN: FluidCAD – 使用 JavaScript 的參數化 CAD 工具
FluidCAD 是一款讓每個人都能使用的參數化 CAD 工具,透過編寫 JavaScript 即可即時查看 3D 幾何圖形,並具備非破壞性的建模歷史紀錄與互動式視窗操作。
背景
FluidCAD 是一款由開發者在業餘時間獨立開發超過一年的開源專案,旨在將 JavaScript 的靈活性與傳統參數化 CAD 的工作流結合。該工具主打「以程式碼驅動設計」,讓使用者能透過編寫腳本即時生成 3D 幾何模型,並提供類似主流 CAD 軟體的特徵樹歷史紀錄與互動式操作介面。
社群觀點
Hacker News 的討論主要圍繞在 FluidCAD 的底層技術架構及其在現有 CAD 生態系中的定位。許多開發者對其底層核心感到好奇,作者證實該專案是基於 OpenCascade 的 WebAssembly 版本構建。針對是否使用 AI 輔助開發的疑問,作者澄清核心架構是純手寫完成,僅在後期增加功能、提升測試覆蓋率與生成文件時才引入 Claude 等工具輔助。這種「手作感」獲得了社群的肯定,認為其在處理複雜幾何運算時展現了扎實的基礎。
在功能性方面,社群成員將其與 Maker.js 或 OpenSCAD 等既有工具進行比較。有觀點認為 Maker.js 較偏向 2D 與 CNC 加工的底層庫,而 FluidCAD 則更專注於 3D 設計與直觀的建模邏輯。特別是 FluidCAD 提供的「智慧預設值」與「形狀引用」功能受到好評,這讓使用者能直接引用場景中的邊緣或面,而不必進行繁瑣的數學計算。一位評論者將這種體驗比作當年的 Flash,認為它成功結合了設計工具的易用性與腳本語言的可擴展性,讓使用者能從簡單的繪圖逐步過渡到程式化生成設計。
此外,討論中也提到了一些進階的使用情境,例如在 Go 語言生態系中缺乏優質的 3D 模型生成工具,FluidCAD 的出現提供了一個具備潛力的替代方案。部分資深使用者則對其互動式操作寄予厚望,希望未來能更進一步實現類似 SketchUp 的「推拉」直覺感,但同時保持底層程式碼的參數化關聯。這種「程式碼驅動但具備 GUI 互動性」的混合模式,被認為是解決參數化建模門檻過高的有效路徑。
延伸閱讀
在討論串中,網友提到了幾個相關的開源專案與工具供參考。Maker.js 被提及作為 2D 向量設計的參考,而 OpenJSCAD 則是另一個歷史悠久、同樣基於 JavaScript 的 3D 建模工具。此外,對於想深入研究底層實作的開發者,FluidCAD 在 GitHub 上的原始碼庫中關於 OpenCascade 的封裝邏輯也是值得關注的技術細節。