Project Solon and BipChecker for Revit 2015 on GitHub

One of the handful of Revit database exploration tools that I use on a regular basis is BipChecker, the Revit built-in parameter checker, so that is a pretty obvious candidate for migration to Revit 2015... see below.

Before I get to that, let me mention some new Revit energy analysis functionality that you might want to check out:

Simple Interactive Energy Analysis in Revit with Project Solon

Project Solon beta arrives in Revit, providing more interactive energy analysis results, the ability to create your own and publish them to Revit.

Autodesk Green Building Studio (GBS) has released the Beta version of Analysis Application Dashboard in Project Solon: You can now author your Revit model once and deliver energy analysis results to your software application, web, and mobile device. Project Solon delivers responsive results designs for your energy analysis, with customized dynamic charts of energy results.

Read all about it on the Building Perfomance Analysis blog.

BipChecker GitHub Repository and Migration to Revit 2015

Back to the BipChecker migration: while I was at it, I also created the BipChecker GitHub repository to host it, and the initial release 2014.0.0.3 based on the existing Revit 2014 code.

Once again, the migration was very straightforward: change the .NET framework and update the Revit API assembly reference paths.

The initial flat migration is available as release 2015.0.0.3 and generates just two compilation warnings concerning the use of the UIDocument.Selection.Elements property:

Here is one example of the Revit 2014 code causing the warning, from the GetSingleSelectedElementOrPrompt method:

  public static Element
      UIDocument uidoc )
    Element e = null;
    ElementSet ss = uidoc.Selection.Elements;
    if( 1 == ss.Size )
      ElementSetIterator iter = ss.ForwardIterator();
      e = iter.Current as Element;
    // . . .

Moving this to Revit 2015 to eliminate the warning is straightforward – and the result looks better   :-)

    ICollection<ElementId> ids
      = uidoc.Selection.GetElementIds();
    if( 1 == ids.Count )
      foreach( ElementId id in ids )
        e = uidoc.Document.GetElement( id );

I fixed that and published the result as BipChecker release 2015.0.0.4, which now compiles with zero wrnings.

Of course, you should normally always go for the most up-to-date master branch, though, to pick up possible later enhancements as well.