The Omniverse CAD Converter, distributed using the usd-convert-cad
package and command-line identifier, converts supported CAD files to OpenUSD.
This repository contains the Python package sources, agent skill, and documentation for the Omniverse CAD Converter.
This is a Skillhub-style repository for agent-assisted CAD conversion workflows.
It contains the instructions, documentation, and workflow contract that AI agents
use to install, verify, and run the usd-convert-cad wheel from a Python
environment.
The repository does not require agents to install Omniverse Kit, pull an
extension from an extension registry, or run a Kit app. Conversion is performed
through the pip-installable usd-convert-cad package, which provides the
usd-convert-cad command-line entry point and bundles the OpenUSD (pxr) and
CAD conversion runtime needed by the tool.
Key repository areas:
skills/omniverse-cad-to-usd - canonical NVIDIA Agent Skill for CAD-to-USD
conversion.docs - CAD-to-OpenUSD concept mapping and related documentation.source/python - Python package notes and wheel metadata used by the
installable package.LIMITATIONS.md - known package and converter limitations.CONTRIBUTING.md - contribution requirements and supported-format update
policy.Create an isolated Python 3.12 environment, install the package, and verify the command is available.
Windows:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install usd-convert-cad
usd-convert-cad --help
Linux:
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install usd-convert-cad
usd-convert-cad --help
If the package is hosted on an NVIDIA package index rather than public PyPI, add the appropriate index URL:
python -m pip install usd-convert-cad --extra-index-url https://pypi.nvidia.com
The canonical skill lives at
skills/omniverse-cad-to-usd/SKILL.md. The installed wheel also includes the
skill so agents can discover the same workflow guidance from the package.
usd-convert-cad installed from a Python package index.Use a dedicated virtual environment. The wheel bundles its own OpenUSD (pxr)
runtime, so isolation avoids conflicts with other OpenUSD distributions in the
same interpreter.
The wheel is self-contained at runtime and does not depend on Omniverse Kit,
usd-core, or a separately installed pxr package.
After installing the wheel, convert an input CAD asset from the command line.
usd-convert-cad is the installed console script; python -m usd_convert_cad
runs the same CLI through the Python module.
usd-convert-cad -i path/to/input.step -o path/to/output.usdc
See skills/omniverse-cad-to-usd/SKILL.md
for the full option table.
This project is governed by the NVIDIA agreements in LICENSE.md. The agent
skill under skills/omniverse-cad-to-usd carries its Apache-2.0 and CC-BY-4.0
license text in skills/omniverse-cad-to-usd/LICENSE.md. See
THIRD_PARTY_NOTICES.md for third-party notices.
External contributions are accepted only with Developer Certificate of Origin
(DCO) sign-off. See CONTRIBUTING.md for contribution requirements and the full
DCO text.
usd-convert-cad/
├── source/python/ # Python package and wheel sources
├── skills/
│ └── omniverse-cad-to-usd/
│ └── SKILL.md # canonical skill source
├── .agent -> skills # symlink
├── .cursor -> skills # symlink
├── .claude -> skills # symlink
├── .codex -> skills # symlink
├── docs/
│ └── concept_mapping.md
├── .gitignore
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── SECURITY.md
└── THIRD_PARTY_NOTICES.md
The output path determines the USD file format. Supported output extensions are
.usd, .usda, and .usdc. USDZ (.usdz) export is not supported.
The command returns exit code 0 on success and prints
Successfully converted: <output>. On failure, it returns a non-zero exit code
and prints the converter error message to stderr. Agent workflows should branch
on the exit code and confirm the expected output file exists before continuing.
Common conversion options include --tess-lod, --revit-lod,
--accurate-tessellation, --convert-curves, --convert-metadata,
--no-dedup, --no-normals, --no-materials, --material-type,
--up-axis, --instancing-style, --composition-style, --filter-style,
--load-hidden, --progress, --convert-physics-data, and
--view-layer-name.
Common examples:
# Choose output format by extension: .usd, .usda, or .usdc.
usd-convert-cad -i assembly.step -o assembly.usdc
# Export geometry without materials.
usd-convert-cad -i assembly.step -o assembly.usda --no-materials
# Convert metadata and keep hidden CAD elements as hidden USD prims.
usd-convert-cad -i plant.ifc -o plant.usdc --convert-metadata --filter-style hide
# Increase tessellation level of detail.
usd-convert-cad -i part.jt -o part.usdc --tess-lod 4
# Convert a CAD view layer or simplified representation by name.
usd-convert-cad -i assembly.asm -o assembly.usdc --view-layer-name "Manufacturing"
Run usd-convert-cad --help for the authoritative option list for the installed
wheel version.
The package supports the CAD, AEC, and interchange formats documented by the installed wheel, including:
.jt.dgn.catpart, .catproduct, .cgr, .3dxml.ifc, .ifczip.prt, .asm, .par, .pwd, .psm.xmt, .x_t, .x_b, .xmt_txt.sldprt, .sldasm.ipt, .iam.dwg, .dxf.rvt, .rfa.stp, .step, .igs, .iges.3dm.stl, .dae, .fbx, .obj, .3ds,
.3mf, .gltf, .glb.sat, .sabAutoCAD (.dwg, .dxf) and Revit (.rvt, .rfa) inputs are not supported on
Linux aarch64.
Known limitations are documented in LIMITATIONS.md.
CHANGELOG.mdskills/omniverse-cad-to-usd/SKILL.mdVERSIONUse GitHub pull requests for skill, documentation, package metadata, and supported-format updates. Keep changes focused and document user-visible behavior.
Before opening a pull request:
usd-convert-cad --help.README.md and skills/omniverse-cad-to-usd/SKILL.md together when
behavior, options, supported formats, or external workflow contracts change.External contributions require Developer Certificate of Origin (DCO) sign-off.
See CONTRIBUTING.md for contribution requirements and the full DCO text.
This project is maintained by NVIDIA. Project governance, maintainers, and triage policy are managed by the repository owners.
SECURITY.mdUse repository issues and pull requests for project communication.
skills/omniverse-cad-to-usd/SKILL.mdsource/python/README.mddocs/concept_mapping.mdLIMITATIONS.mdOmniverse CAD Converter and usd-convert-cad are governed by the NVIDIA
agreements in LICENSE.md.
The agent skill under skills/omniverse-cad-to-usd carries Apache-2.0 and
CC-BY-4.0 license text in skills/omniverse-cad-to-usd/LICENSE.md.
Third-party notices and license attributions are listed in
THIRD_PARTY_NOTICES.md.
17 commits
The Omniverse CAD Converter, distributed using the usd-convert-cad
package and command-line identifier, converts supported CAD files to OpenUSD.
This repository contains the Python package sources, agent skill, and documentation for the Omniverse CAD Converter.
This is a Skillhub-style repository for agent-assisted CAD conversion workflows.
It contains the instructions, documentation, and workflow contract that AI agents
use to install, verify, and run the usd-convert-cad wheel from a Python
environment.
The repository does not require agents to install Omniverse Kit, pull an
extension from an extension registry, or run a Kit app. Conversion is performed
through the pip-installable usd-convert-cad package, which provides the
usd-convert-cad command-line entry point and bundles the OpenUSD (pxr) and
CAD conversion runtime needed by the tool.
Key repository areas:
skills/omniverse-cad-to-usd - canonical NVIDIA Agent Skill for CAD-to-USD
conversion.docs - CAD-to-OpenUSD concept mapping and related documentation.source/python - Python package notes and wheel metadata used by the
installable package.LIMITATIONS.md - known package and converter limitations.CONTRIBUTING.md - contribution requirements and supported-format update
policy.Create an isolated Python 3.12 environment, install the package, and verify the command is available.
Windows:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install usd-convert-cad
usd-convert-cad --help
Linux:
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install usd-convert-cad
usd-convert-cad --help
If the package is hosted on an NVIDIA package index rather than public PyPI, add the appropriate index URL:
python -m pip install usd-convert-cad --extra-index-url https://pypi.nvidia.com
The canonical skill lives at
skills/omniverse-cad-to-usd/SKILL.md. The installed wheel also includes the
skill so agents can discover the same workflow guidance from the package.
usd-convert-cad installed from a Python package index.Use a dedicated virtual environment. The wheel bundles its own OpenUSD (pxr)
runtime, so isolation avoids conflicts with other OpenUSD distributions in the
same interpreter.
The wheel is self-contained at runtime and does not depend on Omniverse Kit,
usd-core, or a separately installed pxr package.
After installing the wheel, convert an input CAD asset from the command line.
usd-convert-cad is the installed console script; python -m usd_convert_cad
runs the same CLI through the Python module.
usd-convert-cad -i path/to/input.step -o path/to/output.usdc
See skills/omniverse-cad-to-usd/SKILL.md
for the full option table.
This project is governed by the NVIDIA agreements in LICENSE.md. The agent
skill under skills/omniverse-cad-to-usd carries its Apache-2.0 and CC-BY-4.0
license text in skills/omniverse-cad-to-usd/LICENSE.md. See
THIRD_PARTY_NOTICES.md for third-party notices.
External contributions are accepted only with Developer Certificate of Origin
(DCO) sign-off. See CONTRIBUTING.md for contribution requirements and the full
DCO text.
usd-convert-cad/
├── source/python/ # Python package and wheel sources
├── skills/
│ └── omniverse-cad-to-usd/
│ └── SKILL.md # canonical skill source
├── .agent -> skills # symlink
├── .cursor -> skills # symlink
├── .claude -> skills # symlink
├── .codex -> skills # symlink
├── docs/
│ └── concept_mapping.md
├── .gitignore
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── SECURITY.md
└── THIRD_PARTY_NOTICES.md
The output path determines the USD file format. Supported output extensions are
.usd, .usda, and .usdc. USDZ (.usdz) export is not supported.
The command returns exit code 0 on success and prints
Successfully converted: <output>. On failure, it returns a non-zero exit code
and prints the converter error message to stderr. Agent workflows should branch
on the exit code and confirm the expected output file exists before continuing.
Common conversion options include --tess-lod, --revit-lod,
--accurate-tessellation, --convert-curves, --convert-metadata,
--no-dedup, --no-normals, --no-materials, --material-type,
--up-axis, --instancing-style, --composition-style, --filter-style,
--load-hidden, --progress, --convert-physics-data, and
--view-layer-name.
Common examples:
# Choose output format by extension: .usd, .usda, or .usdc.
usd-convert-cad -i assembly.step -o assembly.usdc
# Export geometry without materials.
usd-convert-cad -i assembly.step -o assembly.usda --no-materials
# Convert metadata and keep hidden CAD elements as hidden USD prims.
usd-convert-cad -i plant.ifc -o plant.usdc --convert-metadata --filter-style hide
# Increase tessellation level of detail.
usd-convert-cad -i part.jt -o part.usdc --tess-lod 4
# Convert a CAD view layer or simplified representation by name.
usd-convert-cad -i assembly.asm -o assembly.usdc --view-layer-name "Manufacturing"
Run usd-convert-cad --help for the authoritative option list for the installed
wheel version.
The package supports the CAD, AEC, and interchange formats documented by the installed wheel, including:
.jt.dgn.catpart, .catproduct, .cgr, .3dxml.ifc, .ifczip.prt, .asm, .par, .pwd, .psm.xmt, .x_t, .x_b, .xmt_txt.sldprt, .sldasm.ipt, .iam.dwg, .dxf.rvt, .rfa.stp, .step, .igs, .iges.3dm.stl, .dae, .fbx, .obj, .3ds,
.3mf, .gltf, .glb.sat, .sabAutoCAD (.dwg, .dxf) and Revit (.rvt, .rfa) inputs are not supported on
Linux aarch64.
Known limitations are documented in LIMITATIONS.md.
CHANGELOG.mdskills/omniverse-cad-to-usd/SKILL.mdVERSIONUse GitHub pull requests for skill, documentation, package metadata, and supported-format updates. Keep changes focused and document user-visible behavior.
Before opening a pull request:
usd-convert-cad --help.README.md and skills/omniverse-cad-to-usd/SKILL.md together when
behavior, options, supported formats, or external workflow contracts change.External contributions require Developer Certificate of Origin (DCO) sign-off.
See CONTRIBUTING.md for contribution requirements and the full DCO text.
This project is maintained by NVIDIA. Project governance, maintainers, and triage policy are managed by the repository owners.
SECURITY.mdUse repository issues and pull requests for project communication.
skills/omniverse-cad-to-usd/SKILL.mdsource/python/README.mddocs/concept_mapping.mdLIMITATIONS.mdOmniverse CAD Converter and usd-convert-cad are governed by the NVIDIA
agreements in LICENSE.md.
The agent skill under skills/omniverse-cad-to-usd carries Apache-2.0 and
CC-BY-4.0 license text in skills/omniverse-cad-to-usd/LICENSE.md.
Third-party notices and license attributions are listed in
THIRD_PARTY_NOTICES.md.
17 commits