Inspiration

As a student, getting access to a 3D printer for the first time was incredibly exciting, but that excitement quickly hit a brick wall: the design phase. I needed a very specific mechanical mounting bracket for a project. After spending hours scouring multiple 3D model repositories and coming up empty-handed, I realized I had to design it myself. I opened TinkerCAD and traditional CAD software, only to be overwhelmed by the steep learning curve, clunky UIs, and tedious manual alignment. I kept thinking, "I know exactly what this part looks like in my head and what its dimensions are. Why can't I just describe it to the computer?" That frustration was the spark for RockyCAD: an AI-driven bridge between natural language and manufacturable 3D geometry.

What it does

RockyCAD is a fully browser-based, AI-driven CAD co-pilot. Unlike standard AI image-to-3D generators that output messy, uneditable meshes, RockyCAD translates your plain English directly into precise, parametric OpenSCAD code.

You simply type a prompt (e.g., "Generate a mechanical flanged bearing block with 5mm mounting holes"). The AI compiles the Constructive Solid Geometry (CSG) tree on the fly and streams it into an interactive WebGL canvas. It also functions as a full sub-studio: you can use built-in transform gizmos, measurement tools, and precision sliders to manipulate the generated shapes. Crucially, every physical change made on the 3D grid automatically two-way syncs, instantly generating the precise OpenSCAD code in the Developer window. Once finished, a single click exports a Manufacturing Pack (a ZIP containing both the raw .scad script and the compiled .stl mesh), ready for 3D slicing.

How we built it

I engineered RockyCAD using a modern, serverless web stack. The frontend is built with Next.js and Tailwind CSS for a responsive, mobile-friendly UI. The 3D interactive workspace is powered by React Three Fiber and Three.js, allowing for smooth WebGL rendering directly in the browser.

(Note: Rather than a standard RAG pipeline, which is better suited for text retrieval, RockyCAD uses a highly optimized System Prompt Engineering pipeline. I crafted strict topological constraints to force the LLM to output valid, compile-ready OpenSCAD syntax using mathematical primitives rather than hallucinating geometry.)

Challenges we ran into

One of the most complex challenges was maintaining state synchronization between the AI-generated code and the interactive 3D viewer. Ensuring that when the AI generated an object, it accurately translated into React Three Fiber meshes—and vice versa—required intricate state management.

Additionally, I spent hours debugging complex UI/UX layering issues, specifically ensuring that dynamic elements like context menus (z-index overlaps) and the mobile responsive layout didn't break the user experience when interacting with the 3D canvas. Finally, handling the file system natively in the browser to accurately bundle the active canvas state and the raw code into a downloadable ZIP archive required completely bypassing traditional server-side file handling.

Accomplishments that we're proud of

I am incredibly proud of the real-time two-way synchronization. Getting the application to a point where a user can visually drag an object with a transform gizmo on the 3D grid, and instantly watch the raw OpenSCAD code rewrite itself to match the new coordinates in the Developer terminal, was a massive technical breakthrough. It proves that the software isn't just a gimmick—it's a functioning, code-native engineering tool.

What we learned

This project drastically leveled up my skills in 3D web graphics using React Three Fiber. I learned how to bridge LLM outputs with spatial and mathematical logic, pushing beyond standard text generation into functional code generation. I also learned a hard lesson in UI architecture and how critical state management is when building a single-page application that handles heavy, live-rendering workloads.

What's next for RockyCAD

RockyCAD V1 proves that serverless, code-native 3D design can be instantaneous. The future of this platform lies in completely bridging the gap between natural language and complex mechanical engineering. My roadmap includes expanding the Component Library, supporting highly complex organic shapes alongside mechanical parts, and eventually evolving this into a professional commercial tool with a paid tier that democratizes CAD and drastically accelerates rapid prototyping for enterprises.

Built With

Share this project:

Updates

Submission history