Solo developer maouida has launched FluidCAD, a parametric CAD application that allows users to design 3D geometry by writing JavaScript code with real-time visualization. The Show HN post on Hacker News received 103 points and 20 comments, highlighting community interest in code-based CAD alternatives.
Developer Builds Hybrid Code-and-Mouse CAD System Over One Year
FluidCAD represents over a year of development work focused on reducing the mental effort required to create 3D models through code. The application combines traditional parametric CAD workflows with JavaScript programming, offering live rendering and visual guidance as users type. The developer built the tool with three core goals: maintaining familiarity for experienced CAD designers, minimizing mental overhead through automation, and delivering reasonable performance.
Key features include sketches, extrusions, fillets, shells, and boolean operations. The system supports STEP import and export with color preservation, enabling interoperability with traditional CAD software. Users can create linear and circular patterns and directly reference faces, edges, and vertices of existing shapes in their code.
Interactive Mouse Helpers Bridge Gap Between Code and Visual Design
What distinguishes FluidCAD from other code-based CAD tools is its hybrid approach combining mouse-driven prototyping with parametric code. The system provides three interactive modes for operations that are difficult to express in code alone: edge trimming, sketch region extrusion, and Bezier curve drawing. Users can drag objects in the viewport, then lock values into code for parametric control.
The application uses a non-destructive feature tree workflow, allowing designers to step through modeling history and revert changes without losing work. One capability the developer highlights is "the ability to transform features not just shapes," enabling modifications to the modeling operations themselves rather than only the resulting geometry.
Technical Foundation Built on OpenCascade.js WASM
FluidCAD's technical implementation leverages OpenCascade.js, a WebAssembly binding for BREP kernel capabilities. The architecture separates the 3D scene rendering (displayed in a webview) from code editing, which happens in the user's preferred local editor. Installation occurs via npm, with integration support for VS Code and Neovim.
The system employs intelligent caching to optimize performance. Scene objects are cached, and only updated objects are re-computed during editing sessions. Operations include smart defaults that automatically handle tasks like fusing intersecting objects together, eliminating the need for manual boolean operations in many cases.
Key Takeaways
- Solo developer maouida launched FluidCAD after over a year of development, combining JavaScript code with real-time 3D visualization for parametric CAD
- The tool provides three interactive mouse modes for edge trimming, sketch extrusion, and Bezier curves, bridging code-based and visual design approaches
- FluidCAD supports STEP import/export with color preservation and enables direct references to faces, edges, and vertices in code
- Built on OpenCascade.js WebAssembly with intelligent caching that re-computes only updated objects for performance
- The system features smart defaults for operations and automatic shape fusion, reducing manual boolean operation requirements