Use Dynamo (Python) -> Select and display in model elements that share the same typeID

Refer link below:


解決済み: 同じファミリタイプIDをもつモデル内要素の選択表示 – Autodesk Community

import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
from Autodesk.Revit.UI.Selection import *
clr.AddReference("System")
from System.Collections.Generic import List as cList
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
uidoc = DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
AlllElements = FilteredElementCollector(doc).WhereElementIsNotElementType().ToElements()
findElement = []
listId = IN[0]
for id in listId:
nestList = []
for i in AlllElements:
if(str(i.GetTypeId()) == str(id)):
nestList.append(i)
findElement.append(nestList)
for n in range(len(findElement)):
if(len(findElement[n])>0):
Icollect = cList[ElementId](i.Id for i in findElement[n])
TaskDialog.Show(" タイプId: " + str(findElement[n][0].GetTypeId()), "インスタンスの個数 : " + str(len(findElement[n])))
uidoc.Selection.SetElementIds(Icollect)
OUT = findElement

Leave a Reply

Scroll to Top

Discover more from BIM Automation

Subscribe now to keep reading and get access to the full archive.

Continue reading