Revit二次開發 過濾元素

2021-10-09 02:40:28 字數 2115 閱讀 7757

在revit二次開發中,過濾指定型別元素的需求是很常見的,比如說獲取標高、軸網、三維檢視、familysymbol等等,於是乎:

/// /// 元素過濾服務

///

public static class filterelementservice

filteredelementcollector collector =

view == null ?

new filteredelementcollector(document) :

new filteredelementcollector(document, view.id);

return collector.wherepasses(filter).toelements().cast();

}/// /// 過濾元素

///

///

/// 元素類別

///

///

public static ienumerablefilterelement(

this document document,

listcategorylist,

view view = null)

#endregion

#region 常用元素過濾器

/// /// 獲取所有標高集合

///

///

/// 根據標高降序排列

///

public static ienumerablegetlevel(this document document, bool descending = false)

/// /// 獲取軸網集合

///

///

///

///

public static ienumerablegetgrid(this document document, view view = null)

/// /// 獲取 所有檢視

///

///

///

public static ienumerablegetviews(this document document)

/// /// 獲取 三維檢視

///

///

///

public static ienumerablegetview3d(this document document)

/// /// 獲取預設的三維檢視

///

///

///

public static view3d getdefaultview3d(this document document)

" ||

string.equals(o.name, "", stringcomparison.currentcultureignorecase));

if (find == null)

find = all3dviews.firstordefault();

if (find == null) throw new exception("找不到預設三維檢視.");

return find;

}#endregion

/// /// 獲取選擇集中元素

///

///

///

public static ienumerablegetselection(this autodesk.revit.ui.uidocument uidocument)

/// /// 獲取選擇集中元素

///

///

///

public static ienumerablegetselection(this autodesk.revit.ui.uidocument uidocument) where t : element

#region utils

static elementfilter toelementfilter(listcategorylist)

return elmfilter;

}#endregion

}

這個類,我本人是用的非常頻繁的,它至少覆蓋我大部分獲取元素的需求情況,

Revit二次開發 隱藏遮擋元素

背景 衝突檢測完成後需要顯示相互碰撞的元素並截圖,因為會有房子 地面等等大的模型,所以經常會遇到元素被遮擋。解決思路 1 將專案的 視覺樣式 改為 隱藏線 模式 選中截圖時更清晰的顯示 設定檢視方向為俯視 從上往下看 2 建立一條模型線用於檢測都有哪些遮擋元素,並將元素隱藏。3 截圖後再把隱藏的元素...

Revit二次開發之「遍歷過濾物件」

遍歷過濾物件,得到想要的物件,是revit二次開發乙個重要的操作。revit物件的標識 revit物件的類名稱 直接可以用類名唯一標識出來 如 wall,walltype,floor,floortype.不同物件,但是共用乙個類 familyinstance,familysymbol,family,...

Revit二次開發 初學

前言 由於工作需要,近期開始學習revit二次開發知識。學習的同時將學習過程與小夥伴們一起分享,希望後來的小夥伴在看到我的學習筆記的時候有所幫助。說明由於revit的版本在不斷更新中,所以我在學習revit的時候選擇了從revit自帶的幫助檔案開始學習,不同版本的revit,就看相應的help檔案。...