Only modifying part of a list

I have been able to control the information for modifying two parameters project wide, but now I need to be able to tell Dynamo which drawings to do the action to. As you can see the info can be changed. How do I pull the specific sheets out of the list, and then only tell it which ones I want to change?

Take a look at filter by bool mask:

Or index of in combination with get item at index:

Tried the first one and it works on all the sheets without a certain piece of text within the number, which is great, that can work for an “all and done” situation.

I like the second because it gives me the opportunity to chose the sheets I wish to affect by sheet number, however, if I have two people reviewing these sheets, say one has 50 sheets and the other another 50 sheets, they need to be able to input which sheets they affect. Is there a node that can be in text format or even a range that the user can type their specific sheets into? I could not find it anywhere. This would be in between the “sheet.sheetnumber” and “indexof”, I believe. The code block node. I couldn’t imagine putting in 50 numbers right there in that format, LOL!!

Thank you a lot for the suggestions.


There are numerous ways you could go about splitting a list or sharing the task.

You could simply just get items at index with a sequence up to 50 and another starting from 50 up to 100.

You could also export the data to excel and manually split the lists in two sheets, one person runs one, the other person runs the other using the second option.

Another way to do it could be by creating viewsheet sets in Revit, get all the sheets in the viewsheet set in Dynamo and run each simultaneously by different users.

Or perhaps you could sort by a key identifier, like part of the sheet number or another parameter.

There are probably 20 other ways you could do it. Whichever way works best for you and the situation.


@Daniel_Woodcock1 Is right. Their really are several ways of going about doing this. Pick which ever makes the most sense in terms of how it’s broken up and what parameters that will entail and that should direct the best way to build this.

Two more suggestions just for the hell of it:


Thanks for the tips. I tried yours and haven’t gotten it to work like I think it should. The easier the better for my non dynamo friends. All I want them to have to do is put in three inputs, Initials, Date and sheet range if needed. Situation will occur when more than one of us are reviewing assembly drawings in the central file. See image below. All I need to do is search through the sheet number/assembly number, name is not important as they are all the same. If it can be used as a filter then sure, but only if necessary, which I don’t think it is.

I will look through the other comments to see if I can glean anything to add. Thank Daniel for the suggestions.

Since the friends are “non dynamo” by their nature, maybe a sheet schedule in revit would be a better tool for this job? Just filter out the HW sheets, sort by reviewer as a heading and then drawing number. Add filters and disable “itemize every instance” as needed or use the project browser to grab multiple groups of sheets in one go.


In theory this works only if there was an original reviewer. In the beginning of the project there is no reviewer, so you’re not going to get the breakout/filter by reviewer. I also had to make sure the filter language was correct in that it did not pick up any sheets over, say A020, by is less than or equal to “…” This still takes up time and I still have to go one by one to make the revision. I want a one stop shop on this task. If my reviewer only has to put in the sheets they reviewed, their initials and the date once and then go about their business, that would save a lot of time when I have over 100 assembly sheets to review sometimes. The review is done in Bluebeam PDF and then another worker makes the revisions. Not like I’m reviewing in Revit and then making the changes.

However this does allow me to pull this view into Dynamo instead of filtering out sheets without the HW and maybe having it in this format will allow the list feature to work better. I will work on it this way as well.

Here is what I have so far.

Only Item missing is the filter part. Being able to tell Dynamo I only want certain sheets (items above not in sequence). When I use list.sort it 1. doe snot show me the actual numbers of the sheets and 2. Does not put them in numerical order. It needs to be in numerical order so when the reviewer adds in their range it pulls the right sheets. I do know that it will pull in 0 as a sheet so that will be something they have to learn. 0 in Dynamo would be sheet 001 in Revit. Any suggestion on the list problem would be great. That would fix the issue I believe.

Thanks to all for all your help and comments.

AH! I thought you were looking to assign reviewers/responsibilities as you were getting underway.

You might want to look into exporting the markups using Bluebeam’s markup summary and automatic page label tool.

Bluebeam: Run the page label tool on the region you place your sheet numbers (This ensures ensure page labels match sheet numbers). Export all bluebeam markups to csv.

Dynamo: Read csv. Group markups by page label. Use unique values to filter sheets by unique page label = sheet number. String from array the reviewers. Get last for date parameter (assuming you just want the last markup date). Assign “reviewer” to the filtered sheets using the groups. Assign review date using the the “date created” field.

Once you set up the script in dynamo it would be as easy as saying opening the script, navigating to the exported CSV file, and hitting run. This would be done by one member of the Revit team.

The bluebeam export is a simple step for either the Revit team to run when they go to pick up the markups, or the Bluebeam team could export it when they are done as a “final check” to ensure that every page has been accounted for.