When developing a project document list, the most convenient way is to create information within Excel. The formulas and formatting in Excel allow for a lot of mundane document management tasks to be expedited. The next step is to get the document list into Revit and generate sheets from that list.
Option 1: Simple workflow
For a simple document spreadsheet containing sheet number and name information, we can use a simple Dynamo script as follows.
The title bock family and file path of the sheet list needs to be assigned as the inputs for the script. The list is then sorted and any redundant spreadsheet data removed before the sheets are created. There are two possibilities for sheet creation within Dynamo:
- ‘Sheet.ByNameNumberTitleBlockAndView’ – This is a standard Dynamo node. It requires Sheet Names, Sheet Numbers, Title block Family Type, and View inputs. If the project is in a very early stage, the views for the sheets have generally not been created yet. Therefore they cannot be used as an input without generating an error.
- ‘Tool.CreateEmptySheet’ – This is a node from the SteamNodes package. It requires Titleblock Family Type, Sheet Numbers, Sheet Names and the refresh inputs. The good thing about this node is that you don’t need to have the views in your model for it to work, as it will create empty sheets.
Option 2: Advanced workflow
For a more complicated spreadsheet, we may have multiple worksheets and additional parameter information. For example, BVN utilises an organisation method for assigning different trade packages in a document set via the ‘BVN Alphabet’ parameter. This standard allows us to group and quickly identify views and sheets in the Project Browser and group trade package documentation together. In the example below, the Excel document spreadsheet is identifying Sheet Number, Sheet Name, BVN Alphabet series, Sheet Issue Date, Design Stage, as well as having multiple worksheets corresponding to the different BVN Alphabet series.
Although these additional fields allow for greater functionality in Excel, they add complexity in how Dynamo extracts the data. The enhancements to this script allow for the other sheet tabs in Excel to be read.
21 Comments
Michael Broderick
Hi Paul,
Thanks for posting this. I have been performing this exercise for a little while now, but with ‘Sheet.ByNameNumberTitleBlockAndView’. I wasn’t aware of ‘Tool.CreateEmptySheet’; it’s much better.
How would you go about placing corresponding views on the created sheets? Tool.PlaceViewsOnSheets?
(Perhaps the topic of another post?)
Thanks,
Michael.
paulwintour
Hi Michael. Yes I haven’t looked at it (yet) but definitely a topic for another post. But if you search the DynamoBIM forum you’ll find loads on this. It is probably the most viewed topic on the forum so it should be hard to find the answer you are after.
Fred Ortiz
Thanks Paul! I didn’t know about the “Tool.CreateEmptySheet” node either. Good looking out!
Have you seen the same script with the ability to create sheets per discipline, for an MEP project?
I just starting playing around with this option but haven’t got it to work for me just yet. Thanks!
paulwintour
Hi Fred. What do you mean by per discipline? How are the disciplines differentiated – through a sheet number prefix?
Rob
Is thereally a place where I can download all your Dynamo scripts?
Thanks
Rob
paulwintour
Hi Rob. No not at the moment. I am thinking of setting up a premium content area with video tutorials and scrip downloads though. But this would be paid content. Would this be something you would be interested in? Alternatively Parametric Monkey is now available to develop and customise scripts for businesses.
Kane Mannix
Nice and easy for a Dynamo newbie to understand. Can you give me some ideas on how I can define a Discipline for all my sheets?
paulwintour
Hi Kane. Thanks for the feedback. If discipline is a parameter, you can just use the ‘Element.SetParameterByName’ node. The image at the end of the tutorial shows this (albeit for other parameters).
Claudia Kopietz
Hi Paul,
Thanks for this pots.
I’m new to Dynamo and trying to do this script for our office as would help speeding the workflow. But I can’t find this node ‘ Tool.CreateEmptySheet ‘ would you be able to tell me where can I download it from?
My version of dynamo is 1.3.2 not sure if works with it.
Many thanks
Claudia
paulwintour
Hi Claudia. If you read the tutorial it tells you which package it’s from
Leo R Malkin
im having the same trouble as claudia. tried to type every version of the title but not went to search and cant find it maybe you can tell us the directory path. working with revit 2019 and dynamo 1.3.4.6666. Read your tutorial and steam does not exist in the directory.
paulwintour
Hi Leo. As mentioned in the tutorial, this is a node from the SteamNodes package. It is not installed by default so you’ll need to go to the Dynamo Package manager and install the SteaNode package first. Then you’ll be able to find the node.
Armando Martinez
Paul,
Thank you very much for this, worked like a charm!
I also needed to make the sheets by discipline for our MEP firm like the other posters on here and for each discipline we use a different title block type to turn Engineer’s Seals on/off for the respective disciplines. Within the same Excel workbook, I made different sheets (layout tabs at bottom of Excel workbook for those of you that may not know) for each discipline.
If you guys inquiring about the disciplines are simply wanted to divide the sheets up in the model by discipline, I would change the Browser Organization in Revit in View>User Interface>Sheets and select “Sheet Prefix”. No more question marks when people don’t add the discipline to the sheet, much less of a headache than adding a discipline.
Easiest thing for anyone here wanting to do create sheets per discipline is copy all the nodes while they are still connected in Paul’s script and copy it down. You can do this by holding Ctrl+Left Mouse Button and drag it down. Then change the Sheet Name and in our case we also changed the Family Type for the Titleblock. Wish I could have just copied the image here for clarity.
As for everyone asking Paul about Steam, you have to install the Steam package from Packages>Search for a Package>SteamNodes.
Paul thanks again, this is huge for us!
Dolan Klock
Hi Paul Wintour, thank you for this tutorial. What if someone already has sheets created in the model and are implementing this later in order to control the sheet name and number from an excel and then run the script to rename renumber sheets as sheets change or get added. Is there a way to establish a link to existing sheets and numbers between excel and Revit with this script? Thanks!
Paul Wintour
It depends. If it’s something simple like sequential numbering then this is pretty easy to implement. If however, you need the naming to be based on the content of the views (i.e. drawing sets), then this gets a little more complicated as you need to know what views are on the sheet. Is this what you mean?
Mark Perry
Thanks a ton, Paul. HUGE time saver
Paul Wintour
Thanks Mark. Glad you found it useful.
Mohamed
How can we find the script? thank you in advance
Paul Wintour
You re-create it from the images. I don’t upload completed scripts, as you learn nothing from the process.
Mohamed
i have an error in Element.setparameter by name
DELETING REFERENCE OF A NON-POINTER USER ELEMENT
Paul Wintour
Hard to know without seeing it, but it sounds like you have wired up the node incorrectly.