# RevitApi

**URL:** <https://forum.dynamobim.com/t/revitapi/73544>\
**Category:** Revit\
**Tags:** revit, python, dynamo\
**Created:** [February 21, 2022, 10:39am UTC](https://forum.dynamobim.com/t/revitapi/73544 "2022-02-21T10:39:23Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![CHANDU](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/chandu/32/169017_2.png) [@CHANDU](https://forum.dynamobim.com/u/CHANDU)\
**Post date:** [February 21, 2022, 10:39am UTC](https://forum.dynamobim.com/t/revitapi/73544/1 "2022-02-21T10:39:23Z")

</div>

![Screenshot (4)](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/2/8/286109e294634d804ffe2ea4ae55405de4c24521.png)

Hi Everyone,  
I am trying to update the values for Air terminals. I am getting an error at line 68, expected string but got a type. I am trying to resolve this and Meanwhile any help from anyone would be highly appreciated.

Thank you  
Regards,  
Chandu

---

<div class="post-metadata">

**Author:** ![GavinNicholls](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/gavinnicholls/32/190442_2.png) [@GavinNicholls](https://forum.dynamobim.com/u/GavinNicholls)\
**Post date:** [February 21, 2022, 11:39am UTC](https://forum.dynamobim.com/t/revitapi/73544/2 "2022-02-21T11:39:31Z")

</div>

I’d sort the list structure as such instead…

```auto
# Boilerplate text
import clr

clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager 
from RevitServices.Transactions import TransactionManager 

clr.AddReference("RevitAPI")
import Autodesk 
from Autodesk.Revit.DB import *

# Current doc/app/ui
doc = DocumentManager.Instance.CurrentDBDocument

# Preparing input from dynamo to revit
rooms = UnwrapElement(IN[0])
param_names = IN[1]
param_values = IN[2]

room_count = len(rooms)
param_count = len(param_names)

outcomes = []

# Do some action in a Transaction
TransactionManager.Instance.EnsureInTransaction(doc)

for r in range(0,room_count):

	outcomes_sub = []

	for p in range(0,param_count):
	
		try:
			param_get = rooms[r].LookupParameter(param_names[p])
			param_get.Set(param_values[r][p])
			outcomes_sub.append(rooms[r])
		except:
			outcomes_sub.append(None)
	
	outcomes.append(outcomes_sub)

TransactionManager.Instance.TransactionTaskDone()

# Preparing output to Dynamo
OUT = outcomes

```

 ![examp](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/8/c/8c74fa5278fe57a0db3c124e8ed07d1b4c6e73e4.png)

---

<div class="post-metadata">

**Author:** ![CHANDU](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/chandu/32/169017_2.png) [@CHANDU](https://forum.dynamobim.com/u/CHANDU)\
**Post date:** [February 21, 2022, 12:11pm UTC](https://forum.dynamobim.com/t/revitapi/73544/3 "2022-02-21T12:11:23Z")

</div>

![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/2/6/26bbc961ccbaa8be73040ef914b19c241fec6596.png)  
Thank you for your reply, Gavin.  
Tried your code but got null values as output. Please provide any suggestions on this.  
Thank you  
Regards,  
Chandu

---

<div class="post-metadata">

**Author:** ![GavinNicholls](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/gavinnicholls/32/190442_2.png) [@GavinNicholls](https://forum.dynamobim.com/u/GavinNicholls)\
**Post date:** [February 21, 2022, 12:15pm UTC](https://forum.dynamobim.com/t/revitapi/73544/4 "2022-02-21T12:15:29Z")

</div>

Wokring on my side. Make sure all your parmater values are strings. Also make your element list structure match mine, no sublists, just the elements in one list.

---

<div class="post-metadata">

**Author:** ![CHANDU](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/chandu/32/169017_2.png) [@CHANDU](https://forum.dynamobim.com/u/CHANDU)\
**Post date:** [February 25, 2022, 12:23pm UTC](https://forum.dynamobim.com/t/revitapi/73544/5 "2022-02-25T12:23:11Z")

</div>

Thanks a lot @GavinNicholls

---

<div class="post-metadata">

**Author:** ![candok4545](https://avatars.discourse-cdn.com/v4/letter/c/aeb1de/32.png) [@candok4545](https://forum.dynamobim.com/u/candok4545)\
**Post date:** [March 29, 2023, 2:53am UTC](https://forum.dynamobim.com/t/revitapi/73544/6 "2023-03-29T02:53:12Z")

</div>

I want to update the parameters in the same way, can you share the whole coding?

---

<div class="post-metadata">

**Author:** ![leonard.moelders](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/leonard.moelders/32/108216_2.png) [@leonard.moelders](https://forum.dynamobim.com/u/leonard.moelders)\
**Post date:** [March 29, 2023, 8:11am UTC](https://forum.dynamobim.com/t/revitapi/73544/7 "2023-03-29T08:11:36Z")

</div>

If you don’t need to rely on python you could use `SetParameterByName`

[https://dictionary.dynamobim.com/#/Revit/Elements/Element/Action/SetParameterByName](https://dictionary.dynamobim.com/#/Revit/Elements/Element/Action/SetParameterByName)
