Pages

Monday, July 25, 2016

Project 3D Lines Onto Topography

Projecting Lines onto Surfaces within Revit has been tricky for various reasons. One could argue that projecting lines and modeling with primitives are precisely the kind of things Revit was designed to avoid; and I agree with this attitude. But, there are times when you simply want something done a particular way. Fortunately Dynamo can let you be that impish individual that you want to be within the Revit world.

Dyanamo and Adaptive Lines

This recipe documents the process of using Dynamo to project Property Line elements on to the Toposurface within the Revit Project. The actual line work is somewhat tricky. One cannot use Revit's Model Lines for this purpose because each Model Line needs to be associated with a Sketch Plane. With a Complex Toposurface, this approach can be extremely convoluted. A simpler approach is to use a linear element that is not tied to a Sketch Plane. The only class of elements within Revit that allows non-associative placement is the Adaptive Component Family. Accordingly, the projection lines are traced at the start point and end points using a single Adaptive Component consisting of two _Adaptive Points and a Model Line stretching between them. The complete graph and family can be found here:

The Uncomplicated Approach

One can of course eschew the complicated approach of using Dynamo and simply use the Sub Region within the Massing and Site toolset. The results are acceptable except for the fact that one cannot change the Line Style or host any other family along the line. The image below shows the results of using the Sub Region.


Thursday, July 21, 2016

Place & Update Generic Annotation Tags in Revit using Dynamo

As of Revit 2017, the task of displaying Area Tags in Floor Plans outside of Area Plans (such as Rentable Areas) is a manual one. An example of such an application would be an Apartment Building where the total floor area of every Apartment needs to be displayed in addition to room names and dimensions.

Unfortunately, one cannot place an Area Tag in a view other than an Area Plan. Although one can place a Room Tag in an Area Plan, a workflow where the primary plan views are based on Area Plans becomes quite restrictive as the Area Plan View Type does not allow some annotation types such as the call out head to be displayed. Additionally, the Area Boundary Lines themselves can be very annoying.

Many firms resort to a work-around where one places a Generic Annotation Tag in the Floor Plan views and manually updates the Apartment Number and Area. It feels like one is going backwards after adopting a powerful platform like Revit. This chapter is about automating the process of both placing Generic Annotation Tags and updating the same using Dynamo.

The first video of this post shows the placement of Generic Annotation Tags. The second video below, shows the process of updating the tags based on Area properties.

I've documented the rest of this process in the Gitbook and the source files are available on Github. Enjoy!

Tuesday, July 19, 2016

From Revit to Excel and Back

Excel and similar spreadsheet programs have always been the mainstay of data entry and analysis operations. Even with acess to more sophisticated applications, most architects and engineers, still prefer to modify parameters of projects and components with a fluid interface such as a spreadsheet so that they can take the data elsewhere and do interesting things with it.
The Revit Project being a database, always lent itself to extension using Excel. Dynamo made it even more accessible. This recipe is a small demonstration of all the pieces needed to not only extract Revit component parameters to Excel, but also push back updated data back to Revit after performing operations within Excel.
Surprisingly, the biggest challenge turned out to be not the actual connection to Excel, but the smaller nuances of how the parameter data gets modified during the process of transferring between the two applications. If you would like to skip the explanations, you can download the dataset here.

Check out the complete recipe at the work-in-progress GitBook (which, by the way is an awesome platform)