Vibe-CADing is a unified, agentic generative design pipeline that transforms natural language prompts into manufacturable CAD-like geometry. The system integrates multiple complementary components:
- Voxel-based 3D generators (Diffusion, VAE, VQ-VAE, AR models)
- Autoregressive PixelCNN-style 2D CAD layout generator
- Retrieval-Augmented Generation (RAG) over open-source CAD libraries
- Geometric feedback and manufacturability scoring
- LLM-powered multi-agent orchestration (Planner / Retriever / Generator / Critic)
These modules form an iterative, feedback-driven workflow for creating, refining, and reusing 3D CAD parts.
- Voxel-based diffusion models (DDPM) for coarse-to-fine 3D synthesis
- VAE / VQ-VAE latent compression for efficient geometry modeling
- Optional autoregressive 3D models for conditional voxel generation
- Simple 3D U-Net backbone for noise prediction
- PixelCNN-style masked convolutions for sequence-free CAD grid modeling
- Generates 2D token grids (sketch-like layouts)
- Export to SVG/DXF or extrude → voxel → diffusion refinement
- Future conditioning: text, sketches, geometry constraints
- Planner: extracts specs and decomposes the user's intent
- Retriever: searches open-source CAD libraries via text, vision, and geometric embeddings
- Generator: produces candidate geometries using 2D/3D models
- Critic: evaluates manufacturability, symmetry, CoM, balance, structural validity
- Symmetry scoring
- Center-of-mass / balance metrics
- Manufacturability heuristics (thin walls, overhangs, structure)
- Iterative correction loops driven by LLM agents
- Retrieve nearest CAD examples (voxel/mesh/layout)
- Use retrieved shapes as priors, constraints, or templates
- Supports both semantic (text/vision) and geometric embedding search
- Voxel dataset generation (synthetic primitives + real CAD parts)
- Train diffusion / VAE / VQ-VAE 3D models
- Train PixelCNN CAD layout generator
- Implement geometric + structural feedback scoring
- Build the multi-agent (Planner/Retriever/Generator/Critic) loop
- Text & sketch conditioning for all generative models
- AR CAD grid → extrusion → diffusion refinement
- Optional mesh branch: marching cubes → mesh diffusion
- GUI-based interactive design agent
bash\pip install torch numpy matplotlib scikit-image open3d\
Additional dependencies for AR CAD model:
bash\pip install torchvision\
train.py– train diffusion modelsample.py– generate new voxel partsvisualize.py– render voxel grids or meshes
ar_cad_train.py– train PixelCNN CAD generatorar_cad_sample.py– generate CAD token grids- Visualization via matplotlib / DXF / STL tools
vibe-cading/
├── data/ # voxel datasets, token grids, retrieved CAD
├── models/ # U-Net, VAE, VQ-VAE, PixelCNN
├── diffusion/ # DDPM scheduler + sampling
├── ar/ # autoregressive CAD generator
├── feedback/ # symmetry / CoM / manufacturability scoring
├── agents/ # planner / retriever / generator / critic
├── retrieval/ # text/vision/geometry embeddings + search
├── train.py # diffusion training
├── sample.py # diffusion sampling
├── visualize.py
├── ar_cad_train.py # AR layout training
├── ar_cad_sample.py # AR layout sampling
└── README.md
If you use Vibe-CADing in research or projects, please cite:
Plain text:
Masoud Jafaripour. Vibe-CADing: Conditional CAD Generation and Retrieval for a Text-to-CAD Design Pipeline. GitHub, 2025.
BibTeX:
@misc{vibecading2025,
author = {Jafaripour, Masoud},
title = {Vibe-CADing: Conditional CAD Generation and Retrieval for a Text-to-CAD Design Pipeline},
year = {2025},
howpublished = {[https://github.com/Masoudjafaripour/Vibe_CADing}](https://github.com/Masoudjafaripour/Vibe_CADing}),
}
MIT License
Masoud Jafaripour