Sw2robot — a SolidWorks → URDF exporter with a browser-based editor (free Windows .exe)

Hi all,

TL;DR: sw2robot is yet another SolidWorks to URDF exporter—a modern, browser-based alternative to the official sw_urdf_exporter (GitHub). Rather than doing all the configuration inside a SolidWorks add-in, it safely extracts the raw kinematic graph from your .sldasm and lets you visually clean up joints, test <mimic> setups, and export a ready-to-use ROS package in a fast, standalone web UI.

Repo: GitHub - jsk-ros-pkg/solidworks_urdf_exporter2: Solidworks to robot (urdf) converter. · GitHub
License: Apache-2.0

See it in action (~2.5 min)

The clip below is a full round-trip on a real example — a tendon/gear-driven robot hand actuated by Feetech servos — from loading the extracted model to downloading a ROS package.

https://github.com/user-attachments/assets/d821525c-d1e2-4a33-8bbf-fea42ba12434

  • 0:00–0:22 — Launch & load. Start the local server (a command-prompt window) and open the editor in your browser at localhost:8090. Pick feetech_hand_urdf from the previously-extracted datasets and the hand’s 3D model loads.
  • 0:23–1:14 — Inspect joints. Select a part from the link/joint tree on the right; its details show up in the editor panel on the left. Each joint’s rotation axis (XYZ arrows) and direction (the yellow circular arrow) are drawn right in the 3D view, so you can confirm the axis is set correctly and the joint moves the way you intended — all on-screen, no round-trip to a text editor.
  • 1:15–2:21 — Mimic joints (coupled motion). The highlight: couple the hand’s internal pulleys (the gear/pulley parts) to the actual finger joints. In the mimic panel you link a pulley (e.g. pulley_HL53606M_3) so it follows a finger joint (e.g. thumb_proximal_1) with a multiplier (ratio / reversed direction). Drag the finger in the UI and the internal pulley rotates with it — confirming a fairly complex tendon/gear-driven <mimic> setup actually works before you ever leave the browser.
  • 2:22–2:35 — Export. From the Export menu (bottom-right) click ROS1 package. The browser instantly downloads a fully-packaged ZIP (feetech_hand_urdf_description.zip) with all the meshes and description files — ready to drop into a workspace.

What it does

  • Extract — opens a throwaway copy of your .sldasm in a hidden SolidWorks instance and pulls the kinematic graph + per-link meshes. Your original CAD file is never touched.
  • Edit (in the browser) — a single-page editor on top of that graph:
    • Make root any link (the tree re-roots and flips edges for you).
    • Joint types — toggle fixed ↔ movable, or Shift+drag box-select to bulk-set a whole range; flip a joint’s axis in one keystroke.
    • Mimic — link follower joints to a master with a multiplier + offset (URDF <mimic>); move the master and the followers track it live. (This is exactly the pulley-follows-finger coupling shown in the video.)
    • Coordinate frames — align the root frame to a face, or drop named end-coords “ports” on a face (+Z = face normal) for end-effector / sensor / mount frames.
    • Live self-collision as you drag a joint, plus an automatic joint-limit sweep, and per-link materials/densities.
    • Fast keyboard shortcuts (t toggle joint, f flip axis, m mimic, r make root, Del delete subtree, …).
  • Export — a ROS / robot-compiler package (URDF + meshes + configs) you can drop straight into your workspace.

Try it in ~2 minutes — no Python, no clone

  1. Download the prebuilt editor from the latest release: sw2robot-web-windows-x64-v<version>.exe. It’s a single self-contained file.
  2. Double-click it. A local server starts and your browser opens the editor at http://localhost:8090. (Windows SmartScreen may warn that the publisher is unknown since the binary is unsigned — More info → Run anyway.)
  3. Open your .sldasm with the in-app file picker (:file_cabinet: file browser, which lists SolidWorks’ recent files, or :clipboard: paste a full path). The app drives SolidWorks for you and you get an editable robot.
  4. Tidy up the tree / joints / materials, then export a ROS package.

Note: the extract step needs SolidWorks installed on the same Windows machine (the app talks to it over COM; it does not embed SolidWorks). If you don’t have SolidWorks, you can still open, edit, and export an already-extracted package — a small sample is bundled.

There’s also a pip install path for developers who want to run it from source on any platform (only extract is Windows-only); see the README.

I’d love feedback, bug reports, and feature ideas. Thanks!

2 Likes

My feedback is you check your AI’s markdown formatting before blindly posting it to Discourse. :rofl:

3 Likes

Could be an interesting contribution, but come on, man !!, just explain briefly, spontaneously, no need for a AI perfect description, that sucks.

1 Like

Thanks for the great suggestion! I’ve added a TL;DR and a link to the official exporter at the top of the post.

1 Like

I’ve integrated CoACD for collision detection. We can now easily import SolidWorks assemblies into the robotics simulator.

coacd

1 Like