This used to drive me crazy.
I’d be putting together some sheets in Revit. I’d create the first sheet, typically a floor plan, then I would add the views. Pretty standard stuff. These sheets usually include only a single plan view and maybe a legend or two. Once I had everything organized on the sheet, I’d move on to the next sheet. And the next sheet. The layout would be pretty similar from sheet to sheet.
I work on mostly large projects, so I’m creating lots of plan and reflected ceiling plan sheets in the model file. If you’re like me, you want all the plan and ceiling plan views to align from sheet to sheet. This is important because when you flip through PDFs of the sheets, you can see the building stack up, one level on top of the other.
The problem is that Revit doesn’t automatically align views between sheets. Yes, you can use guide grids but this requires you to open every sheet and manually adjust the views into position. Not a problem if you only need to do this on a few sheets but when you have over fifty plan sheets, not the mention the same number of RCP sheets, it’s a real time suck.
What would invariably happen to me is that I’d get the views ALMOST perfectly aligned. They’d look good on the screen, but when I flipped through the PDF, the views would jump around from sheet to sheet. It would be very slight, but I would notice it. So would everyone else who viewed the PDFs.
This would drive me crazy. I’d go back and nudge the views ever so slightly. Then I’d reprint the set and flip through the PDFs. And again and again until I got it right. I’m all about working smarter, but this is one area where my obsessiveness gets the better of me.
What was really frustrating was that I never had this problem in AutoCAD. I could easily copy layouts from sheet to sheet. It was really easy to get a whole set of drawings perfectly aligned. Yes I know, Revit isn’t AutoCAD and BIM isn’t CAD but this is one of the few areas where traditional CAD has a leg up on BIM.
At least until today. . .
Easily Align Views on Sheets
Wouldn’t it be great if you could align multiple views between sheets? You could just setup one sheet the way you want then select all the views on other sheets and align them all perfectly. Think about all the time and frustration you’d save yourself.
The “Align Views” macro takes away the guesswork and automatically aligns views between sheets. It’s like a dream come true for sheet obsessives like me.
The macro is very straightforward. Simply select the primary view then select all the views you want to align to this view.
You can also specify the alignment point. The options are: center, top left, top right, bottom left, and bottom right. If you’re aligning views of different sizes and want them all justified to the left or right, or top or bottom, you can specify the alignment point to get the justification you need.
The macro works by collecting all the viewports in the current model file. The viewport class is used to connect a view to a sheet. It has properties for both the view ID and the sheet ID, as shown in the screenshot from the Revit API help file below.
In order to move a view using the API, you must specify the view’s new center point. The macro calculates new center points based on the selected alignment point. It uses the view’s outline properties to determine the minimum and maximum points of the view. Adding or subtracting these points from the primary view’s outline points determines the new center point.
Fortunately, the Revit API provides easy methods for adding and subtracting points. As you can see in the code above, the macro determines the difference between the primary view’s and the selected view’s maximum or minimum point. This delta then gets added or subtracted to the selected view’s center point. The macro uses this new center point to move the view.
Download the Macro
You can download the macro from the ArchSmarter Revit Macro library. Don’t have access? Sign up for ArchSmarter updates in the form below and get immediate access to this and six other time-saving Revit macros!
Technically you have been able to align views since Revit 2012. On any sheet, drawing a detail line will snap to a grid line. Copy and paste that detail line from sheet to sheet in the same place. Then simply move your view using the move command and grabbing the grid line as your base point and every view is then aligned.
That’s true Gordon. You can create a single detail line where you want your view, select all the views using “Select All Instances > In Entire Project” and move the views into position. This only works, however, when your views start in the same position and are of the same type. The macro is a little more flexible. I created it because I needed to align views that were located at different start points on the sheet and were of different view types.
I find the Revit sheet align view tools clumsy and time consuming. Fine if you have a couple of sheets but 50 sheets wastes a lot of time so this macro helps a lot. I have similiar tools in AutoCAD that I apply across drawing sets. (some sets are over 500 files).
I would also be interested in extending the macro to align views across Revit files.
Micheal
I assume that this tool aligns based on the crop box. Is there a way to align based on some piece of the model, i.e. grid line?
Yes, you’re correct. I’m working on a version that aligns the views based on a shared point in the model. This is proving a little tricky but hopefully I’ll have something soon.
I find this macro very usefull. It’s a quick tool which works great for us. Thanks
I want another new macro for Toposurface points to step edited floor or roof.Thanks
Are sheet coordinates similar to Autocad 2d coordinates?? This is what I am starting to think but am not 100% sure. If the are, how do you find 0,0?
Emmett,
Yes, Revit sheet coordinates map to AutoCAD 2D coordinates. Unfortunately, there’s no easy way to find the 0,0 point in a sheet view, other than create a marker in ACAD at 0,0 then insert into your sheet.
Michael
Any chance for a Revit 2018 update?
crickets lol…did you find an answer to this
You can find updated versions of the macro here:
https://archsmarter.com/toolbox/