Pointer-CAD  by Snitro

Generate parametric CAD from text descriptions

Created 4 months ago
280 stars

Top 92.7% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Pointer-CAD addresses the challenge of automatically generating parametric CAD models from natural language descriptions. It offers a novel autoregressive approach that unifies Boundary Representation (B-Rep) solids and command sequences, enabling step-by-step construction with precise geometric referencing. This benefits researchers and engineers seeking automated, accurate CAD design from textual input.

How It Works

The project employs an autoregressive generation process where each step takes a natural language prompt and the current intermediate B-Rep solid to predict the next CAD operation (e.g., extrude, fillet) and directly points to relevant faces or edges. The architecture features a Qwen2.5-Instruct language backbone fine-tuned with LoRA, a UV-Net for B-Rep encoding using 1D/2D convolutions and GNNs, and specialized output heads for command prediction, geometric pointing, and scaling. This approach allows for a more intuitive and precise integration of language commands with geometric modeling.

Quick Start & Requirements

  • Prerequisites: Linux, NVIDIA GPU with CUDA, CuDNN, Python 3.10+, PyTorch 2.12+, Conda.
  • Installation: Requires pip install -r requirements.txt, pip install flash-attn, and conda install -c conda-forge pythonocc-core occwl with a provided patch for compatibility.
  • Model & Data: Download base model weights (Qwen2.5 variants) and the Recap-OmniCAD dataset from Hugging Face.
  • Execution: Training is initiated via bash train.sh, supporting distributed setups and WandB logging. A web demo is available via python web.py after configuration. Generated models can be exported to STEP and STL formats.

Highlighted Details

  • Unifies B-Rep geometry and command sequences for parametric CAD generation.
  • Autoregressive, step-by-step model construction with direct geometric pointer prediction.
  • Utilizes Qwen2.5-Instruct language model and UV-Net for B-Rep encoding.
  • Includes utilities for exporting generated CAD models to STEP and STL formats.

Maintenance & Community

The provided README does not contain specific details regarding maintainers, community channels (e.g., Discord, Slack), or a public roadmap.

Licensing & Compatibility

The repository's README does not specify a software license. This omission requires clarification for any adoption decision, particularly concerning commercial use or integration with closed-source projects.

Limitations & Caveats

The README does not explicitly list known limitations, bugs, or the project's development status (e.g., alpha/beta). The installation process notes a specific patch required for occwl and pythonocc-core compatibility, suggesting potential setup complexities.

Health Check
Last Commit

3 days ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
11 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.