在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檔案。...