The Revit API includes Methods to retrieve Bounding Boxes of Model Elements. There is a catch however… The Bounding Boxes returned are always aligned to the default axes of the model coordinate system.
This is “close enough” if the software you are engineering only needs to get within the ballpark. An “Auto Connect” software tool for example can use the BoundingBoxContainsPointFilter Class to determine whether or not it should check relevant Connectors for missing connections.
For Automation, Spooling, Tagging, and Coordination tools however, this simply will not suffice. It’s up to us to “roll our own” implementation of the Bounding Box. We must always determine the “tightest” Bounding Box possible!
The implementation isn’t trivial (unless you happen to be a mathematician), but the implications are immense!