Skip to main content

Omniverse CAD Converter (usd-convert-cad)

Pip-installable Omniverse CAD Converter package for converting supported CAD assets to OpenUSD.

usd-convert-cad converts supported CAD, AEC, and interchange files to OpenUSD. The wheel includes the converter command line, Python package, required native runtime components, and the canonical agent skill.

This documentation was tested with usd-convert-cad==0.3.0 on Python 3.12. For a different installed version, confirm its options with usd-convert-cad --help.

Installing

Create an isolated Python environment and install the package:

python -m venv .venv
python -m pip install usd-convert-cad

Converting Files

Run the console command with an input CAD asset and output USD path:

usd-convert-cad --input model.stp --output model.usdc

Short flags are also supported:

usd-convert-cad -i model.stp -o model.usda

The package supports module execution as well:

python -m usd_convert_cad --input model.stp --output model.usdc

Output Formats

The output path determines the USD file format. Supported output extensions are .usd, .usda, .usdc, and .usdz. USDZ export converts to a temporary {stem}.usdc layer in an isolated staging directory, then packages it with OpenUSD. USDZ requires monolithic conversion (--composition-style none, the default). Packaging writes to a temporary archive and replaces the final .usdz only on success. If --material-type preview-surface-omnipbr is set, USDZ export switches to preview-surface because OmniPBR materials are not packageable.

Examples:

usd-convert-cad -i assembly.stp -o assembly.usdc
usd-convert-cad -i part.igs -o part.usda
usd-convert-cad -i model.prt -o model.usd
usd-convert-cad -i assembly.stp -o assembly.usdz

Conversion Options

Run usd-convert-cad --help to view all options.

Options include:

  • --global-xforms: Author global transforms instead of local transforms.
  • --convert-curves: Convert wire and curve geometry, including 2D and 3D geometry data, to USD BasisCurves. See LIMITATIONS.md for 2D conversion limitations.
  • --convert-metadata: Convert CAD metadata to USD custom attributes.
  • --read-constraints: Export CATIA V5, NX, and SolidWorks Fix, CATIA V5 Fix Together, NX Bond, and SolidWorks Lock mate assembly constraints as USD Physics fixed joints while preserving world or relative poses.
  • --no-dedup: Disable mesh and material deduplication.
  • --tess-lod <0-4>: Set tessellation level of detail.
  • --revit-lod <0-3>: Set Revit detail level. Values are 0 for file default, 1 coarse, 2 medium, and 3 fine.
  • --accurate-tessellation: Enable accurate tessellation.
  • --fast-surface-curvatures: Disable accurate surface curvature computation.
  • --no-normals: Do not author normals.
  • --no-materials: Do not author materials.
  • --material-type <type>: Choose material output type. Valid values: none, preview-surface, preview-surface-omnipbr, and preview-surface-materialx. The MaterialX option authors OpenPBR for the mtlx render context and includes a Preview Surface fallback.
  • --up-axis <axis>: Override output stage up-axis. Valid values: file, y, z.
  • --instancing-style <style>: Choose how repeated components are authored. Valid values: none, reference, instanceable-reference.
  • --composition-style <style>: Choose how external sub-assemblies and parts are authored. Valid values: none, reference, payload.
  • --filter-style <style>: Choose how hidden CAD elements are converted. Valid values: none, omit, hide, deactivate.
  • --load-hidden: Load hidden CAD elements before filtering.
  • --progress: Print converter progress.
  • --progress-frequency <hz>: Set progress report frequency in Hz.
  • --creator <value>: Set creator metadata on output USD layers.
  • --convert-physics-data: Author physical properties on USD prims.
  • --physics-accuracy-level <0.0-1.0>: Set physical property accuracy.
  • --physics-use-geometry-on-ribrep: Use geometry instead of topology for RiBRep physical properties.
  • --view-layer-name <name>: Convert a CAD view layer or simplified representation by name.

Pass the selected value after the option name:

usd-convert-cad \
  --input model.stp \
  --output model.usdc \
  --convert-metadata \
  --tess-lod 3 \
  --material-type preview-surface \
  --up-axis z \
  --instancing-style instanceable-reference \
  --composition-style payload \
  --filter-style hide \
  --progress-frequency 4 \
  --progress

Python Package

The installed Python package exposes version helpers:

import usd_convert_cad

print(usd_convert_cad.__version__)
print(usd_convert_cad.get_version())

The wheel also installs the canonical agent skill at usd_convert_cad/skills/omniverse-cad-to-usd/SKILL.md.

Uninstalling

python -m pip uninstall usd-convert-cad

License and Third-Party Notices

The Omniverse CAD Converter is governed by the applicable NVIDIA Omniverse licensing terms. NVIDIA licenses the Tech Soft 3D HOOPS Exchange SDK to read supported CAD data for conversion to OpenUSD. See the repository license and third-party notices.

Release files for usd-convert-cad 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for usd-convert-cad 0.3.0
File Interpreter ABI Platform
usd_convert_cad-0.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
usd_convert_cad-0.3.0-cp312-cp312-manylinux_2_35_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.35+ x86-64 Details
usd_convert_cad-0.3.0-cp312-cp312-manylinux_2_35_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.35+ ARM64 Details

Total release size: 895.3 MB

Release files / usd_convert_cad-0.3.0-cp312-cp312-win_amd64.whl

Download URL usd_convert_cad-0.3.0-cp312-cp312-win_amd64.whl
Size 281.4 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
f6f407612fbf3a56b406f148ac961bbf22445aecb48319145696b5b68502b36d
BLAKE2b-256 checksum
How to use checksums
6f92dc877e39d77ae1ccb6b35206adc0d9764d8a6225caaaf139bf30b7712f56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / usd_convert_cad-0.3.0-cp312-cp312-manylinux_2_35_x86_64.whl

Download URL usd_convert_cad-0.3.0-cp312-cp312-manylinux_2_35_x86_64.whl
Size 485.7 MB
Tags CPython 3.12 Linux glibc 2.35+ x86-64
SHA-256 checksum
How to use checksums
55c7f961cb2138799e495dda92ccc7225eae27bc71bf01bf463e286990d88312
BLAKE2b-256 checksum
How to use checksums
045bee7410bd2d32afd458395803a7acf07e7bee588fb81112153a51b5f0808c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / usd_convert_cad-0.3.0-cp312-cp312-manylinux_2_35_aarch64.whl

Download URL usd_convert_cad-0.3.0-cp312-cp312-manylinux_2_35_aarch64.whl
Size 128.2 MB
Tags CPython 3.12 Linux glibc 2.35+ ARM64
SHA-256 checksum
How to use checksums
1df28edbfeeb734e2acf2e87f80c295414225c847e6b18640a14089e7b9f61d6
BLAKE2b-256 checksum
How to use checksums
aea7e69189090b3d7ddc9d79cc792496bfc7218134a92380682246eb1a451cf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

0.3.0 This release

3 release files

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page