And to complicate this more, here’s some levels from a split-level residential project I worked on. Although in Revit, you can change the bounds of a level so it only exists around where it’s used in the model, most Reviters (Reviteers?) I’ve met don’t usually do this.
I think in general, the 3-fold approach is best (and a good general rule for other features too):
- Use an intelligent algorithm to try to find a logical level to host to. This way, something smart tries to happen, even without and custom user input or settings.
- Have custom user settings so that the user/designer can customize the window/level behavior in case their firm’s standards differ from the standard chosen in the previous algorithm.
- Have a logical default level that the window can fall back to (closest level below sill?)