Skip to main content

A python library to facilitate interaction with Onshape's REST API

Project description

onshape-robotics-toolkit

License codecov DOI Docs PyPI Downloads

Header

The onshape-robotics-toolkit is a feature-rich Python library that significantly extends the capabilities of Onshape's web-based CAD platform. The library provides a comprehensive API for automating robot design tasks, including solid model manipulation, robot assembly management, graph-based visualizations, and exporting CAD assemblies to URDF files for simulation and control. Intended as a resource for the robotics community, this library leverages Onshape's REST API to facilitate advanced workflows that bridge CAD design and robotics applications.

  This library was inspired by onshape-to-robot, a tool renowned for its streamlined approach to URDF generation. While onshape-to-robot library focuses on predefined workflows and design-time considerations, the onshape-robotics-toolkit library offers greater flexibility. It provides access to nearly all of Onshape's REST API calls, enabling headless manipulation, detailed analysis, and seamless export of CAD assemblies. Users can programmatically edit variable studios, generate graph-based visualizations, and export URDF files tailored to their specific needs—all without being restricted by rigid workflows or naming conventions. By removing these constraints, the onshape-robotics-toolkit library empowers the robotics and CAD communities to create custom solutions for algorithmic design, optimization, and automation.

 

Key Features of onshape-robotics-toolkit

The onshape-robotics-toolkit library is designed for users seeking a scalable, versatile API that empowers innovative robot design and control workflows. By integrating Onshape into algorithmic processes such as design optimization and automation, it unlocks the full potential of Onshape's cloud-based CAD system, fostering creativity and efficiency in robotics and beyond.

 

Feature onshape-robotics-toolkit onshape-to-robot
Workflow Flexibility ✅ Open-ended and customizable ❌ Predefined and rigid
Design-Time Considerations ✅ None ❌ Requires specific naming conventions
Custom URDF Workflow ✅ Supports any assembly ❌ Limited by design rules
Variable Studio Editing ✅ Yes ❌ No
Ease of Setup ❌ Moderate (requires python coding) ✅ Easy (no coding required)
Headless Integration ✅ Yes (e.g., optimization) ❌ No out-of-the-box support
Access to Full Onshape API ✅ Yes ❌ Limited
Graph Visualization and Analysis ✅ Supports graph generation ❌ Not supported

Prerequisites

Before you begin, ensure you have the following:

Installation

You can install onshape-robotics-toolkit using pip, which is the easiest way to install it and is the recommended method for most users.

pip install onshape-robotics-toolkit

If you want to install from source, you'll need to install uv and git first. Then, you can clone the repository and install the package.

git clone https://github.com/neurobionics/onshape-robotics-toolkit.git
cd onshape-robotics-toolkit
uv sync

Documentation

The documentation is available at https://neurobionics.github.io/onshape-robotics-toolkit/. It is generated using mkdocs and mkdocs-material and hosted on GitHub Pages.

Acknowledgements

This repository was created to facilitate an internal project at the RAI Institute; it was developed by Senthur Ayyappan and Elliott Rouse. We'd also like to acknowledge considerable support and guidance from Ben Bokser, Daniel Gonzalez, Surya Singh, Sangbae Kim, and Stelian Coros at the AI Institute.

Contributing

If you're interested in contributing to the project, please read the contributing guidelines to get started. All contributions are welcome!

License

This project is licensed under the Apache 2.0 License. For more information, please refer to the license file.

References

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

onshape_robotics_toolkit-0.5.0.tar.gz (13.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

onshape_robotics_toolkit-0.5.0-py3-none-any.whl (109.7 kB view details)

Uploaded Python 3

File details

Details for the file onshape_robotics_toolkit-0.5.0.tar.gz.

File metadata

  • Download URL: onshape_robotics_toolkit-0.5.0.tar.gz
  • Upload date:
  • Size: 13.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for onshape_robotics_toolkit-0.5.0.tar.gz
Algorithm Hash digest
SHA256 9f312fc1c5de54900cd3d3e81b4963275c10e27dd7495af9e045f28d0629dc65
MD5 bd8aff224072fe45e959b403d2638d2a
BLAKE2b-256 b9aa1401ab6519c1bd33943caf450dd795ce5ee497a39851b297b613a7de16db

See more details on using hashes here.

File details

Details for the file onshape_robotics_toolkit-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: onshape_robotics_toolkit-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 109.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for onshape_robotics_toolkit-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ec660c4c4da995e01fe3f978625d78c49065994f7eee92745f23db502765fec
MD5 028c4f48d521ce7952faeb991f41a18a
BLAKE2b-256 2fa969d0a58a061797f41283a3e98075c2fcb68a72273dbc8abfcb4ddc2dbe5d

See more details on using hashes here.

Supported by

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