Excel to Revit - Comparing & Assigning Parameters

Hi all,

Definitely a Dynamo novice, (probably shockingly bad), so I’m hoping someone can help me out!

The models we create in Revit are exported to IESVE for UK energy analysis and we have thermal templates set up in IES differing per room/occupancy/loads etc. This is a pretty slow process, and it has a tendency to crash on big jobs.

Ideally the templates should be assigned in a shared parameter in Revit, before the model is exported to IES. But I want to remove human error and let Dynamo do the hard bit (especially for jobs of 3000+ spaces).

The Goal: Have Dynamo read a spreadsheet & if the space name matches a Revit space then write the corresponding template to a “BPP IESVE Template” parameter.

I’ve spent hours working through other forum posts/tutorials, and tried countless methods but I can’t quite seem to get my head around how to compare the lists and reach my end goal. At this point I think I’m trying to run before I can walk in terms of my ability, but why not start 2019 with a challenge? :sweat_smile:

This is my starting code (I know the red section is totally wrong, I got a bit mad at my inability to make it work and deleted all my other nodes):

Also, I realise that I could simply export to Excel, change it in Excel then re-import to Revit, but I’m hoping I can achieve the template assignment completely in Dynamo.
If anyone could steer me in the right direction you’ll make my day!! :grin:

Can you show what you want the end list to look like? And what its intended use is.

If all you want to do is compare the 0 index of spaces to the 0 index of the excel import, and when ==, replace 1 index of space with 1 index of excel import, that isn’t too hard and we can help you.

Something like this:

Basically I have a spreadsheet consisting of various space names and the templates they should have assigned (the current model I’m testing this Dynamo with doesn’t contain all these space names). So in the case of ‘Bar Store’ I want the BPP IESVE Template parameter to read ‘Hotel - Store’ in every instance created in my model.

Thank you for the example! I was playing about with the == node briefly yesterday but made no headway. Just a quick trial at your suggestion gave me ‘Hotel - Riser’, that’s progress in my book!

Can you show the outputs of the getparametervaluebyname for space name? Sounds like a lacing/levels issue.

Also the == is set to cross product for lacing. You can get that by right clicking the node and going to “lacing”

1 Like

That’s it! It was the auto lacing that was throwing it off, set to cross lacing it works perfect. I tried cross lacing yesterday, but with a different list approach (that didn’t work), so it was more of a stab-in-the-dark than an informed experiment.

I’m going to run it on a few other jobs now to check, but it seems to be working exactly how I’d hoped. You’ve just made my day, thank you!! :grin::grin: