Skip to main content

PartCAD

License

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

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

What is PartCAD?

PartCAD is the programming language for things.

It is the standard for documenting manufacturable physical products. It comes with a set of tools to maintain product information and to facilitate efficient and effective workflows at all product lifecycle phases.

PartCAD is more than just a traditional CAD tool for drawing. In fact, it’s not for drawing at all. The letters “CAD” in PartCAD stand for “computer-aided design” in a more generic sense, where “design” stands for the process of getting from an idea to a clear and deterministic specification of a manufacturable physical product using a computer (including the use of AI models). While PartCAD started as the first package manager for hardware, it is now the next-generation CAD that can turn a single visionary individual into a one person corporation, or make one future Product Manager as productive (and much faster!) as 10 corporate engineering departments of the past.

PartCAD is constantly evolving, with new features and integrations being added all the time. Contact us to discuss how PartCAD can revolutionize your product development process.

PartCAD packages

PartCAD includes tools to package product information:

  • Optional (but highly recommended) high-level requirements (texts and drawings)

  • Optional detailed design (mechanical outline, PCB schematics, software architecture)

  • Implementation (mechanical CAD files, PCB layout, software artifacts)

  • Optionally, the following data can be provided to augment or complement the output:

    • Additional manufacturing process requirements and instructions
    • Additional product validation instructions
    • Maintenance instructions
  • Or any other product related metadata

Such packages are modular and reusable, allowing one to build not only on top of the CAD files of previous products, but to build on top of their manufacturing processes as well.

PartCAD outputs

As a result of maintaining the product information using PartCAD, the following outputs can be generated and, if necessary, collected and managed using PartCAD tools:

  • Product documentation (markdown, html or PDF)
  • Design validation results
  • Product bill of materials (mechanical, electronics, software)
  • Sourcing information for all components
  • Manufacturing process specification (including required equipment if any)
  • Manufacturing instructions (sufficiently documented to be reproduced by anyone without inquiring any additional information)
  • Product validation instructions
  • Product validation results (given access to an experimental product and the required tools)
  • Input data for software components to visualize the product on your website, with a 3D viewer, a configurator, manufacturing/assembly instructions and more

Product development and testing

Once product information is packaged, it can be versioned and used for iterative improvements or to produce PartCAD outputs either by human or AI actors. To achieve that, PartCAD integrates with third-party tools. Below are just some examples of what third-party integrations can be used for:

  • AI tools can be used to update the mechanical design and implementation automatically based on the current state of the requirements
  • A legacy CAD tool can be used manually to update the implementation
  • AI tools can be used to validate the design and implementation to identify product requirement or best practices (e.g. to reduce manufacturing complexity) violations
  • A web interface of an online store or an API of an additive manufacturer can be used to source and manufacture parts
  • Simulation tools (potentially in conjunction with AI tools) can be used to validate that the product design matches the product requirements
  • AI tools can be used to review the product implementation for correctness, safety or compliance
  • Manufacturing processes are verified for completeness (e.g. tools requirements are specified for all operations)
  • Manufacturing instructions are verified for correctness (e.g. the provided manufacturing steps can actually be successfully and safely performed, and fit within the capabilities of the selected manufacturing tools)

Some of the iterative improvements or tests can be achieved using PartCAD built-in features. However, the use of third-party tools is recommended for unlocking cutting edge innovations and features.

Operations using PartCAD

PartCAD also works on the following supplementary products to enable (if needed) operations without any use of third-party tools:

  • A CRM for part manufacturing and assembly shops for businesses of any size (from skilled individuals working in their garage to the biggest factories) to immediately start taking orders for manufacturable products maintained using PartCAD
  • An inventory tool to manage the list of parts and final products in stock, as well as to track and manage all in-progress or completed orders, to immediately bring supply chains up and to scale them up while keeping all data private on-prem and not incurring any costs (for cloud services and alike)

Supply chains based on PartCAD

By letting the user easily switch between third-party engineering tools or manufacturers without having to migrate product data, PartCAD creates a competitive environment for service providers to drive the costs down.

Whenever you select third-party tools (if any) to use in your workflows, you ultimately decide (and make it transparent or auditable) how secure your supply chain is and how exposed your product information is. If you opt for on-prem tools only, all your product information remains on-prem too. It makes PartCAD an ultimate solution for achieving data sovereignty for those willing to keep their product data private. In the age of cloud data harvesting (especially for AI training), it makes PartCAD a better alternative to any cloud-based PDM, PLM or BOM solution.

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
  • Workflow acceleration by caching rendered models (including OpenSCAD, CadQuery, build123d and Chili3D)
    • In memory
    • On disk
    • A memcached server shared by a team or a CI fleet (cacheRemote)
    • An S3 bucket that outlives both (cacheS3)
  • Collaboration on designs
    • Versioning of CAD designs using Git (like it's 2025 for real)
      • Mechanical
      • Electronics
      • Software — firmware images, binaries and disk images shipped as objects of a package, reproducible by vendor and SKU, by file, or by fileHash
    • 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 (PDF and HTML instruction books)
    • Using URDF, with links, joints and physics
    • Using a STEP file that stays the source
  • Scenes (3D) — placed arrangements of objects: a workcell, a table, a simulation world
    • Stating where things are, rather than how they got there
    • Exporting to a Gazebo world (SDFormat), and opening it in Gazebo
  • Part models (3D)
    • Using scripting languages
    • Using legacy CAD files
      • STEP
      • BREP
      • STL
      • 3MF
      • OBJ
    • Using file formats of third-party tools
      • KiCad EDA (PCB)
    • Using a part type the package defines itself (partTypes)
  • Part and interface blueprints (2D)
  • Tooling for AI agents doing mechanical design
    • Agent Skills any SKILL.md-aware coding agent can load (ai-agents/), distributed as the pc plugin
      • Generate a part, an assembly or a 2D sketch (/pc:gen, /pc:gen-part, /pc:gen-assembly, /pc:gen-sketch) -- the agent authors the CAD script and validates it by rendering
      • Describe an existing object (/pc:describe), search the catalog (/pc:search), add interfaces (/pc:add-interfaces)
      • Set a project up (/pc:init, /pc:setup)
    • --no-ansi output on every command, so an agent parses plain text rather than progress bars
    • Free-form comment: context in Assembly YAML, written for whoever reads the assembly next
  • Other features
    • Object-Oriented Programming approach to maintaining part interfaces and mating information
    • Live preview of 3D models while working in Visual Studio Code, with the bill of materials, the assembly instructions and supplier quotes on tabs beside the 3D view
    • Open an object in the application that made it (pc open): FreeCAD, Blender, Gazebo, KiCad — installed locally, or run in a container when it is not; an object Blender cannot read is converted to a mesh on the way
    • Render 2D projections, from any viewing angle (--view, or an arbitrary one), with the connection ports and interfaces drawn on top if asked
      • SVG
      • PNG
      • JPEG
      • DXF
    • Generate documents
      • Markdown package and assembly documents
      • PDF and HTML assembly instruction books
    • Export 3D models to CAD files
      • STEP
      • BREP
      • STL
      • 3MF
      • ThreeJS
      • OBJ
      • IGES
      • glTF
      • URDF
      • Gazebo world (SDFormat)
    • Output types a package implements itself, for both render: and export:

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.

That applies to the Python packages below. The standalone command line tools, the snap and the PartCAD IDE carry a conda of their own and need none installed — they use yours when you have one.

Plugin for Claude Code

Already using Claude Code? This is the shortest way in, and it installs everything else for you. The pc plugin adds skills that generate parts, assemblies and 2D sketches, describe and search what a package already has, and set up the tools themselves:

/plugin marketplace add partcad/partcad@plugin-dist
/plugin install pc@partcad

Then /pc:setup puts the command line tools on the machine -- and, when it is run from a Visual Studio Code or VSCodium terminal, the extension below into that editor -- /pc:init starts a package, and /pc:gen a mounting bracket with four M4 holes writes the CAD script, renders four views of what came out and checks them against what was asked. The skills drive the same pc commands documented below, so nothing they produce is locked to the agent that produced it.

This repository is the marketplace -- there is no hosted catalog to search. The plugin-dist branch above carries the latest release, symlink-free so that it installs the same way on Windows. Two alternatives: /plugin marketplace add partcad/partcad installs straight from the source tree (git has to be able to create symlinks, which on Windows means git config core.symlinks true), and every release carries a pc-<version>.zip that claude --plugin-url <url> loads for a single session, to try one version without installing it.

The skills are plain Agent Skills, so any SKILL.md-aware agent can read them out of ai-agents/ without the plugin.

PartCAD IDE

The whole thing in one application: the editor, the PartCAD extension, and the command line tools. No Python, no extensions to pick, no environment to set up. It opens in the PartCAD workbench, and the first time it starts it creates a package for you and opens that -- so there is something to render before there is anything to read.

curl -fsSL https://raw.githubusercontent.com/partcad/partcad/main/install.sh | sh -s -- --ide

On Windows, download and run partcad-ide-<version>-windows-x86_64-setup.exe from the releases; on macOS there is a .dmg there too. See Installation for the details.

Extension for Visual Studio Code

Already using Visual Studio Code? Install the extension into it instead of the IDE above.

This extension can be installed by searching for PartCAD in the VS Code extension search form, or by browsing its VS Code marketplace page. From a terminal it is code --install-extension PartCAD.partcad-official.

Every release also carries the packaged extension as partcad-<version>.vsix, to pin a version or to install where the marketplace is not reachable: code --install-extension partcad-<version>.vsix. On VSCodium it comes from Open VSX -- the gallery VSCodium ships with, and where PartCAD publishes the extension for it, the Visual Studio Marketplace's terms restricting that one to Microsoft's own products: codium --install-extension PartCAD.partcad-official.

/pc:setup above does this for you when it is run from a terminal inside the editor.

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

Add-on for FreeCAD

The PartCAD workbench browses packages, parts and assemblies inside FreeCAD, asks for an object's parameters, and imports the result into the open document. Copy or link cad/freecad into FreeCAD's Mod folder as PartCAD and restart FreeCAD:

ln -s "$PWD/cad/freecad" ~/.local/share/FreeCAD/Mod/PartCAD

No Python setup is needed: the add-on uses the standalone PartCAD service, downloading it on first use if no standalone installation is present.

Command-Line Interface

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

pip install -U partcad

That one package is everything: the pc command line tool, the Python module, and the JSON-RPC service the editor extensions talk to. partcad-cli still installs and still works — it is now a thin package that pulls partcad in.

  • 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.

Command-Line Interface without Python

If Python is not installed, or you would rather not maintain a Python environment for PartCAD, install the standalone build instead. It is the same pc and partcad commands, packaged with their own interpreter:

curl -fsSL https://raw.githubusercontent.com/partcad/partcad/main/install.sh | sh

It installs into ~/.local/share/partcad and links the commands into ~/.local/bin, without sudo. See Installation for the options, for Windows, and for uninstalling.

PartCAD development

Refer to the Quick Start guide for step-by-step instructions on setting up your development environment, adding features, and running tests.

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!

Release files for partcad 0.8.55

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for partcad 0.8.55
File Size Uploaded
partcad-0.8.55.tar.gz 701.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for partcad 0.8.55
File Interpreter ABI Platform
partcad-0.8.55-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / partcad-0.8.55.tar.gz

Download URL partcad-0.8.55.tar.gz
Size 701.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d0d69a2bf05a62c4355af513222d3f841717ea185652d8f2b9c37ba52e441ca0
BLAKE2b-256 checksum
How to use checksums
a3df9cf400d6ddb90ba9d3d11fe48cbbbdb7f5b32a7ec4899396b90dedc79c8e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / partcad-0.8.55-py3-none-any.whl

Download URL partcad-0.8.55-py3-none-any.whl
Size 895.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ebce8e32021e10b49d33d0bec1fc3a23d178de36f3c098605405c97dd8ce5d9
BLAKE2b-256 checksum
How to use checksums
c61b9ebadca5a34e03cbdf81dc224264caba9db5cd3d25e03f4da24df48a40a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.8.55 This release

2 release files

0.7.16

2 release files

0.7.15

2 release files

0.7.12

2 release files

0.7.7

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.6.34

2 release files

0.6.33

2 release files

0.6.31

2 release files

0.6.29

2 release files

0.6.25

2 release files

0.6.24

2 release files

0.6.20

2 release files

0.6.19

2 release files

0.6.18

2 release files

0.6.9

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.2

2 release files

0.5.22

2 release files

0.5.8

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.1

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.84

2 release files

0.3.82

2 release files

0.3.75

2 release files

0.3.70

2 release files

0.3.69

2 release files

0.3.66

2 release files

0.3.65

2 release files

0.3.62

2 release files

0.3.61

2 release files

0.3.1

2 release files

0.2.9

2 release files

0.2.6

2 release files

0.2.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page