如何使用Python更改Revit族名称

2024-09-29 23:28:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在阅读RevitAPI文档(仍在学习),搜索(并找到)一些答案,但我似乎无法更改Revit模型中的族名称。我是Python新手,已经编写了一些脚本。想在这件事上摆脱死胡同

基本上,我想将一个名为“VA Titleblock Consultant Logo(PIN07)”的家族改名为其他名字,比如“Billy的新家族很好”

我能得到这个名字,但此后我尝试的一切都失败了

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."

我还试图理解如何使用族重命名类型(符号),但我也无法理解


Tags: 答案文档模型elements名字logoprintcontains
2条回答
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文件不再存在,您就可以对其进行更改。不过,我会非常小心的

相关问题 更多 >

    热门问题