image by rhshackelford

create placeholder sheets using excel with dynamo v.1.5

image by rhshackelford

I made a post a few weeks ago about creating dummy sheets in Revit to account for sheets that consultants working in Auto CAD might sent you. Since then I have been receiving quite a few emails about creating placeholder sheets instead and would my definition work. Answer is, YES!

Please visit this post to get the excel import set up.

Now, the only thing that changes is the last custom Python node. First of all, now we only need two(2) inputs to it, like so:

As you can see it just got a lot simpler. Sheet Number and Sheet Name are the only two inputs now. The Python node code looks like this:

As you can see i have gotten rid of setting a few of the filtering parameters that i was setting previously, but also instead of creating a real sheet now we are creating placeholder sheets. Now, an expert Revit user will know that Placeholder Sheets can be tricky since they don’t automatically show up anywhere. When running schedules make sure that you un-hide them. Here’s a few words that Autodesk has put together on this topic:

Sheet Lists and Placeholder Sheets.


  1. Dmitry Dronov says:

    Have this message now…

    What wrong with this files?

    • Konrad says:

      to answer your question about the message. you are getting it because you already created those sheets. they are placeholder sheets. i think at the end of my post i put in a link to autodesk help website that explains how to make them visible in a drawing list. you can only see placeholder sheets in a schedule. you do not see them in the browser. this is an alternative method to the one that i posted about before where i was creating real sheets and they were showing up in the browser. here’s a link to the autodesk help page: you can delete placeholder sheets from the schedule and that will delete them from the project as well, so that message will go away next time you run your definition, or you can specify new numbers since Revit will not allow duplicate sheet numbers. good luck!

  2. Sean Bujold says:

    Getting this error message in first Python script. I am new to Dynamo and Python. Corrected a few lines with the tab issue mentioned in similar posting.


    IronPythonEvaluator.EvaluateIronPythonScript operation failed.
    Traceback (most recent call last):
    File “”, line 41, in
    AttributeError: ‘float’ object has no attribute ‘split’

    38)#compare excel sheets to project sheets and pass only new sheets
    39)newNumber, newName = [], []
    40)for i, j in zip(excelSheetNumber, excelSheetName):
    41) if “”.join(i.split()) in projectSheetNum:
    42) continue
    44) newNumber.append(i)
    45) newName.append(j)

    • Sean,

      The problem is that you are feeding it a “float” (number with decimal places) instead of a “string” (text). Split operation works on strings only, thus the error. Please make sure that you are supplying only strings. In my case i had text in my sheet number (A100) so split was not an issue, but if your sheet number is only a number (100) then split will not work. I think that I should have accounted for that in my code, so I will have a look at it sooner or later. For now just make sure that you are using sheet numbers with a text in it…(A100, A200 etc). That should fix it.

  3. Sean Bujold says:

    Your suggestion got me past the ‘string’ issue, but have hit a couple other things.

    This error is in second Python Script
    IronPythonEvaluator.EvaluateIronPythonScript operation failed.
    Traceback (most recent call last):
    File “”, line 40, in
    TypeError: NoneType is not iterable

    When I work backwards:
    1) I am only getting one item in list coming off List.GetItemAtIndex for sheet numbers and names.

    2) With a ‘watch’ on first Python, I am only getting last item in list from List.FilterByBoolMast [4 items in list]

    3) ListFilterByBoolMask is giving me 4 items in excel file for numbers and names, but first item in excel file already exist in Revit file. I created excel file with one number and name already in file and 3 new items. Object.IsNull is giving a “false” when it should be “true” for first item in list. (This window won’t let me past in screen capture.)

    4) Dynamo is reading excel file correctly. List.Map is showing correct elements, 4 items.

    Thanks so much for your help.

    • Can you post your files? Can you post any images so that I can have a better understanding of what the errors are? I can’t answer question without seeing the actual Revit, Dynamo, Excel files to run a test on them.
      From the error that you are getting I am assuming that Python node at the end received no input which would be the case if you were successfully able to create the sheets you wanted to create already and thus first Python node seeing that they are all existing already passed no sheet names/numbers out. Remember that you are creating “placeholder” sheets which are not visible in the browser. You can check if you created those sheets by creating a drawing list and seeing if they show up there.

  4. Sean Bujold says:

    Where would you like me to post files? Dropbox? Is there a method on this page? Not able to paste image in this message.


  5. Sean,

    Can you see this window in the comment section, or is this only available for me (admin rights)?

    Ps. DropBox is good also.

  6. Sean Bujold says:


    Have tried a few times to send zip file from this page but not taking. Putting files at DropBox.


  7. Sara says:


    New to Dynamo.
    I’m working through this tutorial. I keep getting an error after the first python script. Is there another step I am missing? Any ideas is appreciated.

    Attachment:  Dynamo-error1.png

Leave a Comment