Revit API 開發時有時候需要針對特定類型的構建進行處理或分析。
而為了取得特定類型的構建,需要透過 FilteredElementCollector 將 UIDocument 特定類型的構建取出,程式碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
public void GetElementsByCategory(ExternalCommandData commandData,BuiltInCategory category) { UIDocument uidoc = commandData.Application.ActiveUIDocument; FilteredElementCollector docCollector = new FilteredElementCollector(uidoc.Document); docCollector.OfCategory(category); IList<Element> elementsInView = docCollector.ToElements(); StringBuilder sb = new StringBuilder(); foreach (Element element in elementsInView) { if (element is FamilyInstance) { FamilyInstance inst = element as FamilyInstance; FamilySymbol Sy = inst.Symbol; Family family = Sy.Family; sb.Append(string.Format("Family Symbol {0}, Family Name {1}", Sy.Name, family.Name)); } } TaskDialog.Show("INFO", sb.ToString()); } |
若不知道構建的類別,可以查看構建的Properties,就可以知道目標構建的所屬類別。
文章標籤
全站熱搜