NVIDIA-Omniverse / usd-brep
git clone https://github.com/NVIDIA-Omniverse/usd-brep.git
v1.0.0 · 11d ago
USD BRep is a standalone C++ and Python library for NURBS-based boundary representation (BRep) solid modeling
—
stars, 24h
—
stars, 7 days
+1.7k
stars, 30 days · #178
1.7k
★ total
258
forks · 17 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageC++
LicenseApache-2.0
Created2026-10-08 (12d ago)
Last push11d ago
Watchers26
OwnerOrganization
Links
- GitHub: github.com/NVIDIA-Omniverse/usd-brep
- Homepage: https://nvidia-omniverse.github.io/usd-brep/
- Releases · Issues · Hacker News mentions
README excerpt
# USD BRep Standalone Omniverse repo containing USD BRep (NURBS boundary-representation solid modeling) libraries. ## Requirements - **Git** and **Git LFS**: Git LFS is required for the large binary fixtures tracked in `.gitattributes` (USD assets, STEP/IGES/JT models). - **(Windows - C++ Only) Microsoft Visual Studio (2019 or 2022)** with the MSVC C++ toolset: - Install from Visual Studio Downloads (or **Build Tools for Visual Studio**) with the **Desktop development with C++** workload selected. A VS install without the C++ toolset is not enough. - The build uses this **host-installed** compiler (`msbuild.link_host_toolchain` in `repo.toml`), not Packman `msvc`. - `msbuild.vs_version` is pinned to `vs2019`, so VS 2022 users also need the **MSVC v142 build tools** component. - If discovery fails, set `msbuild.vs_path`, `msbuild.vs_version`, or both — see repo_build toolchains. These settings locate an installed toolset; they do not install one. - **(Windows - C++ Only) Windows SDK**: Install alongside MSVC via the Visual Studio Installer. If discovery fails, set `msbuild.winsdk_path` in `repo.toml`. - **(Windows) Microsoft Visual C++ Redistributable**: Required to run the built binaries, which link the VC runtime dynamically rather than bundling it. The **Desktop development with C++** workload above ships the redistributable, so a machine set up to build already has it — install it separately only on machines that run the binaries without Visual Studio. - **(Linux) build-essential**: `sudo apt-get install build-essential` All other build-time dependencies — OpenUSD, Python 3.12, pybind11, **premake**, and the `repo_*` tools — are pulled automatically via Packman when you build. ## Using this repo Prerequisites are listed under Requirements. Use `./repo.sh` on Linux and macOS, `./repo.bat` on Windows. macOS: macOS local development. ### Build it Run prebuild before building a fresh checkout or after deleting `_build`. It stages the omniSolid schema plugin in `_build/schema/omniSolid/resources`; `repo build` alone does not create these resources, which USD tools require at runtime. [code] ### Test it [code] ### Format it [code] ### Run the Python GUI [code] See `tools/smlib_gui/README.md` for smoke-test and troubleshooting commands. ### Explore examples Runnable compositions organized by API layer live under Examples. ## macOS local development Apple Silicon only: `./repo.sh build -p macos-universal`. Build symlinks host Packman Python into `_build/target-deps/python` when available (`SMLIB_PYTHON_ROOT` to override). **Python-only (default):** kernel, C++ tests, `_smlib_tests`, and `_smlib_dev` (imports need Tier 1 `_omni_solid`). No OpenUSD, OCCT, or `_omni_solid`. [code] **Tier 1 (optional):** local OpenUSD 3.12 staged via `setup-macos-local-deps.sh`. [code] Set `PYTHONPATH="$PWD/_build/macos-universal/release"` to import Python extensions. Packman OpenUSD/Python packages are not available on macOS. The macOS premake package (`p