K-Scale's library for programmatically interacting with OnShape
Project description
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
Advanced Tools
For improving simulation speed and reducing internal collisions, you can choose to merge a URDF at each of its fixed joints.
kol merge-fixed-joints robot/URDF.urdf
To simplify each of the meshes in a URDF using vertex clustering:
kol simplify-all robot/URDF.urdf
To cleanup the meshes directory by removing all meshes not referenced in a urdf:
kol cleanup-mesh-dir robot/URDF.urdf
For example, if you wanted to download the 5-DOF stompy arm, merge and simplify, then clean the directory.
kol urdf https://cad.onshape.com/documents/afaee604f6ca311526a6aec8/w/29af84cb974c2d825b71de39/e/4fef6bce7179a665e62b03ba
&& kol merge-fixed-joints robot/assembly_1.urdf
&& kol simplify-all robot/assembly_1_merged.urdf
&& kol cleanup-mesh-dir robot/assembly_1_merged_simplified.urdf
Notes
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for kscale_onshape_library-0.0.16.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 329a42797be5cadf78c552fff6b358302e031c83dd1e927e7011af9b2d9746d1 |
|
MD5 | c4016809cd67486f7e4fa79df6a062a2 |
|
BLAKE2b-256 | a46650bfd6251027c99fd0bb795d73f98b77ba4df927248e48af1ceada54f8e3 |
Hashes for kscale_onshape_library-0.0.16-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf64c549ec623579007fc014f957c96197bdd8abfff8503d763deef09a4b9d4f |
|
MD5 | 94e10a6175833c990b89b9a7fac952d6 |
|
BLAKE2b-256 | 9279d2d9df0dadd9d5a05bb35eebbd158b6a76ef6f7b7ebce16946f067dc1cfc |