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.14.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f371b979084da3f84062594232c8c14684e4cd6706b364ab6f47dd802c8b0937 |
|
MD5 | 33e036ed3c3e3065bed790934390ef4c |
|
BLAKE2b-256 | 80f453bda981ca789f614d3a84857ff2816d8d3176c78d975df20d6ca0e66b62 |
Hashes for kscale_onshape_library-0.0.14-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53eeaf4ee3e762c79fca848f9e9fbce8ebf3883188a79c656648f5710744c23d |
|
MD5 | 1d390dcf6afa00d6bdd5f7f15e4777e8 |
|
BLAKE2b-256 | 5a1a2a8c63e0327018cb3bbfffd5ac4fcefc0af8d9d561eb974ea9c242061029 |