Hi right now I’m trying to use a dynamo node/python script to circuit electrical devices, the problem I’m having is the script causes my electrical devices voltage parameter from the electrical connector to set to zero and become ready only. The only way I’ve found around this problem is to edit my parameters voltage from instance to a type parameter which prevents the parameter from resetting to zero and becoming read only, but I really need my families voltage parameter to be an instance parameter or else it seriously complicates the work flow I was trying to achieve does anyone have any ideas how to fix this? I posted the nodes code below and a link to the dynamo forum discussion where the python code was developed any advice on solving this is welcome please.
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
def tolist(obj):
if isinstance(obj, list):
return UnwrapElement(obj)
else:
return [UnwrapElement(obj)]
#The inputs to this node will be stored as a list in the IN variables.
input = tolist(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
C=0
OUT=
TransactionManager.Instance.EnsureInTransaction(doc)
for i in electComponents:
b=electComponents[C]
bb=tolist(b)
newcircuit = ElectricalSystem.Create(doc, bb, ElectricalSystemType.PowerCircuit)
C+=1
OUT.append(newcircuit)
TransactionManager.Instance.TransactionTaskDone()