Sheet List of specified values

Hi Everyone,

maybe it’s a common question, but I couldn’t find any pertinent post on the forum.

I’d like to create a specific Sheet List based on some Sheet Numbers the user gives to Dynamo. Is there a way of doing that? (The use will type the Sheet Number in the code block, or from Data types drop down list).

Thanks for all your help!



I might be able to help you with this, but could you tell me what you are trying to accomplish.?

There are a number of way of give dynamo the numbers Excel Spread sheet, .csv files, or as you say manually typing in in a code block like so:


The way I usually accomplish this is by using an Excel spread sheet using the following nodes.

File Path


1 Like

Why not use Data-Shapes to give the user a list of ALL sheets and have the user select the ones they want?

1 Like

Hi … thank you so much for so many replies? I didn’t actually have problems exporting to a SPREADSHEET (in Excel)… What if I want that these sheets create a SHEET LIST (internal in Revit) ? That’s my problem…

Yes, I thought of that… the user select the sheets with the ui.listview graph… but how could they put it in a SHEET List (internal in Revit, no export in Excel) ?

Create a project parameter (manually or through Dynamo) that will be used for custom sheet lists. Have the user select the sheets to be added to the new sheet list and have them specify a filter value (ex. “Permit Set - Mech”). Apply the parameter value to all the sheets selected and create a new sheet list schedule with a filter that matches the filter value.

I was thinking of something more elegant, without a “custom” parameter… I mean, if I had to fileter them out, the user can actually do it with some criterias… I was rather thinking, is there a way of including in this sheet list random sheets, that have not a parameter in common…?.

With The data-shapes listview definition, the user choose a random set of sheets… how can he put them into a sheet list…?

You’re still bound by the rules of Revit. A sheet list is just a schedule of sheets. The only way to limit a sheet list is with a filter. You can use Dynamo to do all of this for you though.

Now I was thinking (how good is when mindstorming a problem :p) to override the problem I can select THOSE drawings from the entire list of sheet and apply a filter mask, potentially should work… I only got a question left:

How to create a Sheet list from dynamo?
I tried the View.Schedule create node but seem like doesn’t like sheet category… :stuck_out_tongue: have you ever used that?

You would likely have to use Python to create your sheet list.

Good tip, I’ll have a look a it! Thanks!


I do not have access to dynamo on the weekend so I could not answer you back, but I’m still missing the point.?
You are trying to create a sheet list for what reason.? printing/exporting or for drawing list to put on a sheet.?

@Nick_Boyts suggested using Data-Shape nodes might be your answer if you just want the user to manually pick the sheets, but you could also do this within Revit to create your SheetSet.

I usually use dynamo to automate redundant task which can be done programmatic. I’d like to give an example using your question as a bases below.

When it comes to issuing drawings I would get a drawings list from Project Manager (PM) or a Team Lead (TL). This would be either a form of email, word or excel document. Now picking the sheet again in Revit to create a SheetSet is redundant because the list is already create I don’t want to do this again. I’d like to use dynamo to automate this process using excel to push the information back to Revit.

In this case I use this node: (spring nodes)

The first example I posted was just an example to read the data from excel (Sheet list) using this data I filter the sheet using the sheet number. Once I get all the Sheet I need to link it into the node above in “views”. This will create the SheetSet for you without the user manually picking each Sheet again in Revit.

view = View Elements
setName = name of the set (string or text)
Overwrite = If the set name exist do you want to overwrite (True or False)

I hope this is what you are looking for.?

Kind Regards

I need a Sheet List to add it to a some drawings… As I said before, sometimes the user doesn’t have a particular criteria for this list, I tried but sometimes it’s impossible to filter them out without excluding some of the needed sheets… The fastest way should be UI.Listview definition, then what?

How should I translate from the set to a List?

I think your problem is more of a work flow issue than a dynamo problem. The example I have been giving you may help with dynamo for automation of a curtain task. But unfortunately it cannot solve human issue. :slight_smile:

So I think I understand now; you want a drawing list as Schedule to be place on a drawing. I think the simplest approach works much better than a complex approach.

I believe someone on this trend already mention, either add a new parameter on the sheet which you can filter or use an existing parameter not used for anything that can be filtered. This solution will only work if you are ok with having the schedule constantly changing on every submission. Personally I would use a text parameter, this way I can have two or more submission at the same time and contain sheet which belonging to two or more submission on a separate sheet schedule.

By using dynamo and example I have posted you can push the information from excel to Revit. Example of Excel spread sheet below:

Apologies I cannot solve work flow issues, but I can suggest something that might work for you. You just need to figure out the method you want to use.

dear cescobido,
thanks for the highlights and explanations. As you said, it is a workflow problem I’m trying to resolve, based on my users’ experience. I was wondering if there is already something useful in Dynamo, rather than using a parameter (we already use lots of parameters in projects, I don’t want users to be confused more than normal). I should find a concise way of filter the sheets using the parameter they’re using now.