使用Revit API更改元素的族和类型

时间:2019-12-12 07:32:12

标签: python-3.x revit-api revit pyrevit

我正在尝试构建一个脚本,以更改Revit模型中所选元素的族和元素类型。我已经尝试了该元素其余参数的工作:

from Autodesk.Revit.DB import Transaction
uidoc = __revit__.ActiveUIDocument
doc = __revit__.ActiveUIDocument.Document
transaction = Transaction(doc, "Modify element")
transaction.Start()
gdict = globals()
max_elements = 100
if uidoc:
    selection = [doc.GetElement(x) for x in uidoc.Selection.GetElementIds()]
    for idx, el in enumerate(selection):
        if idx < max_elements:
            gdict['e{}'.format(idx+1)] = el
            print(el.LookupParameter('Type').AsValueString())
            update = el.LookupParameter('Type').SetValueString('ANG')
transaction.Commit()

通过这种方式,我可以访问type参数,但是它根本没有改变(对于family参数来说是相同的,但是再次,在运行代码后没有任何变化)。

我认为这一定是因为Type和Family之间的关系。您知道如何更改吗?

提前谢谢!

1 个答案:

答案 0 :(得分:0)

是的。

使用Element.ChangeTypeId method