INTERESTING REVIT API FACT: RESERVED ENUMERATION VALUES "FOR FUTURE USE"
The more you wander throughout the Revit API, the more “Easter eggs” you end up finding, although in this case, most are there for a reasonable purpose, and not for fun and entertainment as is the case with video game Easter eggs…
Anyway, one interesting feature that you may encounter is the fact that in some built-in Enumerations, you may find values that are still not featured in Revit by default, and that are labeled as “Reserved for future use”.
For those of you not familiar with Enumerations (Or Enums), they are a collection of built-in constant values that developers can access whenever a certain property can only be set to a predefined series of values. This is to prevent random values from being set whenever that would cause an issue. Usually each of these values is mapped to a certain integer index.
Let’s take the example of Revit System Classification: you can notice inside the family editor that a connector’s System Classification can only be set to a predefined number of values through a Combobox/Droplist.
In parallel to the GUI aspect, there’s a “MEPSystemClassification” Enum that includes constant values, each for every System Classification name that you can select through the family editor GUI.
However, there are values that the MEPSystemClassification Enum includes, that are nowhere to be found in the System Classification Droplist. For example, the “CondensateDrain” one.
Another interesting fact is that these values are labeled as “Reserved for future use”.
This is both clever, as it’s a provision for potential MEP systems that are still not fully featured and that might be included later on, and interesting, as it might give us a glimpse of what future versions of Revit might include.
So, do you think that Revit 2023 will include a “Condensate Drain” MEP System Classification?