Revit二次開發第九回 獲取梁的截面寬和高

2021-08-21 00:08:09 字數 1112 閱讀 5599

最簡單的辦法是,通過型別引數,獲取梁的截面引數:familyinstance.symbol.lookupparameter().asvaluestring();

familyinstance familyinstance = beamfoundationlist[0];

string bname = familyinstance.symbol.lookupparameter("b").asvaluestring();//be careful to distinguish case from case

不過,因為每個族定義的名稱都不一樣,所以適用範圍不廣。

此處有幾點需要學習:

1.之前也有過這樣的需求,不過沒實現過:就是想通過乙個方法,得到2個返回值。

解決辦法,新建乙個類,在類中定義兩個屬性,用來接收需要的2個返回值。

然後通過類的例項get.height和get.width來獲取需要的高和寬。

2.類也可以通過建構函式來初始化,並不是只有方法才可以。以前遇到的比如主函式和winform之間需要傳遞引數,就是通過winform視窗的構造類來實現的。

3.關於類中的字段和屬性。

屬性比字段高一級,可以在其中定義一些規則,比如年紀不能大於100之類的。而字段只是字段。

另外,如果只定義了屬性而沒有定義字段,其實預設就定義了屬性對應的字段。如下例中,預設定義了:

private double width;

private double height;

getprofileofbeam get = new getprofileofbeam(familyinstance);

taskdialog.show("asd", get.heigth.tostring());

taskdialog.show("asd", get.width.tostring());

public class getprofileofbeam

public double width

public getprofileofbeam(familyinstance familyinstance)}}

}}}}

}

Revit二次開發 初學

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

Revit二次開發 獲取Element的族型別引數

在revit中,如果想獲取element的例項引數,直接呼叫element的lookupparameter函式就可以了,但是想獲取型別引數,這樣操作卻找不到引數。以牆為例,如下圖 上圖中的 功能 和 牆體型別 是屬於型別引數,如果用上面的方法,是找不到這兩個引數的,也就沒辦法取到它們的值。那應該怎麼...

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

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