91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

韶关市| 诏安县| 察雅县| 安西县| 昭平县| 枣强县| 沐川县| 甘泉县| 当雄县| 南阳市| 衡阳县| 平乡县| 元谋县| 苍山县| 沂南县| 张家口市| 榆林市| 林甸县| 仪陇县| 含山县| 横山县| 库伦旗| 应城市| 射洪县| 朝阳区| 临汾市| 江津市| 西林县| 丹巴县| 施秉县| 西充县| 黄骅市| 鄂托克旗| 福安市| 承德市| 武清区| 永仁县| 故城县| 华阴市| 遂溪县| 英德市|