In RhinoCommon an empty bounding box is this. new BoundingBox(1, 0, 0, -1, 0, 0);
A box that has a width of -2.
If you use box.Union(Point3d.Unset) you’ll notice the width becomes 2 because when using Union RhinoCommon attempts to make the BoundingBox Valid, which swaps the values.
Thanks for the explanation, I’ve already used the intervals in the code to get an empty box as you showed. However I think the behavior of the constructor that takes the BoundingBox.Empty might be misleading.
I’m asking internally about this, I think the way Box does Union is incorrect tbh. The proper solution might be to create your own Union method for now.