revit二次開發 建連續剛構橋(方法1)

2021-08-03 08:44:03 字數 2475 閱讀 9840

如有不明白,請qq254033230詢問。

其實建連續剛構橋也不是很難,主要是用**來驅動族而已。好多牛人用dynamo來做這件事情,我覺得也挺好,我也用過dynamo來操作過,但是用起來還是沒有外掛程式爽。

其實**也挺簡單的,這裡就直接放主要的**吧。核心就是把族放在相應位置,然後獲取族引數,並修改族引數。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

using autodesk.revit.ui;

using autodesk.revit.db;

using autodesk.revit.ui.selection;

namespace buildbridgequick

//提取出族型別名稱,並把型別名稱放到視窗textbox裡

familysymbol symbol = familyinstance.symbol;

tempname.faminsname = symbol.name;

//開啟視窗

form1 form1 = new form1();

form1.showdialog();

listlist = new list();

list.add(elem.id);

icollectionelementids = list;

//獲取相應的截面引數

ilistlist1 = familyinstance.getparameters("ih"); //變截面箱梁i截面的高度

parameter param1 = list1[0];

ilistlist2 = familyinstance.getparameters("ihi5"); //變截面箱梁i截面底板的高度

parameter param2 = list2[0];

ilistlist3 = familyinstance.getparameters("it"); //變截面箱梁i截面腹板的寬度

parameter param3 = list3[0];

ilistlist4 = familyinstance.getparameters("ihi1"); //變截面箱梁i截面頂板的高度

parameter param4 = list4[0];

ilistlist5 = familyinstance.getparameters("jh"); //變截面箱梁j截面的高度

parameter param5 = list5[0];

ilistlist6 = familyinstance.getparameters("jhi5"); //變截面箱梁j截面底板的高度

parameter param6 = list6[0];

ilistlist7 = familyinstance.getparameters("jt"); //變截面箱梁j截面腹板的寬度

parameter param7 = list7[0];

ilistlist8 = familyinstance.getparameters("jhi1"); //變截面箱梁j截面頂板的高度

parameter param8 = list8[0];

ilistlist9= familyinstance.getparameters("beamlength"); //變截面箱梁節段長度

parameter param9 = list9 [0];

ilistlist10 = familyinstance.getparameters("detz"); //變截面箱梁兩個截面的高差

parameter param10 = list10[0];

ilistlist11 = familyinstance.getparameters("dety"); //變截面箱梁兩個截面的高差

parameter param11 = list11[0];

int j = 0;

for (int i = 0; i < (convert.toint32(listdata.list_sjgc.count) - 1); i++)

//把存放在listdata裡的資料清除掉

listdata.list_dbh.clear();

listdata.list_fbh.clear();

listdata.list_jdcd.clear();

listdata.list_sjgc.clear();

listdata.list_tbh.clear();

listdata.list_x.clear();

listdata.list_xlg.clear();

listdata.list_y.clear();

return result.succeeded;}}

}

Revit二次開發 初學

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

Revit二次開發 Revit擴充套件儲存資料

revit二次開發過程中,需要將相關資訊儲存到rvt檔案中,再次開啟rvt的時候,可以通過讀取這些資訊,知道當前構件的基本狀態,或者將乙個特殊的資訊儲存到rvt檔案中,從revit2012開始引入了擴充套件儲存這個新技術,就是可以把一些資料儲存在revit中的某乙個物件上。且這個儲存操作,只能通過程...

Revit二次開發 分割族

如有不明白,請qq254033230詢問。其實在revit裡是不存在分割族的概念。對於基於線形的族,截面沿線都是一樣,要想達到分割的狀態,只需要把族基於線的那條線變短,然後再在分割點複製乙個新的族即可。過程是先獲得線的均分點,然後把族的線縮短,接著再複製族,即可變成均分的效果。主要方法見 priva...