synaps-cad  by ierror

AI-powered 3D CAD IDE for code, visualization, and natural language design

Created 1 month ago
269 stars

Top 95.4% on SourcePulse

GitHubView on GitHub
Project Summary

SynapsCAD is an AI-powered desktop 3D CAD IDE that integrates an OpenSCAD code editor, real-time 3D visualization, and a natural language AI assistant. It empowers users to write, compile, visualize, and modify 3D designs interactively, streamlining the CAD workflow for engineers and designers.

How It Works

This Rust application leverages the Bevy engine for its 3D viewport and entity management, with bevy_egui providing the UI. OpenSCAD code is compiled via a pure-Rust pipeline using scad-rs and csgrs, generating CSG geometry without external dependencies. An AI assistant, integrated via the genai crate, interprets natural language commands to modify designs, utilizing context from 3D interactions. Asynchronous AI operations are handled by a separate Tokio runtime, communicating with the main Bevy thread via channels to ensure UI responsiveness.

Quick Start & Requirements

  • Installation: Pre-built binaries are available for Linux, macOS (Apple Silicon & Intel), and Windows on the Releases page.
  • Build from Source: Requires Rust (stable toolchain).
  • Prerequisites: An AI provider API key (e.g., ANTHROPIC_API_KEY, OPENAI_API_KEY) is necessary for cloud AI features; local Ollama models can be used offline without a key.
  • macOS: Users may need to bypass quarantine security: sudo xattr -rd com.apple.quarantine /path/to/SynapsCAD.app.
  • Running: Execute cargo run after setting the required environment variable for your AI provider.

Highlighted Details

  • AI-driven design modification via natural language, incorporating 3D click context.
  • Pure-Rust OpenSCAD compilation pipeline for robust parsing and rendering.
  • Real-time 3D viewport and interactive editing powered by the Bevy engine.
  • Supports export to 3MF (with per-part colors), STL, and OBJ formats.
  • Integrated mesh picking functionality using Bevy's MeshPickingPlugin.

Maintenance & Community

Contact information is limited to @boerni@chaos.social. No specific details regarding active contributors, sponsorships, or community channels like Discord or Slack are present in the README.

Licensing & Compatibility

  • License: GPL v3.
  • Compatibility: The GPL v3 license imposes strong copyleft requirements, potentially impacting integration with proprietary or closed-source software.

Limitations & Caveats

The project is explicitly identified as an "Early Prototype." Users should anticipate potential issues with OpenSCAD code compilation and expect rough edges in functionality. Bug reports with reproducible code snippets are actively solicited.

Health Check
Last Commit

2 weeks ago

Responsiveness

Inactive

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

Explore Similar Projects

Feedback? Help us improve.