Skip to main content

Command-line interface to PartCAD

Project description

PartCAD

License

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

PartCAD is the first build system and package manager for CAD models, and a framework for creating assemblies.

PartCAD allows to maintain information about mechanical parts, how they come together to form larger assemblies, and to reuse the same parts in multiple assemblies, multiple projects. The implementation of parts can change over time (e.g. optimize or migrate to build123d from STEP) without the need to update all of the consumers.

Find more documentation here.

Installation

The recommended method to install PartCAD for most users is:

pip install partcad-cli

For contributors:

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

PartCAD works best when conda is installed. If that doesn't help (e.g. MacOS+arm64) then try mamba. On Windows, PartCAD requires at least a conda environment.

Architecture

Architecture

Tools for mechanical engineering

Here is an overview of the open source tools to maintain mechanical projects. It shows where does this framework fit in the modern mechanical development workflows.

flowchart TB

subgraph repo["Your project's GIT repository"]
  subgraph custom_repo["Custom parts"]
    direction TB
    custom_part_internet["A STEP file\ndownloaded from Internet\nor the vendor site"]
    custom_part_cad["A part exported as a solid\nfrom a CAD tool not\nsuitable for collaboration"]
    custom_part_cq["An individual reusable part\nmaintained as a script\nunder a version control system"]
    custom_part_os["Another reusable part\nmaintained as a script\nunder a version control system"]
  end

  model["Your project's model defined\nas ASSY or Python code\nfor version control\nand collaboration"]

  subgraph scenes["Scenes"]
    test1["Capability 1\ntest scene"]
    test2["Capability 2\ntest scene"]
  end
end

subgraph external_repos["Third-party GIT repositories,\nCDN-hosted files or OCCI servers"]
  subgraph external_repo["Repository of standard\nor popular parts"]
  end
end

subgraph external_tools["External tools"]
  freecad["FreeCAD"]
  cadquery["CadQuery / build123d"]
  openscad["OpenSCAD"]
  gazebo["Gazebo"]

  partcad["PartCAD library"]
  style partcad fill:#c00
end

custom_part_cad <--- |Individual\ncontributor|freecad
custom_part_cq <--- |Part design\nworkflow| cadquery
custom_part_os <--- |Part design\nworkflow| openscad

external_repo ---> |Import| model
custom_repo ---> |Import| model
model -.-> |Import| test1
model -.-> |Import| test2

custom_repo <-. Maintained\nusing\nPartCAD\nconvention .- partcad
external_repo <-. Maintained\nusing\nPartCAD\nconvention .- partcad
model <--- partcad
test1 <--- partcad
test2 <--- partcad

test1 -.-> |Export| gazebo
test2 -.-> |Export| gazebo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

partcad-cli-0.5.8.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

partcad_cli-0.5.8-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file partcad-cli-0.5.8.tar.gz.

File metadata

  • Download URL: partcad-cli-0.5.8.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for partcad-cli-0.5.8.tar.gz
Algorithm Hash digest
SHA256 5cf50f011738d854b7d0be4d0335543438136356e7636922aafb8757f3096bc3
MD5 644c26c3883b8a3a2d2f2cd50ef2780d
BLAKE2b-256 fcda0409b0611ae7809cbda68b32c5da75951860078381851ebb0a60e1fcbf6d

See more details on using hashes here.

Provenance

File details

Details for the file partcad_cli-0.5.8-py3-none-any.whl.

File metadata

  • Download URL: partcad_cli-0.5.8-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for partcad_cli-0.5.8-py3-none-any.whl
Algorithm Hash digest
SHA256 cf7f2f3f22a1419889575e4904f81bca1088a08b7dd9ea3efa7a167395a007c2
MD5 c5670e0c102df11f2a1f852723bed6fe
BLAKE2b-256 807f83f896f4f2a9c29d7b20ffe8df342127a3b1612ff4e7ae21791dc6af8df1

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page