In Dasher we have some interesting functionality to isolate parts of the building by level. This is increasingly something you can do via “out of the box” Forge viewer functionality, but we’ve found a couple of reasons to go beyond that basic capability:
- Not all elements or objects are assigned to the correct level.
- Some elements – such as those belonging to the building facade or perhaps internal pipes – transcend levels, and so don’t behave well.
It’s of course possible to split elements/objects that belong to the second category, but we tend to take the approach of allowing certain objects to be hidden completely from the “per-level” view of a building. This allows us to add things like ceilings or lights to the list, which allows the individual levels to be displayed much more cleanly and in a way that’s more useful to the user.
Originally when we implemented this “ignoreAtLevel” list, we did so as a list of dbIds. This was overall a bad idea, as it…