BipChecker is a tool that I would recommend every Revit developer to install, just like RevitLookup. It simply lists the values of all parameter data stored on a selected element.
Similar access is also offered within RevitLookup by the option Parameters > Built-in Enums Snoop... BipChecker offers much more functionality, though, and is a really powerful Revit database exploration and debugging tool.
The built-in parameter checker has been part of the ADN sample labs for ages now, and the original version is still provided in the Xtra materials. The time has come to finally remove it from there, though.
First, since I find it useful on its own, I extracted it into a separate add-in and baptised it BipChecker.
Secondly, Victor Chekalin enhanced it by implementing grouping of the long list by parameter group, data type, built-in versus standard Parameters collection, read-write, or none.
This tool always suffered one serious problem, though, due to repetitions in the definitions and assignment of some of the built-in parameter enumeration integer values.
Victor now tracked down and fixed that issue as well.
Here is his explanation:
Now I work closely with Materials and use our BiP checker. I noticed two strange things when I check material parameters using BiP Checker. The first one, the material cost stored as BuiltInParameter.DOOR_COST. The second one – some parameters appear twice or even triple:
I researched this and found the reason.
To iterate all built-in parameters, we used the Enum.GetValues method:
var allParameters = Enum.GetValues( typeof ( BuiltInParameter ) );
This makes use of the integer values of the Enum. If different Enum values have the same integer value the GetValues method doesn’t work properly.
For example, BuiltInParameter.ALL_MODEL_COST and BuiltInParameter.DOOR_COST both have the integer value -1001205:
- DOOR_FIRE_RATING = -1001206
- ALL_MODEL_COST = -1001205
- DOOR_COST = -1001205
- ALL_MODEL_MARK = -1001203
In this case, BiPChecker shows DOOR_COST twice and doesn’t show ALL_MODEL_COST parameter at all.
The Solution
Use Enum.GetValues and Enum.TryParse instead of Enum.GetValues to get the BuiltInParameter value, and use the BuiltInParameter name from Enum.GetValues. This requires the .NET framework 4.
Now it looks much better:
Here is BipChecker05.zip containing the full source code, Visual Studio solution and add-in manifest of the updated BipChecker version 2013.0.5.0.
С уважением from Чекалин Виктор.
Many thanks to Victor for his research and important enhancement!
To wrap it up, here is a snapshot listing all built-in parameters on a wall with no grouping enabled, so that the results can be sorted across all groups by any desired criterion:
Hi Jeremy,
I'm sorry that I have to bother you with a different topic here.
Last week, on the Autodesk's Revit Clinic blog site, there was an announcement about the availability of a late Revit 2013 Hotfix for Server and Part Family.
Although the name says Revit 2013 Hotfix, the Readme file specifies that the affected products are Revit 2013 Architecture, Revit 2013 MEP, Revit 2013 Structure and Autodesk® Revit® Server 2013.
This is a little bit misleading and I am not sure that this Hotfix applies also or not to Revit 2013 One Box product.
In the same time, the comments section to this entry are closed (which I find a little disrespectful), therefore being impossible to ask for some enlightenment on this topic.
Do you have any idea about this issue or could you raise the awareness off your colleagues about opening the comments section so that people can ask for help and explanations?
Thanks in advantage for your kindness and time.
Regards,
Constantin
Posted by: Constantin Gherasim | January 28, 2013 at 15:19
Dear Constantin,
Thank you for your appreciation.
I asked my colleagues, and they reply:
I just checked in Typepad again and the comments for the post are set to Open, yet when I visit the post they are Closed. I’m not sure what happened.
I just put a note at the bottom of the post indicating it’s applicable to all of the Revit products, including “onebox”.
I hope this helps.
Cheers, Jeremy.
Posted by: Jeremy Tammik | January 29, 2013 at 08:07
Thanks again Jeremy,
Helpful and obliging as always :)
Constantin
Posted by: Constantin Gherasim | January 29, 2013 at 12:00
Thanks for sharing Jeremy.
Nice work Victor.
Regards, Chris
Posted by: Chris Fagan | February 19, 2013 at 05:23