国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Revit API 開發 (3): 一個使用過濾器(filter)的例子

2019-11-14 11:56:34
字體:
來源:轉載
供稿:網友

*如何創建一個Revit AddIn 項目參考:Revit API 開發 (1): Hello World

下面這個例子是找到文檔當中所有的門(Door)。 邏輯主線: 1. Door在Revit里面的element類型是FamilyInstance。 2. Door在Revit里面的category類型是OST_Doors。 3. 想要過濾特定類型的element需要ElementClassFilter。 4. 想要過濾特定類型的category需要ElementCategoryFilter。 5. 想要讓兩種類型的filter同時起作用需要LogicalAndFilter。 6. 找到文檔(Document)里的element需要FilteredElementCollector,可以將其認為是文檔中element的管理器。 7. 將filter傳遞給FilteredElementCollector即可得到所有能夠通過filter的element。

public ICollection<Element> CreateLogicAndFilter(Autodesk.Revit.DB.Document document){ // 找到當前項目中所有的 family instances,并且它們的 category 是 door。 // 創建 ElementClassFilter 過濾器用以獲得所有的 FamilyInstance。 ElementClassFilter familyInstanceFilter = new ElementClassFilter(typeof(FamilyInstance)); // 創建 ElementCategoryFilter 過濾器用以獲得所有的 OST_Doors。 ElementCategoryFilter doorsCategoryfilter = new ElementCategoryFilter(BuiltInCategory.OST_Doors); // 創建 logic And filter 將上面的兩個過濾器合并。 LogicalAndFilter doorInstancesFilter = new LogicalAndFilter(familyInstanceFilter, doorsCategoryfilter); // 將上面的過濾器應用到當前活動的 document。 FilteredElementCollector collector = new FilteredElementCollector(document); IList<Element> doors = collector.WherePasses(doorInstancesFilter).ToElements(); return doors;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 榆社县| 石楼县| 大石桥市| 新郑市| 永城市| 松江区| 阜城县| 木兰县| 驻马店市| 禄劝| 罗源县| 金门县| 许昌县| 平乐县| 阿图什市| 鄄城县| 左云县| 昭通市| 荥经县| 淮阳县| 六盘水市| 宁陵县| 若尔盖县| 翁牛特旗| 洛川县| 五寨县| 扶沟县| 铜陵市| 宁安市| 陈巴尔虎旗| 台安县| 阿克苏市| 文登市| 常德市| 肇东市| 涟水县| 绵阳市| 温泉县| 外汇| 苍南县| 安福县|