【发布时间】:2017-08-18 13:11:45
【问题描述】:
我是 Revit API 的新手,目前正在努力处理这段代码。
我要做的是获取项目中管道系统的所有实例并重命名它们(我计划在未来使用更复杂的算法,然后在当前名称的末尾添加一个“x”。 ..)。但是,这段代码不仅重命名了管道系统的所有实例,还重命名了管道系统类型,我不知道如何只选择管道系统的实例。
Public Sub RenameSystems()
Dim MyUIDoc As Autodesk.Revit.ui.uidocument
Dim MyDoc As Autodesk.Revit.db.document
Dim CategoryToFilter As Autodesk.Revit.DB.BuiltInCategory
Dim OtherElementCollector As Autodesk.revit.DB.filteredelementcollector
Dim FinalSelection As System.collections.generic.icollection(Of Autodesk.Revit.DB.element)
Dim currentelement As Autodesk.Revit.DB.element
CategoryToFilter = Autodesk.revit.db.builtincategory.OST_DuctSystem
Dim MyOtherFilter As New Autodesk.Revit.db.ElementCategoryFilter(CategoryToFilter)
MyUIDoc = Me.ActiveUIDocument
MyDoc = Me.activeuidocument.document
OtherElementCollector = New Autodesk.revit.DB.filteredelementcollector(MyDoc)
FinalSelection = otherelementcollector.wherepasses(MyOtherFilter).ToElements
Using transaction As New Transaction(MyDoc,"Transaction1")
transaction.start
For Each currentelement In FinalSelection
currentelement.Name = currentelement.Name & "x"
Next
Transaction.commit
End using
End Sub
结果见附图。
【问题讨论】: