0
0 Комментариев

Народ помогите пожалуйста, я вообще ни шарю в теме, но очень нужна помощь. Есть скрипт в Dynamo написанный на Python. Текст скрипта ниже. Дальнейшее описание проблемы после текста скрипта (см. ниже)

import clr
clr.AddReference(‘RevitAPI’)

# Import DocumentManager and TransactionManager
clr.AddReference(‘RevitServices’)
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
uidoc = DocumentManager.Instance.CurrentUIDocument

# Import RevitAPI
clr.AddReference(«RevitAPI»)
import Autodesk
from Autodesk.Revit.DB import *

defFile = uidoc.Application.Application.OpenSharedParameterFile()
myGroups = defFile.Groups

################# Definitions ##################

def edefinition(p):
    myGroup = myGroups.get_Item(p[0])
myDefinitions = myGroup.Definitions
eDef = myDefinitions.get_Item(p[1])
return eDef

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

def addParameters(f, params):
for p in params:
eDef = edefinition(p)
TransactionManager.Instance.EnsureInTransaction(f)

familyManager = f.FamilyManager
try:
familyManager.AddParameter(eDef, BuiltInParameterGroup.PG_IDENTITY_DATA, p[2])
except:
Exception
TransactionManager.Instance.ForceCloseTransaction()

f.Close(True)

################# Inputs ##################

fDocs = tolist(IN[0])
params = tolist(IN[1])

################# Main ##################
for f in fDocs:
    addParameters(f, params)  

OUT = «Done»

При запуске скрипта получаю сообщение 

Предупреждение:IronPythonEvaluator.EvaluateIronPythonScript операция не выполнена.
Traceback (most recent call last):
File «<string>», line 54, in <module>
File «<string>», line 35, in addParameters
File «<string>», line 24, in edefinition
TypeError: ‘NoneType’ object is unsubscriptable

Подскажите, что ему от меня надо…


Добавить комментарий