/onshape

K-Scale's library for programmatically interacting with OnShape

Primary LanguagePythonMIT LicenseMIT

K-Scale Open Source Robotics

License Version Discord Wiki
python black ruff
Publish Python Package Python Checks

K-Scale OnShape Library

This library is what we use at K-Scale for interacting with OnShape. It is a wrapper around the OnShape API that allows us to easily import parts from OnShape into our projects.

Getting Started

Install the library using pip:

pip install kscale-onshape-library

Or, if you want to install directly from Github:

pip install 'kscale-onshape-library @ git+https://github.com/kscalelabs/onshape.git@master'

Or, if you're developing the library, do:

git clone git@github.com:kscalelabs/onshape.git && cd onshape
conda create -y -n kol python=3.11 && conda activate kol
pip install -e '.[dev]'

In order to access the OnShape API, you need to define ONSHAPE_ACCESS_KEY and ONSHAPE_SECRET_KEY using a key generated here.

Usage

To convert an assembly to a URDF, use the following command:

kol urdf https://cad.onshape.com/documents/DDDDDDDD/w/WWWWWWWW/e/EEEEEEEE

You can visualize the resulting URDF using PyBullet:

pip install pybullet
kol pybullet robot/<urdf-name>.urdf

To convert an assembly to a MJCF, use the following command:

kol mjcf https://cad.onshape.com/documents/DDDDDDDD/w/WWWWWWWW/e/EEEEEEEE

You can visualize the resulting MJCF using MuJoCO:

mjpython -m kol.scripts.cli mujoco robot/<mjcf-name>.xml

Notes