Extracting the Keynote Text parameter and pushing it to another parameter?

I have been trying to get Dynamo to solve a bit of a problem that we have in our office…….without much luck to date.

OK, the problem is……In our office we use keynotes and have an Abbreviation (Keynote) and a Description (Keynote Text) in the keynote file.

When we export a model from Revit in any type of format, (even .rvt), if anybody opens the model in a viewer program and selects an object all they can see in its properties is the Keynote (which is just an abbreviation). What we are trying to do is somehow access the Keynote Text parameter and assign it to an objects Description parameter. It seems really strange that you input the keynote database (.txt file) and then the only place the Keynote Text parameter field appears is in a Keynote Legend and nowhere else in the model.

In Schedules - The Key value is the same as the Keynote parameter in the objects Type Properties, so this is easy to access. When you try and create anything else, like a typical Multi-Category schedule the only parameter you can access is the Keynote….

Where does the Keynote Text parameter go??? And why can’t I access it anywhere else???

We do have a workaround using BIMLink but I am hoping that Dynamo can somehow access this hidden parameter and push it to another parameter to all the objects in the project.

Any help would be greatly appreciated.


I think I would approach accessing the key information a little differently.

  1. Read the associated keynote (tag info)

  2. Read all the data from the keynote txt file in dynamo using the read file nodes.

  3. Compile a new list of Element, Tag Info, Keynote Text (mapped and selected based on matching tag info from the parsed txt file)

  4. Assign the Element Desc from the Keynote Text.

Have you tried this option?

1 Like

That is sort of the process we are working in the non-dynamo version using Bimlink and some excel programming (Vlookup), and then pushing the information back to Revit.

Luckily enough our Keynote file is in excel format, so I have been utilising the Excel read and write nodes, but this is sort of replicating the Bimlink process.

The trouble I am having with the Dynamo process is to list every element type so that I can compare the Excel with the in project Keynote parameter. It would be nice to get some sort of list that creates Keynote, Keynote Text, and Description fields and then push the Keynote Text to the Description. The main problem is that Dynamo won’t allow me to extract the Keynote Text parameter…I was assuming that I might need a custom node with some scripting to access this data??? That is where my skill level with Dynamo is a little lacking.

This may or may not help.

I have been trying to do something like this for a while. For COBie drops I am looking at mapping values from a number of different parameters into other Parameters - my problem is Mapping number Type parameters. You can start here: : http://autodesk.typepad.com/bimtoolbox/2015/10/parameter-mapping-in-revit-with-dynamo.html

I ended up swapping out a number of Dynamo custom nodes - archi-lab Get Type Parameter and Rythms SetParameterByName(TypeorInstance) nodes - you can see them here.

If you look at my post here you will see whaere I am with my effort at the moment:



It’s been a while since you posted this, but I ran into a similar issue in reverse where I needed to populate the keynotes by another parameter. This only affects the value (as in the active parameter in revit) but this is a type replacer with only one custom node from archi-lab (Element.Type). If you can work an excel arm into this it should solve your problem…

Thanks @nickaburnett I ended up solving my own problem and posted it in another post…


The main point of the process is to keep users populating the Revit model in the traditional sense using the Keynote tool, and then when the model gets exported, because the Keynote description doesn’t go with the exported model…push the keynote description to the Description field.

I have now incorporated it into our standard Model export script…works great…

Thanks again for the alternate solution.