如有不明白,請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...