Hi I’m trying to use a node from a package called RIE nodes and one specific node within this package is failing RIE.PowerElements, the node doesn’t output anything or show an error, but when I open the node and copy the python code into a python node and run it, it shows this error
Warning: IronPythonEvaluator.EvaluateIronPythonScript operation failed.
Traceback (most recent call last):
File “”, line 39, in
TypeError: iteration over non-sequence of type FamilyInstance
which I suppose is the source of my problem shown below. the code in this node was discussed in a previous post at the following link below and it seems to be working for the people using it there I compared it and the code appears identical I’m running revit 2018.2 and using dynamo 1.3.2.2480 can someone please point out whats wrong I think the problem may be in the For Loop?
import clr
clr.AddReference(‘ProtoGeometry’)
from Autodesk.DesignScript.Geometry import *
clr.AddReference(‘RevitServices’)
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from System.Collections.Generic import *
clr.AddReference(‘RevitNodes’)
import Revit
clr.ImportExtensions(Revit.Elements)
clr.AddReference(‘RevitAPI’)
import Autodesk
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Electrical import *
from Autodesk.Revit.DB import MEPSystem
clr.AddReference(‘DSCoreNodes’)
import DSCore
from DSCore.List import *
import sys
pyt_path = r’C:\Program Files (x86)\IronPython 2.7\Lib’
sys.path.append(pyt_path)
#/ Import List ( ICollection(ElementId) = ListElementId )
clr.AddReference(“System”)
from System.Collections.Generic import List
#The inputs to this node will be stored as a list in the IN variables.
input = UnwrapElement(IN[0])
electComponents = ListElementId
for i in input:
electComponents.Add(i.Id)
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc = DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
TransactionManager.Instance.EnsureInTransaction(doc)
newcircuit = ElectricalSystem.Create(doc, electComponents, ElectricalSystemType.PowerCircuit)
OUT =
OUT.append(newcircuit)
TransactionManager.Instance.TransactionTaskDone()