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