Sheets from Excel

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.

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 which then get 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 that 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, so they cannot be used as an input without generating an error.
  • Tool.CreateEmptySheet’ – This is a node from the SteamNodes package that 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 already created for it to work, as it will create empty sheets.

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.

12 Comments on “Sheets from Excel

  1. 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?)


    • 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.

  2. 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!

    • Hi Fred. What do you mean by per discipline? How are the disciplines differentiated – through a sheet number prefix?

  3. Is thereally a place where I can download all your Dynamo scripts?



    • 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.

  4. 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?

  5. 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).

  6. 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

    • Hi Claudia. If you read the tutorial it tells you which package it’s from

  7. 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 Read your tutorial and steam does not exist in the directory.

    • 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.

  8. 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!

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.