Inspiration
As an architect, computational designer, and MBA student with strong interests in business analysis and business development, I constantly observe a gap between powerful design tools and real-world productization. Parametric modeling environments like OpenSCAD offer immense potential—but only to those who can write code. This limitation inspired me to build a system that not only advances computational design, but also holds strategic value from a business perspective: a scalable AI design assistant that makes 3D modeling accessible, faster, and more competitive for teams and organizations. The project also aligns with my emerging PhD direction: designing multimodal AI agents for code, geometry, and natural language understanding.
What it does
I developed a multimodal AI chatbot capable of: Converting natural language into parametric 3D models Generating and refining OpenSCAD code Visualizing geometry in real time Providing explanations behind each modeling step Supporting iterative, conversational editing It works as a CAD copilot—an AI partner that transforms rough ideas into clean, functional geometry. From a business-analysis viewpoint, the system demonstrates how generative AI can reduce design cycle times, lower skill barriers, and unlock new digital-product opportunities.
How we built it
The project is currently in its initial development phase, where I am laying the technical foundation using: Python for the core logic and code-generation pipeline Flask to build a lightweight backend and conversational interface Gemini API to handle multimodal reasoning, natural language interpretation, and parametric code generation At this stage, the focus is on building a modular architecture that will later allow more advanced features—such as geometry validation, real-time previews, and conversational refinement—to be added without rewriting the whole system. Early Architecture Input Layer (User Instructions) User messages are passed through Flask to a processing module. LLM Processing (Gemini API) The Gemini model interprets design intent, extracts parameters, and generates OpenSCAD code templates. Code Assembly (Python) Python scripts structure the code, apply constraints, and prepare it for rendering. Response Layer The system returns generated code and explanations, forming the basis of a conversational design flow. While the project is still evolving, this foundation creates a scalable path toward the full multimodal agent described in the vision.
Challenges we ran into
Ensuring the AI writes error-free OpenSCAD code consistently Handling abstract or ambiguous user descriptions Error correction Performance vs detail tradeoffs Business viability
These challenges helped shape a system that is technically robust and strategically relevant.
Accomplishments that we're proud of
A conversational AI chatbot that interprets natural-language design intent and generates executable OpenSCAD code, while explaining the underlying modeling logic.
What we learned
How multimodal AI can merge language + code + geometry How to structure prompts for reliable CAD generation How iterative refinement improves design accuracy The value of human–AI interaction in creative workflows How such an AI tool fits into business development, especially in digital product pipelines, rapid prototyping, and scalable design services The project strengthened both my technical skills and my ability to evaluate innovation through a business analysis lens.
What's next for Generative Multimodal CAD Chatbot for OpenSCAD
The project is still in its early phase, and the next steps focus on expanding its technical depth, multimodal capabilities, and real-world usability.
- Real-Time 3D Rendering and Preview
- Conversational Editing & Constraint Handling
- Multimodal Support for Sketches and images
- Integration With Fabrication Workflows
- Advancing Toward a PhD-Level Research System
- Multi-CAD Support: After OpenSCAD, the agent may expand to: FreeCAD, Blender geometry nodes, Grasshopper definitions, Revit Dynamo scripts.
Log in or sign up for Devpost to join the conversation.