Omniverse Publisher


Omniverse Publisher lets you annotate assemblies in Onshape with robotics parameters (like joint physics and drive attributes), then export to OpenUSD for use in platforms compatible with NVIDIA Omniverse, including Isaac Sim.

The authoring and export pipeline uses stable internal identifiers so that you can modify, rename, and add content in Onshape, and the downstream edits and simulation setups seamlessly update in Isaac Sim with the new data.

The purpose of Omniverse Publisher is to make it easy to go from CAD to simulation and controls development for robotics, with a simple feedback and update loop as you make hardware changes.

Getting Omniverse Publisher

This functionality is delivered through the free Omniverse Publisher app on the Onshape App Store .

For more information about the Onshape App Store, see App Store.
To manage user account applications, see My Account - Applications.
To manage company/classroom/enterprise-wide Applications, see Company/Classroom/Enterprise settings - Applications.
Creating robotics data

To create robotics data using Omniverse Publisher:

  1. In an assembly, click the Omniverse Publisher extension button on the right side.
  2. Add and edit robotics data using the tables in the Model preparation panel.
    • Joints are mechanical relationships between instances. Each joint corresponds to an Onshape mate. Some joint parameters, such as the name and limits, are determined by the Onshape mate data. Other joint parameters, such as physics and drive properties, may be edited in the Joints table.
    • Rest positions are the possible "zero states" for joints. The — None — option uses the zero value for each Onshape mate to determine the rest position.
      Selecting a named position to define a custom rest position is not yet implemented.
    • Fixed instances are prevented from moving in the Onshape assembly. Fixed instances with Fasten to ground enabled will also be prevented from moving in the simulation.
    • Reference points are coordinate system references.
      Including reference points in the exported data is not yet implemented.
  3. When finished, click Save to store your modifications into the assembly.
  4. Alternatively, press the reload button at the bottom left corner of the extension to reset your changes and refresh the extension panel.
    Robotics annotations are saved in a section of the Description property of the assembly. As a result, robotics annotations follow the same versioning behavior as other properties, including branching and merging. For more information about merging, see Merging.
Exporting data
  1. Optionally create a version to make it easy to revisit the exact state of the robot as it was when exported.
  2. In an assembly, click the Omniverse Publisher extension button on the right side.
  3. Click New Export... to open the export dialog.
  4. Specify the parameters to use.
    • File name - By default, this is the name of the current assembly. Optionally, enter a new name.
    • Format - The format to which the Assembly is exported.
      • USD (usda + gltf as .zip) - A zip file containing robot.usda (OpenUSD file) in its root directory, which references glTF mesh data assets in the meshes directory.
    • Configuration - The assembly configuration to export.
      • Current - the active configuration from the Onshape UI.
      • Default - the default configuration.
    • Options - Select how to deliver the exported data.
      • Download - Downloads the file to your computer.
    • Include hidden instances in export - Whether hidden instances are included in the exported data.
      Excluding hidden instances is not yet implemented.
  5. Click Export.
Using data in NVIDIA Isaac Sim
  1. Open NVIDIA Isaac Sim.
    NVIDIA Isaac Sim is available through various channels. For complete installation instructions, please see Installation — Isaac Sim Documentation

    We have tested Omniverse Publisher using NVIDIA Isaac Sim™ Development Workstation (Windows) from Microsoft Azure Marketplace, but we cannot provide technical support or guarantee the functionality of any third-party products or services.
  2. Use the Omniverse Publisher extension to export a robot to USD (usda + gltf as .zip) format and extract the .zip file to a suitable location.
    It is recommended to use a separate directory for assets (such as robots exported from Onshape) from the directory where you create custom Isaac Sim scenes (containing compositions and layered edits of assets) to provide a clear separation between automatically generated data, and manually edited data.
  3. Add the robot data to a scene in Isaac Sim:
    • In the Content panel in Isaac Sim, navigate to the directory where the .zip file was extracted.
    • Drag robot.usda from the Content panel to the Stage panel within Isaac Sim. The robot will appear in the Isaac Sim viewport.
    • Optionally add other assets to the scene (for example, from the built-in Isaac Sim asset libraries).
    • Optionally edit the scene (for example, moving assets and editing asset materials).
    • Press the play button in to start a simulation. Press stop to reset the simulation.
    Remember to regularly save the scene in Isaac Sim to prevent data loss.
    By default, assets are linked (not copied) into scenes in Isaac Sim. Asset linking allows associative updates from Onshape.

    When editing assets in a scene in Isaac Sim, these edits are saved as a "layer" on top of the base asset. For example, changing the color of a material will be recorded as a lightweight edit of just the material's color, without modifying the underlying asset or copying its data into the scene.

    When the base asset changes, the edits authored in the composed scene will associatively layer on top of the updated asset.
  4. Update the robot data to incorporate changes authored in Onshape:
    • Edit the model in Onshape.
    • Use the Omniverse Publisher extension to export a robot to USD (usda + gltf as .zip) format.
    • Extract the .zip file to the same location as the initial export, overwriting the previous files.
    • Isaac Sim will display a message: "Base USD files have been changed, please fetch changes." Press the FETCH button in this dialog to load the new version of the robot. The robot assets will update in-place, and your scene composition and edits will automatically re-apply to the robot using USD layering technology.
Known limitations

Currently some assembly functionality is not supported: