novaphy.SceneBuilderEngine¶
High-level scene build orchestrator. Consumes parsed URDF / USD asset data and produces a finalized NovaPhy Model plus per-element metadata (link / joint / shape names, source paths). Use this when the partner application needs to round-trip names and references back into NovaPhy; for purely programmatic scenes prefer ModelBuilder directly.
Methods¶
| Method | Description |
|---|---|
build_from_urdf(urdf_model, options=UrdfImportOptions()) → SceneBuildResult |
Build a NovaPhy scene from parsed URDF data. |
build_from_openusd(stage) → SceneBuildResult |
Build a NovaPhy scene from parsed USD stage data. |
Example¶
import novaphy
# URDF path
parser = novaphy.UrdfParser()
data = parser.parse_file("robot.urdf")
opts = novaphy.UrdfImportOptions()
opts.floating_base = True
opts.collapse_fixed_joints = True
engine = novaphy.SceneBuilderEngine()
result = engine.build_from_urdf(data, opts)
model = result.model
print("warnings:", result.warnings)
print("root link:", result.metadata.root_link_name)
# USD path
stage = novaphy.OpenUsdImporter().import_file("scene.usda")
result2 = engine.build_from_openusd(stage)
Notes¶
- The engine is stateless across calls; reuse a single instance for an entire batch import.
build_from_urdfreturns immediately with a populated SceneBuildResult.warnings list when the URDF has features NovaPhy does not yet implement (e.g. transmissions). No exceptions are raised for soft incompatibilities.