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

下載app免費領取會員

NULL

ad.jpg

Revit技巧 | Revit如何畫樁?Revit地鐵圍護樁自動生成算法

發(fā)布于:2024-11-03 16:40:02

BIM中文網(wǎng)

更多

    文章來源:鐵路BIM聯(lián)盟

image.png

    目前,市場上存在一些快速建模插件,但由于不同專業(yè)領域構件的差別較大,針對某一專業(yè)的插件很難適用于其他專業(yè)。因此,有必要基于不同領域做有針對性的插件。本文基于Revit的二次開發(fā),研究地鐵圍護樁自動生成算法,實現(xiàn)地鐵圍護樁的快速布置。

    基于Revit平臺研究地鐵圍護樁自動生成算法,提高Revit的建模效率。分析地鐵圍護樁分布規(guī)律,利用C#語言,通過識別CAD底圖以及軟件交互界面獲得樁定位線和布置參數(shù),計算得到樁中心點坐標,實現(xiàn)地鐵圍護樁的自動生成。通過測試分析,運用本算法自動生成的地鐵圍護樁能夠滿足工程要求并且極大地提高了建模效率。應用結果表明,基于Revit的二次開發(fā)可以彌補相關BIM軟件專業(yè)性不強的問題,有助于推動BIM技術在我國的應用和發(fā)展。

    開發(fā)準備

    下圖為地鐵圍護樁布置圖(局部),可以看出,樁的數(shù)量較多且沿樁定位線等間距分布,Revit建模過程中,可以通過“復制”、“移動”、“陣列”等功能來實現(xiàn)圍護樁的建模,但效率較低。因此,本文通過分析地鐵圍護樁分布規(guī)律,基于Revit進行二次開發(fā),實現(xiàn)圍護樁的快速建模。

image.png

    地鐵圍護樁布置圖(局部)

    樁族的創(chuàng)建

    利用函數(shù)NewFamilyInstance(XYZlocation,FamilySymbolsymbol,Levellevel,StructuralTypestructuralType)創(chuàng)建樁族實例模型,其中,location為族實例放置點坐標,symbol為族類型,level為標高,structuralType為結構類型。由此可見,樁自動生成的關鍵是計算樁定位點坐標,下文將重點介紹。

    對話框窗口與Revit數(shù)據(jù)的交互

    利用窗口(Form類)及一些控件:文本框(TextBox)、組合框(ComboBox)、按鈕(Button)等,按下述方法實現(xiàn)Revit數(shù)據(jù)與窗口的交互。

    窗口類中定義UIDocument、FamilySymbol等字段,重載窗口類的構造函數(shù)。這樣,窗口對象即可讀寫Revit當前文檔數(shù)據(jù),外部命令接口也可獲得窗口的數(shù)據(jù)。部分代碼如下:

    publicpartialclassModelForm:System.Win-dows.Forms.Form

    {

    privateUIDocumentm_uidoc;

    publicFamilySymbolm_symbol;

    publicModelForm(UIDocumentuidoc)

    {

    InitializeComponent();

    m_uidoc=uidoc;//窗口對象中保存

    UIDocument

    }

    ……

    }

    在外部命令接口的Execute函數(shù)中創(chuàng)建窗口對象,獲得窗口的數(shù)據(jù)。部分代碼如下:

    UIDocumentuidoc=commandData.

    Application.ActiveUIDocument;

    ModelFormform=newModelForm(uidoc);

    form.ShowDialog();

    if(form.DialogResult==DialogResult.OK)

    {

    FamilySymbolpileSymbol=form.m_symbol;//獲得窗口選擇的族類型

    }

    根據(jù)地鐵圍護樁排布規(guī)律以及構造參數(shù)要求,設置下圖所示的對話框窗口與Revit進行數(shù)據(jù)交互,獲取生成樁的參數(shù)。

image.png

    生成樁程序窗口

    生成樁

    Revit可以讀取CAD文件并且CAD工程圖紙繪制的過程中會將不同的構件分圖層表示。因此,可以通過相關算法識別以“鏈接CAD”的方式鏈接進Revit中的CAD圖紙,獲得定位線并對其排序;判斷定位線走向,將其修正為沿順時針方向的有向線段;將順時針方向的樁定位線向外偏移樁直徑的一半并延長,使其相交,即得到圍護樁布置中心線;以圍護樁布置中心線為基線,計算出每根樁中心點并生成樁。

    樁定位線排序

    模型線(對應ModelLine類)的GeometryCurve屬性是Line類型對象,表示直線的信息(起點、終點等)。將選中的模型線的直線信息存于鏈表lineList中,對lineList中儲存的元素進行排序,使其成為連續(xù)有向的“多段線”,即第i+1個元素起點與第i個元素終點重合(i=1,2…)。實現(xiàn)的方法為:(1)定義新鏈表newList,取出lineList第1個元素L1添加到newList,找到終點與L1起點重合的元素,將其添加到newList頭部,循環(huán)找到L1前面的直線;(2)找到起點與L1終點重合的元素,將其添加到newList尾部,循環(huán)找到L1后面的直線;(3)最終得到的newList即為排序后的定位線。

    判定并修正樁定位線走向

    將樁定位線向外偏移得到樁中心線的前提是樁定位線是沿順時針方向的有向線段,如下圖a所示。對于有向多段線,取直線Li,其起點坐標為(x起,y起),終點坐標為(x終,y終)。例如,將Li與x軸以及直線x=xa、x=xb圍成的四邊形面積記為A(i可為負),則Ai=1/2(x終i–x起i)?(y終i+y起i)。將所有定位線對應的Ai疊加,記為ΣAi,i=1,2,…,4。若ΣAi>0,則定位線為順時針,若ΣAi<0,則判定其為逆時針。以下圖a為例,為在第1象限的順時針有向4段線,L1的起點坐標為(xa,yb),終點坐標為(xb,yb),則:A1=1/2(xb–xa)?(yb+yb)=yb(xb–xa)>0,同理,A2=A4=0,A3=1/2(xa–xb)?(ya+ya)=ya(xa–xb)<0,ΣAi=yb(xb–xa)+ya(xa–xb)>0,滿足判定條件;下圖b顯示為逆時針有向4段線,ΣAi<0,滿足該判定條件。對于任意多邊形n,以上算法均適用,該判定條件均能滿足。

image.png

    獲取樁中心線

    將樁定位線向外偏移樁直徑的一半即可得到樁中心線。如下圖a所示,L1、L2、Li、Ln為沿順時針方向的樁定位線。

    將每一根直線如Li沿逆時針方向旋轉(zhuǎn)90°,即得到a→i

    將Li沿著a→偏移樁直徑的一半得到圖示的有向線段M1、M2、Mi、Mn,即為部分樁中心線

    通過方程組求兩相鄰直線的交點,如下圖b所示的P1、P2、Pi、Pn,按順序連接上述交點即得到完整的樁中心線P1P2PiPn

image.png

    樁中心線

    計算樁中心點坐標并生成樁

    在得到樁中心線后,對于其中每條長度為L的線段,從起點開始按間距d(交互界面輸入?yún)?shù):樁間距)生成樁中心點,若L/d為整數(shù),則得到L/d個樁中心點,樁間距相等;若L/d不為整數(shù),則得到的樁中心點的個數(shù)為(L+d)/d的整數(shù)部分,最后一個中心點平分剩余長度。通過上述方法便可獲取樁中心線對應的樁中心點坐標。將上述樁中心點坐標逐個傳遞到樁生成函數(shù)NewFamilyInstance,即可生成所有樁。

    測試

    算法測試

    針對本文所述算法,利用VisualStudio2015開發(fā)工具以及C#語言,基于.NET平臺編寫程序。

image.png

    程序流程圖

    程序測試

    在Revit2018環(huán)境下運行上述程序,導入工程圖紙進行測試,生成地鐵圍護樁效果圖。

image.png

    測試效果圖

    通過與Revit傳統(tǒng)建模方式對比發(fā)現(xiàn),利用本程序自動生成樁建模速度較快,準確性高,能夠滿足工程需求。

    本文所述算法以及程序可以提高建模效率,具有較強的實用性。本文僅針對線性排布的圍護樁提出其自動生成算法,工程項目中還普遍存在有區(qū)域布置的群樁,另外對于樁基礎、承臺、樁鋼筋、冠梁等,其自動生成算法是今后的研究方向。

    主要內(nèi)容來源:

    中鐵電氣化局集團有限公司(鐵路BIM聯(lián)盟成員單位)

    王博,陳亞暉.

    基于Revit的地鐵圍護樁自動生成算法研究[J].鐵路計算機應用.


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

未標題-1.jpg

上一篇:CAD教程 | 如何完整導出 CAD 圖紙?

下一篇:CAD教程 | 如何迅速增強CAD繪圖技巧

60acb4e0ef112.png