Skip to content

The first CAD package manager: design modularly, build efficiently, and reuse components like never before.

License

Notifications You must be signed in to change notification settings

partcad/partcad

Repository files navigation

PartCAD

License

CI on Linux, MacOS and Windows CD on Linux, MacOS and Windows Deployment to PyPI Documentation Status Discord

PartCAD is the first package manager for CAD models and a framework for managing assemblies.

It aims to complement Git with everything necessary for hardware development to substitute commercial Product Lifecycle Management (PLM) tools. It's a free versioning and change management solution for all your CAD needs, built around your CAD artifacts instead of being built into your CAD tool.

Browse our documentation and visit our website. Watch our 💥💥demos💥💥.

Join us!

Stay informed and share feedback by joining our Discord server.

Subscribe on LinkedIn, YouTube, TikTok, Facebook, Instagram, Threads and Twitter/X.

PartCAD Visual Studio Code extension

Features

  • Multiple OSes supported
    • Windows
    • Linux
    • macOS
  • Collaboration on designs
    • Versioning of CAD designs using Git (like it's 2024 for real)
      • Mechanics
      • Electronics (in progress)
      • Software (in progress)
    • Automated generation of Markdown documentation
    • Parametric (hardware and software) bill of materials
    • Publish models online on PartCAD.org
    • Publish models online on your website (in progress)
    • Publish configurable parts and assemblies online (in progress)
    • Purchase of assemblies and parts online, both marketplace and SaaS (in progress)
    • Automated purchase of parts via CLI
  • Assembly models (3D)
    • Using specialized Assembly YAML format
      • Automatically maintaining the bill of materials
      • Generating user-friendly visual assembly instructions (in progress)
    • Generating with LLM/GenAI (in progress)
  • Part models (3D)
    • Using scripting languages
    • Using legacy CAD files
      • STEP
      • STL
      • 3MF
    • Generating with LLM/GenAI
      • Google AI (Gemini)
      • OpenAI (ChatGPT)
      • Any model in Ollama (Llama 3.1, DeepSeek-Coder-V2, CodeGemma, Code Llama etc.)
  • Part and interface blueprints (2D)
  • Other features
    • Object-Oriented Programming approach to maintaining part interfaces and mating information
    • Live preview of 3D models while working in Visual Studio Code
    • Render 2D and 3D to images
      • SVG
      • PNG
    • Export 3D models to CAD files
      • STEP
      • STL
      • 3MF
      • ThreeJS
      • OBJ

Installation

Note, it's not required but highly recommended that you have conda installed. If you experience any difficulty installing or using any PartCAD tool, then make sure to install conda.

Extension for Visual Studio Code

This extension can be installed by searching for PartCAD in the VS Code extension search form, or by browsing its VS Code marketplace page.

Make sure to have Python configured and a conda environment set up in VS Code before using PartCAD.

Command-Line Interface

The recommended method to install PartCAD CLI tools for most users is:

pip install -U partcad-cli
  • On Windows, install Miniforge3 using Register Miniforge3 as my default Python X.XX and use this Python environment for PartCAD. Also set LongPathsEnabled to 1 at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem using Registry Editor.
  • On Ubuntu, try apt install libcairo2-dev python3-dev if pip install fails to install cairo.
  • On macOS, make sure XCode and command lines tools are installed. Also, use mamba should you experience difficulties on macOS with the ARM architecture.

PartCAD development

The recommended first steps for PartCAD developers are:

git clone https://github.com/openvmp/partcad.git
cd partcad
python3 -m pip install -U -e ./partcad
python3 -m pip install -U -e ./partcad-cli

Getting Started

See the tutorials for PartCAD command line tools or PartCAD Visual Studio Code extension.

Have you read this page this far?

Give us a star for our hard work!