如何使用Python更改Revit家族名称

问题描述 投票:0回答:2

我一直在阅读RevitAPI文档(仍在学习中),搜索(并找到)一些答案,但是我似乎无法在Revit模型中更改姓氏。我是Python的新手,并且编写了一些脚本。希望摆脱这一死点。

[基本上,我想将一个名为“ VA Titleblock顾问徽标(PIN07)”的家庭重命名为另一个名称,例如“比利的新家庭很好”]

我有这个名字,但是之后我尝试的所有东西都变得模糊了。

Elements = FilteredElementCollector(doc).OfClass(FamilySymbol).WhereElementIsElementType()
for m in Elements:
    try:
        contains = "VA Titleblock Consultant Logo (PIN07)"
        if m.FamilyName.startswith((contains)):
            print m.FamilyName
            m.FamilyName = "Some Name"
    except:
        print "I'm a reject and can't get this right."

我还试图了解如何使用家族来重命名Type(Symbol),但也无法弄清楚。

python revit
2个回答
0
投票
t = Transaction(doc, 'loadfamily')
t.Start()

#Rename Family Type

Elements = FilteredElementCollector(doc).OfClass(FamilySymbol).WhereElementIsElementType()
for m in Elements:
    try:
        contains = "VA Titleblock Consultant Logo (PIN07)"
        if m.FamilyName.startswith((contains)):
            m.Name = contains + "Append"
    except:
        print "Type name not changed"

#Rename Family
Elements = FilteredElementCollector(doc).OfClass(Family)

for m in Elements:
    try:
        contains = "VA Titleblock Consultant Logo (PIN07)"
        if m.Name.startswith((contains)):
            m.Name = "VA Im Slow"
    except:
        print "what an idiot, I finally got it"

t.Commit()

0
投票

我相信该族是硬编码的,以匹配族定义RFA文件名。至少,这是Revit一直期望的。显然,一旦将族装入到项目中,并且RFA文件不再存在,则可以更改它。我会非常小心,但是...

© www.soinside.com 2019 - 2024. All rights reserved.