USD BRep
Boundary representation (BRep) solid modeling, with native import and export of BRep data to and from OpenUSD.
pip install usd-brep
import usd_brep
sphere = usd_brep.primitives.create_sphere((0.0, 0.0, 0.0), 1.0)
box = usd_brep.primitives.create_box((-0.5, -0.5, -0.5), 1.0, 1.0, 1.0)
cut = usd_brep.booleans.subtract(sphere, box)
usd_brep.usd.export_brep(cut, "cut.usda")
(brep,) = usd_brep.usd.import_breps("cut.usda")
Operations are grouped into submodule attributes — primitives, curves,
surfaces, booleans, sweeps, fillets, offset, io, brep_ops,
stitching, usd and more.
Requirements
- CPython 3.12, 64-bit
- Windows or Linux (x86_64, aarch64)
- On Windows, the Microsoft Visual C++ Redistributable
OpenUSD
The wheel bundles the OpenUSD runtime it was built against (25.11), so no
separate install is needed and nothing is imported into the pxr namespace.
Stages are exchanged as files rather than as Python objects, so no OpenUSD
object ever crosses between this package and your own.
It can share a process with a different OpenUSD version, which has its own
versioned symbol namespace: usd-core 26.8 alongside this package is tested and
works on Linux. Loading another build of the same version in one process is
not supported -- the namespaces coincide, so the dynamic loader may bind either
copy's symbols. usd-core 25.11 on PyPI is such a build: do not install it in
the same environment, because importing both crashes.
Validation
pip install "usd-brep[validation]" adds
usd-validation-nvidia, with PyPI
usd-core as its OpenUSD, and registers the BrepArray schema rules (BrepValidator)
with it, so they run with the standard rules:
nvidia_usd_validate model.usda
The validation extra is not available on Linux aarch64, where PyPI has no usd-core.
The rules run in the validator's OpenUSD and do not import usd_brep. They use the
omniSolid schema bundled in this wheel unless OMNISOLID_PLUGIN_PATH points to another
copy. To run them without the plugin system, call brep_validator.register_all(), or
use brep_validator.validate_file().
License
Apache-2.0. See the LICENSE file included in the distribution.
Metadata
Release files for usd-brep 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| usd_brep-1.0.0-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details |
| usd_brep-1.0.0-cp312-cp312-manylinux_2_34_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.34+ x86-64 | Details |
| usd_brep-1.0.0-cp312-cp312-manylinux_2_34_aarch64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.34+ ARM64 | Details |
Total release size: 195.4 MB
Release files / usd_brep-1.0.0-cp312-cp312-win_amd64.whl
| Download URL | usd_brep-1.0.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 17.6 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0dfddd377592e0548b5ff730f045950dc3bd0113a41025125bd902988dbba08c
|
|
BLAKE2b-256 checksum How to use checksums |
a1735e0bfedb0f64efa3afa9ffd9a6aa817b639c38f4b7892c05d944edb810fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / usd_brep-1.0.0-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | usd_brep-1.0.0-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 90.2 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
691e9f8186878c3a68aabd1bded27c92b7dd2fd9b03ace2f729b459053711d0e
|
|
BLAKE2b-256 checksum How to use checksums |
2855ecf93fa67fa5285f298a29ff25eb8fa1ac5c0fc5a4abf989f6efb340ed1f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / usd_brep-1.0.0-cp312-cp312-manylinux_2_34_aarch64.whl
| Download URL | usd_brep-1.0.0-cp312-cp312-manylinux_2_34_aarch64.whl |
|---|---|
| Size | 87.6 MB |
| Tags | CPython 3.12 Linux glibc 2.34+ ARM64 |
|
SHA-256 checksum How to use checksums |
7852717824667b1ee1bbc605dd203c5f55bb48b96bd8e3467df3e993ed522a2f
|
|
BLAKE2b-256 checksum How to use checksums |
1f4c434e31717a196821c7dc48018735d867a4fb08d0c7c83375505a91cdc900
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|