完善主體資料,免費(fèi)贈(zèng)送VIP會(huì)員!
* 主體類型
* 企業(yè)名稱
* 信用代碼
* 所在行業(yè)
* 企業(yè)規(guī)模
* 所在職位
* 姓名
* 所在行業(yè)
* 學(xué)歷
* 工作性質(zhì)
請(qǐng)先選擇行業(yè)
您還可以選擇以下福利:
行業(yè)福利,領(lǐng)完即止!

下載app免費(fèi)領(lǐng)取會(huì)員

NULL

ad.jpg

Revit技巧 | 什么是Revit二次開(kāi)發(fā)?Revit二次開(kāi)發(fā)中涉及的基礎(chǔ)概念

發(fā)布于:2024-09-30 10:21:43

BIM中文網(wǎng)

更多

Revit可以利用調(diào)用其自身的關(guān)系數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)三維模型的高效創(chuàng)建,并且,模型中存儲(chǔ)了大量的參數(shù)信息,利用軟件的功能,還能夠生成不同視圖的二維圖紙,滿足項(xiàng)目的需要。與此同時(shí),軟件開(kāi)發(fā)商也設(shè)計(jì)了API接口,Revit中,制作的Revit的功能將不僅僅限于由專業(yè)的開(kāi)發(fā)團(tuán)隊(duì)分配給它的功能操作,同樣,設(shè)計(jì)師可以根據(jù)自身的努力實(shí)現(xiàn)個(gè)性化的操作需求。

攝圖網(wǎng)_500149981_wx_建筑設(shè)計(jì)房子模型(非企業(yè)商用).jpg

Revit二次開(kāi)發(fā)中涉及的基礎(chǔ)概念

(1)外部命令

開(kāi)發(fā)者可以添加自己的應(yīng)用通過(guò)IExternalCommand。外部接口作為Revit軟件與開(kāi)發(fā)者開(kāi)發(fā)插件的的橋梁,所有的代碼均需要通過(guò)外部命令實(shí)現(xiàn)。Revit通過(guò).addin文件來(lái)識(shí)別和加載外部插件。外部命令可以理解為一個(gè)包含待執(zhí)行程序代碼的一個(gè)容器,通過(guò)該容器可將開(kāi)發(fā)人員自主設(shè)計(jì)的程序在Revit中進(jìn)行識(shí)別并執(zhí)行。一旦插件被選中,外部命令對(duì)象將被創(chuàng)建出來(lái)并實(shí)例化,通過(guò)派生類創(chuàng)建對(duì)象時(shí)必須要調(diào)用基類的構(gòu)造函數(shù),而構(gòu)造函數(shù)Execute()會(huì)在實(shí)例化的過(guò)程自動(dòng)執(zhí)行。執(zhí)行完畢后,外部命令對(duì)象被銷毀,實(shí)例緩存將在內(nèi)存中清空。

包括提參模塊在內(nèi)的整體程序都應(yīng)該應(yīng)以Revit外部命令的形式打包,等待外部應(yīng)用的調(diào)用。

(2)元素

元素在Revit里面是尤為重要的一種概念,用戶能夠看到的大多數(shù)對(duì)象都是元素,比如墻,族,族類型,族實(shí)例,標(biāo)高,軸網(wǎng),視圖等。而Revit代碼中的幾乎所有的類也都繼承自元素。而在提參程序的設(shè)計(jì)中,所有數(shù)據(jù)的獲取都要基于元素進(jìn)行,所有構(gòu)件,構(gòu)件上的結(jié)構(gòu)都是元素的實(shí)例,模型中的數(shù)據(jù)都保存在各個(gè)元素之中,通過(guò)Revit API中元素的方法和屬性,可以實(shí)現(xiàn)構(gòu)件數(shù)據(jù)的讀取。

攝圖網(wǎng)_500144223_wx_建筑圖紙(非企業(yè)商用).jpg

(3)元素收集器和過(guò)濾器

Revit API提供了三種不同元素過(guò)濾器用于遍歷分類元素以及元素的ID。這些過(guò)濾器為各種不同的應(yīng)用程序提供了更加靈活更實(shí)用的篩選方法。而用來(lái)迭代以及過(guò)濾額元素的主要類是收集器,他有三種構(gòu)造方式,詳見(jiàn)表4.1,可以根據(jù)情況使用任意一種。

FileteredElementCollector()收集器提供了一系列的方法,允許用戶設(shè)置查詢和過(guò)濾器所需要的元素集:

?通用方法Passes(),在收集器中應(yīng)用單一ElementFilter過(guò)濾器。該方法可以在結(jié)果中繼續(xù)使用附加額外的過(guò)濾條件。

?快捷方法,不需要傳初始化過(guò)濾器對(duì)象的易于使用的方法,相當(dāng)于常用過(guò)濾器filter的快捷鍵。比如OfClass(),OfCategoryId(),OwnedByView()。

?并集、交集等運(yùn)算方法,包括UnionWith()和lntersectWith()兩種方法。

(4)點(diǎn)線模型

盡管Revit是一款三維建模軟件,然而其模型數(shù)據(jù)在存儲(chǔ)中仍會(huì)將模型簡(jiǎn)化成由多個(gè)點(diǎn)構(gòu)成的空間模型,而在本文中的所涉及的模型包括墻體、孔、槽均有空間中的點(diǎn)坐標(biāo)集構(gòu)建而成,于是在提取參數(shù)的過(guò)程中,我們會(huì)將可視模型想象成由點(diǎn)線構(gòu)成的空間結(jié)構(gòu),如墻體構(gòu)件在軟件中的簡(jiǎn)化模型為起點(diǎn)終點(diǎn)構(gòu)成的兩點(diǎn)線段,而孔和槽在軟件均為垂直于XY軸所在平面,所以其簡(jiǎn)化模型為一個(gè)空間中的一個(gè)點(diǎn),配合元素的參數(shù)中底高頂高數(shù)據(jù),可獲得一個(gè)空間線段模型。

薛雷 沈陽(yáng)工業(yè)大學(xué)

僅供學(xué)習(xí)交流 版權(quán)歸原作者所有

Revit原生二次開(kāi)發(fā)系列課程:http://ny2r43j.cn/series/52.html

本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。

未標(biāo)題-1.jpg

上一篇:Revit技巧 | Revit好用嗎?Revit用于綜合管廊建設(shè)有哪些優(yōu)勢(shì)?

下一篇:Revit技巧 | Revit怎么開(kāi)發(fā)??jī)煞N常用的Revit開(kāi)發(fā)方式

60acb4e0ef112.png