3D boxes with half-extents and optional center, rotations, colors etc.
If there's more instance poses than half sizes, the last box's orientation will be repeated for the remaining poses.
Orienting and placing boxes forms a separate transform that is applied prior to archetypes.InstancePoses3D and archetypes.Transform3D.
Fields
Required
half_sizes:HalfSize3D
Recommended
centers:Translation3Dcolors:Color
Optional
rotation_axis_angles:RotationAxisAnglequaternions:RotationQuatradii:Radiusfill_mode:FillModelabels:Textshow_labels:ShowLabelsclass_ids:ClassId
Can be shown in
- Spatial3DView
- Spatial2DView (if logged above active projection)
- DataframeView
API reference links
Examples
Simple 3D boxes
"""Log a single 3D Box."""
import rerun as rr
rr.init("rerun_example_box3d", spawn=True)
rr.log("simple", rr.Boxes3D(half_sizes=[2.0, 2.0, 1.0]))
Batch of 3D boxes
"""Log a batch of oriented bounding boxes."""
import rerun as rr
rr.init("rerun_example_box3d_batch", spawn=True)
rr.log(
"batch",
rr.Boxes3D(
centers=[[2, 0, 0], [-2, 0, 0], [0, 0, 2]],
half_sizes=[[2.0, 2.0, 1.0], [1.0, 1.0, 0.5], [2.0, 0.5, 1.0]],
quaternions=[
rr.Quaternion.identity(),
rr.Quaternion(xyzw=[0.0, 0.0, 0.382683, 0.923880]), # 45 degrees around Z
],
radii=0.025,
colors=[(255, 0, 0), (0, 255, 0), (0, 0, 255)],
fill_mode="solid",
labels=["red", "green", "blue"],
),
)

