SW2GZ — export SolidWorks assemblies straight to ROS 2 + Gazebo (no hand-written URDF)

Hi all,

I’ve been working on SW2GZ, a SolidWorks add-in that exports an assembly directly into a ready-to-launch ROS 2 package or Gazebo (Gz Sim) model/world — no manual URDF authoring.

What it does:

  • Reads masses, inertias, joint frames, and mates straight from the SolidWorks model instead of you typing them by hand
  • Three export modes:
    • Robot — full ROS 2 package: URDF/Xacro, launch files, ros2_control config, RViz, a spawn world
    • World — standalone Gz Sim world (SDF + meshes)
    • Asset — a single part/sub-assembly as a reusable Gz model:// package
  • Joint type/axis/limits are derived from SolidWorks mates (Lock→Fixed, Concentric→Revolute/Continuous, Angle→Revolute, Distance→Prismatic), with a manual axis pick for precision
  • ROS 2 Jazzy + Gz Harmonic is ready to use today, live-tested end-to-end. Humble/Fortress, Kilted/Ionic, and Rolling/Harmonic are wired into the distro-pairing logic but still in development — not yet live-tested. Goal is full plug-and-play across all four.

It’s a modernized fork of the original solidworks_urdf_exporter (ros/solidworks_urdf_exporter) by Stephen Brawner, rebuilt for ROS 2 + Gz Sim (the original targets ROS 1 + Gazebo Classic).

Install: grab the installer from the Releases page, runs alongside the original SW2URDF add-in if you have it.

Repo: GitHub - Aryan01b/SW2GZ: Export SolidWorks assemblies straight to ROS 2 + Gazebo — no hand-written URDF. · GitHub (MIT licensed)

Still early — Robot mode joint articulation and World mode are solid and live-tested, a couple of things (World launch/bridge generation) are temporarily disabled while I fix a structural bug. Feedback, bug reports, and PRs welcome.