亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Revit如何通過過濾器獲取元素

發布時間:2022-03-18 13:56:58 來源:億速云 閱讀:98 作者:iii 欄目:大數據

今天小編給大家分享一下Revit如何通過過濾器獲取元素的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

獲得元素的辦法:

1、創建一個收集器(Collector)

FilteredElementCollector fil = new FilteredElementCollector(doc);

這里舉個栗子:

你媽剛從超市買了過年要吃的蠶豆和綠豆,結果被你個混小子打破袋子,全都掉在地上混在一起,你媽要你馬上給她整理好,你天資聰慧不想一顆一顆去撿,想了一個好辦法就是用篩子篩選出來,那么我們要先把散落在地上的大豆和綠豆用簸箕掃起來,收集器在這里就是簸箕的作用,把散落在doc的構件收集起來裝在fil這個容器里。

2、創建一個過濾器

ElementClassFilter el = new ElementClassFilter(typeof(Wall));(類過濾器)

過濾器就是我們的篩子,可以用來篩選蠶豆和綠豆,留下你想要的。當然篩子的種類有多種多樣,我們的API同樣提供了多種篩子。

ElementCategoryFilter eld = new ElementCategoryFilter(BuiltInCategory.OST_Doors);(類別過濾器)

過濾好了以后,要拿出來你需要的東西,那么我們需要進行獲取。

(1)調用 fil.WherePasses( );

  fil.WherePasses(el);這樣我們就獲取了收集器fil中的墻的類型。

          fil2.WherePasses(el2);我們獲取了收集器fil2里的所有的門。

         有些人可能會有疑問,或者會犯這種錯誤:在同一個收集器里調用兩次.WherePasses( ),這會造成一個問題你所取得的構件是0個。因為收集器你篩選一遍獲得墻之后,你再去篩選就只剩下墻了,你不可能再去篩選出來門。可你能從墻里再篩選出來疊層墻。這就像你在豬圈里能找到豬,在豬里能找到小黑豬,但你肯定找不到驢,是一個道理。(可能比喻不夠恰當,但就是這個理。)

(2)利用邏輯過濾器

  ElementClassFilter el = new ElementClassFilter(typeof(FamilyInstance));(過濾出族實例)

            ElementCategoryFilter eld = new ElementCategoryFilter(BuiltInCategory.OST_Windows);(過濾出窗戶)

            利用邏輯過濾器來過濾族實例里的窗戶:

            LogicalAndFilter door = new LogicalAndFilter(el, eld);

(3)of的簡便方法

利用of來獲取墻:

  fil.OfClass(typeof(Wall));

利用of來獲取窗戶:

  fil.OfClass(typeof(FamilyInstance)).OfCategory(BuiltInCategory.OST_Windows);

以上就是“Revit如何通過過濾器獲取元素”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武城县| 江川县| 彭州市| 汪清县| 武强县| 富宁县| 十堰市| 望江县| 南投市| 抚顺县| 郑州市| 天峨县| 庄浪县| 沙湾县| 朝阳县| 萝北县| 白山市| 浦城县| 武城县| 玉环县| 象山县| 凌源市| 积石山| 卓尼县| 安顺市| 贵港市| 苏州市| 安新县| 从化市| 仙游县| 云龙县| 平阳县| 福泉市| 若羌县| 慈溪市| 永平县| 麦盖提县| 怀集县| 吐鲁番市| 逊克县| 浠水县|