Revit二次開發 新增 獲取牆核心邊界資訊

2021-10-08 02:26:34 字數 965 閱讀 8632

//建立結構層(厚度、功能、材質)

ilistlayers = new list();

//建立一條核心邊界

compoundstructurelayer layersu***cethickness = new compoundstructurelayer(thickness, materialfunctionassignment.finish1, elementid.invalidelementid);//最後乙個引數為材質,如果不填充任何材質則傳elementid.invalidelementid,有材質則傳具體的材質id

layers.add(layersu***cethickness);

//獲取當前牆型別的所有核心邊界資訊

compoundstructurelayer cs = (walltype as walltype).getcompoundstructure();

//把新的核心邊界資訊,新增到cs中

cs.setlayers(layers);

//最後把型別的核心邊界重新set

(walltype as walltype).setcompoundstructure(cs);

//獲取強型別中核心邊界中,面層1的厚度值(materialfunctionassignment列舉中還有很多態別)

listwall_structurelayer = wall.walltype.getcompoundstructure().getlayers().where(r => r.function == materialfunctionassignment.finish1).tolist();

double su***celayer_width = 0;

if(wall_structurelayer.count > 0)

su***celayer_width = wall_structurelayer.first().width;

Revit 二次開發建立牆的例項

1建立牆例項的方法一共5個過載 1 wall.create document document,ilistprofile,bool structural document 文件 profile 生成牆的定位線集合 structural 是否是結構 2 wall.create document doc...

Revit二次開發 牆的偏移調整

在做專案的時候有時候會碰到建築專業與結構專業同步進行建模的情況,這時因為結構模型尚不完整,建築的牆建模的高度是標高到標高,而不是實際的板麵到板底或梁底。所以需要等到結構模型完整後再重新調整一遍。這個調整的工作雖然比較簡單,但重複性比較強,工作量也不少,於是利用二次開發做了一下優化。具體邏輯是在牆的高...

Revit二次開發 初學

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