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,就可以知道目標構建的所屬類別。
文章標籤
全站熱搜
