今天突然想到,revit中的雙跑樓梯對新手來說比較難繪製,於是寫了乙個小功能來達到這個目的,下面放出沒有wpf的**,如果需要新增wpf介面,請自行新增
此處需要輸入的單位為mm,已經轉換為英呎了
namespace personaltools
}return result.succeeded;
}private
elementid
createdoublerunstairs
(document document,
level levelbottom,
level leveltop,
int risernum,
double width,
double length,
double platformwidth,
xyz basepoint,
bool isornotstraight)
//樓梯中心線
xyz pathend0 =
(pnt1 + pnt3)
/2.0
;xyz pathend1 =
(pnt2 + pnt4)
/2.0
; pathcurves.
add(line.
createbound
(pathend0, pathend1));
// 建立樓梯1
stairsrun newrun1 = stairsrun.
createsketchedrun
(document, newstairsid, levelbottom.elevation, bdrycurves, risercurves, pathcurves)
;// 樓梯2引數
if(isornotstraight)
else
// 樓梯平台
curveloop landingloop =
newcurveloop()
;xyz p1 =
newxyz
(length + basepoint.x, width + basepoint.y,0)
;xyz p2 =
newxyz
(length + platformwidth + basepoint.x, width + basepoint.y,0)
;xyz p3 =
newxyz
(length + platformwidth + basepoint.x, basepoint.y - width,0)
;xyz p4 =
newxyz
(length + basepoint.x, basepoint.y - width,0)
;line curve_1 = line.
createbound
(p1, p2)
;line curve_2 = line.
createbound
(p2, p3)
;line curve_3 = line.
createbound
(p3, p4)
;line curve_4 = line.
createbound
(p4, p1)
; landingloop.
(curve_1)
; landingloop.
(curve_2)
; landingloop.
(curve_3)
; landingloop.
(curve_4)
;stairslanding newlanding = stairslanding.
createsketchedlanding
(document, newstairsid, landingloop, newrun1.topelevation)
; stairstrans.
commit()
;}// 忽略建立時失敗的事務【必須有】
newstairsscope.
commit
(new
failurespreprocessor()
);}return newstairsid;
}private list
filteredelement
(document doc,
builtincategory category,
type eletype)
}public
class
failurespreprocessor
:ifailurespreprocessor
if(fma.
getseverity()
== failureseverity.warning)
}return failureprocessingresult.proceedwithcommit;}}
}
Revit二次開發 建立Pipe
首先要建立乙個pipe,就需要看pipe有哪些建立的方法 由於我是需要在已知的兩個xyz建立管,所以選擇了第三個方法 create document document,elementid systemtypeid,elementid pipetypeid,elementid levelid,xyz ...
Revit二次開發 初學
前言 由於工作需要,近期開始學習revit二次開發知識。學習的同時將學習過程與小夥伴們一起分享,希望後來的小夥伴在看到我的學習筆記的時候有所幫助。說明由於revit的版本在不斷更新中,所以我在學習revit的時候選擇了從revit自帶的幫助檔案開始學習,不同版本的revit,就看相應的help檔案。...
Revit 二次開發建立牆的例項
1建立牆例項的方法一共5個過載 1 wall.create document document,ilistprofile,bool structural document 文件 profile 生成牆的定位線集合 structural 是否是結構 2 wall.create document doc...