Excel to Revit as Data for a Shared Parameter


I am using Navisworks for 4D simulation on site. Each element needs a “task name” parameter assigned to it out of Revit so that my search sets are manageable. As design variations come in, I receive a new model set from the design consultants which means all the data to help divide models into tasks is lost. To speed up re-entering data, I want to pre-populate a shared parameter with the task names. This saves on the risk of typos (which break the search sets and are hard to pick up).

long short is I am trying to take my construction programme into Revit as a Shared Parameter. I can get the task names as a list in excel as I am pretty sure dynamo wont like working with data out of MS Project or others.

The Idea is that Each element will have a task name shared parameter which rather than manually entering the task name each time there is a change, the drop down list is pre-populated with my programme data.

Looking to Dynamo on this but not very experienced with that. Does anyone have tips tricks or advise.

Cheers from New Zealand.


Hi from Holland,

The best advice i can give you is to get the unique id from the elements and use that as the key to write the data back to the elements, from excel, when an update of the model becomes available.
Keeping in mind that this key (elements unique id) is not hard linked to the element, it can change.
This change can arise as the model gets new worksets among others.
So test, test and test again. New elements wont be in your Excel anyhow.

You could create a script that copies the value of the unique id to a new parameters so it wont change i guess

I’m interested how it turns out.



You probably mean task ID (not name) ? The ID being unique, usually shorter and following a naming convention, whereas the task name can be duplicated.

I’m assuming you are using a rule in Timeliner to match up the search set with the activity from the program ?

Assuming you mean the dropdown in the object properties- this just shows parameter values that have been applied to elements of that object category- it wouldn’t necessarily show an entire list. Plus you’d still have to go around and manually re-apply.

Marcel’s approach will work- but is potentially error prone- as he says the ID can change

Since selection sets in Navisworks (as opposed to search sets) are essentially named collections of objectIDs, I’d suggest this as the simplest option, and is possibly quicker/easier to visually check in Navisworks

hope this helps



Yes Task ID’s, my mistake. Still getting used to terminology. I’m still fresh off the block.

My process has been to create a search set for each task ID and link that to Timeliner.
As entering the Data into the Revit Models is the most time consuming part in my workflow, I was hoping to shortcut the whole process in any way possible. Also, I was looking at ways to reduce the chance of typo’s in the Object Properties.

What I find very hard to overcome is the fact that every time I receive a design variation from consultants, the data I have already entered on site becomes hard to recover. I could pull each of the Element ID’s and push the data back into the new models with the respective ID’s. Risk is ID’s changing. Still have to check each Task for the correct data.

There’s got to be a better way, I’m trying to work out what it is.

Cheers all,

to clarify the selection set method I outlined:

  1. Create selection sets in NW, and name them using the ActivityID
  2. Apply a rule that automatically matches up these sets with the program
  3. When you receive an updated model from the designers- the selection sets will still work if the ObjectID has not changed. For any updates, you would need to update the selection set, or create new sets, then run the rule in timeliner again.

It is certainly possible to do an export/reimport of objectID and activityID mappings using Dynamo- but the best method probably depends on the complexity of both your program and models.