# TypeError: iteration over non-sequence of type NoneType

**URL:** <https://forum.dynamobim.com/t/typeerror-iteration-over-non-sequence-of-type-nonetype/71243>\
**Category:** Revit\
**Tags:** python\
**Created:** [December 9, 2021, 1:57pm UTC](https://forum.dynamobim.com/t/typeerror-iteration-over-non-sequence-of-type-nonetype/71243 "2021-12-09T13:57:22Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![theshysnail](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/theshysnail/32/146653_2.png) [@theshysnail](https://forum.dynamobim.com/u/theshysnail)\
**Post date:** [December 9, 2021, 1:57pm UTC](https://forum.dynamobim.com/t/typeerror-iteration-over-non-sequence-of-type-nonetype/71243/1 "2021-12-09T13:57:22Z")

</div>

So, I’m getting this error in this python script which orients 3D views to vectors. I tried to iterate over the lists but keep getting this error.

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/5/c/5caf9e67d5a72272cf2c4a73c6068ff1bba4bbb0.png)

```auto
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

#Import ToDSType(bool) extension method
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)

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

from System.Collections.Generic import *

#Import RevitAPI
clr.AddReference("RevitAPI") 
import Autodesk
from Autodesk.Revit.DB import ReferencePointArray

def tolist(obj1):
	if hasattr(obj1," __iter__"): return obj1
	else: return [obj1]

views = tolist(UnwrapElement(IN[0]))
vectors = tolist(IN[1])
vt = []

for vector in vectors:
	v = vt.append(vector.ToRevitType())

doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application

TransactionManager.Instance.EnsureInTransaction(doc)

#apply lineweight override to elements in an input list
for i in v:
	for view in views: 
		view.OrientTo(i)
	
# "End" the transaction

TransactionManager.Instance.TransactionTaskDone()
OUT = doc.ActiveView

```

---

<div class="post-metadata">

**Author:** ![Elie.Trad](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/elie.trad/32/110373_2.png) [@Elie.Trad](https://forum.dynamobim.com/u/Elie.Trad)\
**Post date:** [December 9, 2021, 3:12pm UTC](https://forum.dynamobim.com/t/typeerror-iteration-over-non-sequence-of-type-nonetype/71243/2 "2021-12-09T15:12:37Z")

</div>

@theshysnail the Python output is feeding whatever active view you are in Revit, maybe someone else can help fetching the 3D views within Python after the orientation…, but as a quick response, you can try this:

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/b/d/bd0bc75d3ae30fec28db07af45d43daef139eada.png)

```auto
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

#Import ToDSType(bool) extension method
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)

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

from System.Collections.Generic import *

#Import RevitAPI
clr.AddReference("RevitAPI") 
import Autodesk
from Autodesk.Revit.DB import ReferencePointArray

view = UnwrapElement(IN[0])
vector = IN[1]

doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application

TransactionManager.Instance.EnsureInTransaction(doc)

#apply lineweight override to elements in an input list
for vi, ve in zip(view, vector):
	v = ve.ToRevitType()
	vi.OrientTo(v)
# "End" the transaction

TransactionManager.Instance.TransactionTaskDone()
OUT = 0#doc.ActiveView

```

---

<div class="post-metadata">

**Author:** ![Deniz\_Maral](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/deniz_maral/32/80323_2.png) [@Deniz\_Maral](https://forum.dynamobim.com/u/Deniz_Maral)\
**Post date:** [December 9, 2021, 3:14pm UTC](https://forum.dynamobim.com/t/typeerror-iteration-over-non-sequence-of-type-nonetype/71243/3 "2021-12-09T15:14:22Z")

</div>

> [@theshysnail](#):
>
> `for i in v:`

here you heve to type  
`for i in vt:`

---

<div class="post-metadata">

**Author:** ![Nick\_Boyts](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/nick_boyts/32/76313_2.png) [@Nick\_Boyts](https://forum.dynamobim.com/u/Nick_Boyts)\
**Post date:** [December 9, 2021, 3:15pm UTC](https://forum.dynamobim.com/t/typeerror-iteration-over-non-sequence-of-type-nonetype/71243/4 "2021-12-09T15:15:09Z")

</div>

The issue is that you’re setting `v = vt.append()`. Append already modifies the existing list, so you would just use `vt` in place of `v`.
