# GenCAD
**Repository Path**: alegw/GenCAD
## Basic Information
- **Project Name**: GenCAD
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-07-20
- **Last Updated**: 2026-07-20
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
GenCAD
Image-conditioned Computer-Aided Design Generation with Transformer-based Contrastive Representation and Diffusion Priors
---
---
## ๐ Dataset
Download from [here](https://drive.google.com/drive/folders/1M0dPr5kILGY9HTRCHox1vLLDhhxJWl_C?usp=sharing) and place it in the `data/` directory.
---
## ๐ฆ Pretrained Models
Download from [here](https://drive.google.com/drive/folders/1Ej7wdtlqT5P-SoUf3gsZXD8b78XqhiI5?usp=sharing) and place them in `data/ckpt/`.
---
## ๐ง Setup Options
First download the checkpoints and the dataset and put them in their respective directories.
### Option 1: Docker (Recommended)
1. Clone the repo:
```bash
git clone https://github.com/ferdous-alam/GenCAD
cd GenCAD
```
2. Build the Docker image:
```bash
docker build -t gencad:latest .
```
3. Run a script, for example training CSR:
```bash
docker run -it gencad:latest conda run -n gencad_env python train_gencad.py csr -name test -gpu 0
```
4. For headless visualization (inference):
First, enter the container with GPU access and mount the appropriate folders:
```bash
docker run --gpus all \
-v $(pwd)/data/images:/app/data/images \
-v $(pwd)/assets:/app/assets \
-v $(pwd)/results:/app/results \
-it gencad:latest /bin/bash
```
Then inside the container, run:
```bash
xvfb-run --server-args="-screen 0 2048x2048x24" python inference_gencad.py -image_path data/images -export_img
```
---
### Option 2: Manual (conda + pip)
1. Create and activate a virtual environment with GPU support:
```bash
conda create -n gencad_env python=3.10 -y
conda activate gencad_env
2. Install `pythonocc-core` using conda:
```bash
conda install -c conda-forge pythonocc-core=7.9.0
```
3. Install the rest via pip:
```bash
pip install -r requirements.txt
```
4. Now run training or inference:
```bash
python train_gencad.py csr -name test -gpu 0
```
---
## ๐ Training
### CSR Model
```bash
python train_gencad.py csr -name test -gpu 0
```
Optional checkpoint:
```bash
python train_gencad.py csr -name test -gpu 0 -ckpt "model/ckpt/ae_ckpt_epoch1000.pth"
```
### CCIP Model
```bash
python train_gencad.py ccip -name test -gpu 0 -cad_ckpt "model/ckpt/ae_ckpt_epoch1000.pth"
```
### Diffusion Prior
```bash
python train_gencad.py dp -name test -gpu 0 -cad_emb 'data/embeddings/cad_embeddings.h5' -img_emb 'data/embeddings/sketch_embeddings.h5'
```
---
## ๐งช Inference
For headless systems (e.g. servers):
```bash
xvfb-run python inference_gencad.py
```
---
## ๐ผ STL Visualization
Convert STL to PNG:
```bash
python stl2img.py -src path/to/stl/files -dst path/to/save/images
```
---
## ๐ Evaluation
Coming soon.