我一直在阅读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),但也无法弄清楚。
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()
我相信该族是硬编码的,以匹配族定义RFA
文件名。至少,这是Revit一直期望的。显然,一旦将族装入到项目中,并且RFA
文件不再存在,则可以更改它。我会非常小心,但是...