Revit二次開發 分割族

2021-08-04 19:40:10 字數 967 閱讀 7607

**

如有不明白,請qq254033230詢問。**

其實在revit裡是不存在分割族的概念。

對於基於線形的族,截面沿線都是一樣,要想達到分割的狀態,只需要把族基於線的那條線變短,然後再在分割點複製乙個新的族即可。

過程是先獲得線的均分點,然後把族的線縮短,接著再複製族,即可變成均分的效果。主要方法見**:

private void devidefamilyinstance(familyinstance famins,int n, document revitdoc)

{locationcurve locationcurve = famins.location as locationcurve;

xyz stratpoint = locationcurve.curve.getendpoint(0);

xyz endpoint = locationcurve.curve.getendpoint(1);

ilistdevidepoint = insertpoint(stratpoint, endpoint,n);

transaction transaction = new transaction(revitdoc);

transaction.start("將族複製到相應位置");

locationcurve.curve = line.createbound(stratpoint, devidepoint[0]);

listlist = new list();

list.add(famins.id);

icollectionelementids = list;

for (int j=1;jinsertpoint(xyz stratpoint, xyz endpoint,int n)

{listlistpoint = new list();

double x, y, z;

for(int i=1;i

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

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

Revit二次開發 初學

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

revit二次開發設定族引數的方法

一共有兩種方法,第一種比較麻煩,第二種很簡單。由於之前寫 的時候沒找到相關的設定找了很久,僅做學習記錄用 第一種方法,首先獲取管道直徑,然後設定數值 ilist list hole.getparameters 管道直徑 parameter pa list 0 pa.set d 304.8 第二種方法...