• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Revit二次開發(fā)的多面體參數(shù)化建模

      2020-04-07 02:33:56
      土木建筑工程信息技術(shù) 2020年1期
      關(guān)鍵詞:邊形多面體控制參數(shù)

      (大連理工大學 建設(shè)工程學部,大連 116024)

      引言

      類Weaire-Phelan多面體(簡稱類WP多面體)是由Weaire-Phelan多面體氣泡單元衍生、改良而成的一類多面體[1]。其數(shù)學理論起源是Kelvin問題:將無限空間劃分為具有一定界面面積的等體積單元(或其組合),什么樣的劃分方式能夠使得界面面積取最小值。Weaire-Phelan氣泡對應(yīng)的空間分割方案是目前已知的Kelvin問題的最優(yōu)解[2]。該數(shù)學理論在結(jié)構(gòu)設(shè)計上最經(jīng)典的應(yīng)用就是國家游泳中心“水立方”的多面體空間剛架結(jié)構(gòu)。

      圖1 國家游泳中心“水立方”

      BIM技術(shù)不僅用于解決項目中智能分工與協(xié)同、異形體設(shè)計、建筑分析、可視化、精細化等二維設(shè)計難以解決的困難,而且使項目管理逐步形成新的管理體系[3-5]。Revit作為BIM技術(shù)的重要平臺,近年來在二次曲面網(wǎng)殼結(jié)構(gòu)、斜拉橋和單層工業(yè)廠房的參數(shù)化設(shè)計,識別構(gòu)件點云數(shù)據(jù),自動化計算窗戶熱物理特性,PKPM接口等方向均有研究進展[6-11]。但從現(xiàn)有資料來看,基于Revit開發(fā)的建模方法并沒有涉及類WP多面體空間結(jié)構(gòu)這一經(jīng)典類型。該空間結(jié)構(gòu)獨特的“嵌填”式[12]的建模思路極大的區(qū)別于當下大多數(shù)模型軟件“搭積木”式的建模方法。

      文獻[1]研究了組成類WP多面體的兩種基本單元,完成了基本12面體和基本14面體的圖形解析和數(shù)學解析,確定了基本多面體的形狀控制參數(shù),分析了形狀控制參數(shù)與多面體邊長的數(shù)學相關(guān)特性,規(guī)范了形狀控制參數(shù)的合理取值范圍,為多面體的參數(shù)化三維建模程序奠定了基礎(chǔ)。文獻[12]提出了類WP多面體基于AutoCAD的建模方法,并提供了多面體基本組合的建模思路。本文在分析這些研究成果的基礎(chǔ)上,利用Revit提供的API函數(shù),完成類WP多面體基本單元和基本組合的建模程序插件,實現(xiàn)基本單元和基本組合的參數(shù)化選型和可視化建模功能,以提高類WP多面體結(jié)構(gòu)選型時的工作效率。

      1 基于Revit的多面體建模開發(fā)

      本文基于Revit 2018及Revit 2018.2 SDK,選擇Visual Studio Community 2017為平臺,編譯程序目標框架選用.NET Framework 4.6,在Windows7(x64)版本系統(tǒng)下,使用C#(6.0版本)編程語言完成程序編寫和編譯。主要工作包含兩部分內(nèi)容:多面體基本單元的建模和多面體基本組合的建模。

      1.1 總體架構(gòu)

      在數(shù)學理論、建模方法和編程技術(shù)的支撐下,首先設(shè)計和編制基本單元和基本組合的數(shù)據(jù)處理模塊,根據(jù)輸入?yún)?shù)計算生成點、線、面等數(shù)據(jù),然后交由建模模塊在Revit視圖界面中生成可視化模型??傮w架構(gòu)如圖2所示。

      圖3 開發(fā)調(diào)試界面

      圖2 總體架構(gòu)

      1.2 程序開發(fā)

      程序開發(fā)工作主要包括以下幾個方面[13]。

      ①在Visual C#中新建一個類庫,通過添加RevitAPI接口并引用Autodesk.Revit的命名空間,指定事物模式和模型更新模式,從ExternalCommand接口實現(xiàn)新建類。

      ②對Execute方法重載,在Visual C#中新建窗體創(chuàng)建可視化界面并進行參數(shù)的傳入;

      ③參數(shù)修改,若程序執(zhí)行結(jié)果不滿足設(shè)計要求,則需要重新修改參數(shù)

      ④生成多面體模型。

      利用API為Revit編寫建模插件的開發(fā)調(diào)試界面如圖3所示。

      2 多面體基本單元建模

      2.1 類WP多面體的形狀控制參數(shù)

      2.1.1 類WP多面體基本單元

      類WP多面體由兩種基本多面體組合而成,一種是12面體(所有面均為5邊形),一種是14面體(12個面為5邊形, 2個面為6邊形)。

      基本12面體由12個全等的5邊形組成。這些5邊形并不是正5邊形,而是等腰5邊形,也即它有兩種邊長,其中4條邊長度相等。

      基本14面體由12個5邊形和2個相互平行的6邊形組成。這些5邊形中,有4個與基本12面體的5邊形一致,其余8個則相互一致屬于另外一種5邊形,也即基本14面體包含3種平面多邊形。

      2.1.2 提取形狀控制參數(shù)

      在邊長為4的晶格立方體中,取基本12面體的體心為坐標原點,基本12面體單元的20個頂點坐標如下:

      (±a,±a,±a),其中0

      (0,±b,±c),(±b,±c, 0)(±c, 0,±b),其中0

      類似的,取邊長為4的晶格立方體,取基本14面體的體心為坐標原點?;?4面體單元的24個頂點坐標如下:(1-a,±(2-a),±a),(1-c,±(2-b), 0)(1,±(2-c),±b),(-1+a,±a,±(2-a)),(-1+c, 0,±(2-b)),(-1,±b±(2-c)),(1, 0,±1),(-1,±1, 0)。

      從理論上講a、b、c均可以作為獨立參數(shù)控制類WP多面體的頂點坐標,考慮到c恰好是基本多面體其中一條棱邊的邊長,因此這里將c確定為類WP多面體的形狀控制參數(shù)。其中,形狀控制參數(shù)c的合理取值范圍是(1.0~1.5)[1]。

      2.2 參數(shù)化建模

      下面以基本12面體為載體闡述參數(shù)化建模的實現(xiàn)過程。實現(xiàn)基本14面體的參數(shù)化建模方法與之類似。在程序代碼中,為了方面記憶和識別,形狀參數(shù)被定義為double類型的字段,字段名稱為shape; a、b也是double類型,其中a=(2.0/3.0)×shape,b=0.5×shape。

      2.2.1 確定點、線對應(yīng)關(guān)系

      文獻[1]雖然給出了兩種基本多面體的頂點坐標,但是并未明確頂點與棱邊的對應(yīng)連接關(guān)系。因此,首先需要解決的問題就是基本多面體單元的點、線對應(yīng)關(guān)系。

      兩種多面體有一定的特殊性:若將多面體的所有頂點兩兩連線,并將這些線段按照長度升序排列。那么所有正確的棱邊一定連續(xù)的排列在該升序序列的頭部。也即正確的棱邊總是這些線段中的較短部分。

      第一步,將12面體的20個頂點依次輸入,編號并儲存。

      XYZ p1=new XYZ(0,b,shape); XYZ p2=new XYZ(0,-b,shape); ……XYZ p12=new XYZ(-shape, 0,-b); XYZ p13=new XYZ(a,a,a); ……XYZ p20=new XYZ(-a,-a,-a); Listpoints_12=new List{ p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18,p19,p20 };

      第二步,將這20個頂點兩兩配對成不重復(fù)的組合,計算每對組合兩頂點之間的距離并儲存至distancesList,同步儲存此時對應(yīng)的頂點編號至pointPairs。

      //儲存兩點之間的距離ListdistancesList=new List(); //儲存一對坐標點的編號。ListpointPairs=new List(); for(int i=0; i

      第三步,將儲存距離的集合復(fù)制一份并按照升序排列。取該序列的第1個值為限值min1,取該序列的第30個值為限值min2。這是因為基本12面體有30條棱邊。將間距滿足限值的頂點組合輸出到TXT文件。相應(yīng)的,在處理14面體的類似問題時要取該序列的第一個值為限值min1,取該序列的第36個值為限值min2,這是因為基本14面體有36條棱邊。

      double[]distancesArray=distancesList.ToArray(); Array.Sort(distancesArray); //數(shù)組升序排列double min1,min2; min1=distancesArray[0]; //拿到第一個限值min2=distancesArray[29]; //拿到第二個限值//判斷距離,將對的坐標對和距離綁定并輸出for(int i=0; i

      圖4 點、線對應(yīng)關(guān)系

      最后,查看TXT文件,結(jié)果文件如圖4所示。以文件“Create12結(jié)果-30根線.txt”的數(shù)據(jù)為例:每一行有3個數(shù)據(jù)(點編號,點編號,兩點之間的距離),代表基本12面體的一根棱邊的兩個端點,以及該棱邊的長度。該文件能夠解決兩個問題:第一,程序在輸出某個線模型時,可知這條線是由哪兩個點連接而成的; 第二,程序中代表線的數(shù)據(jù)類型只需要存儲點編號即可。類WP多面體兩種基本單元的頂點與棱邊對應(yīng)連接的關(guān)系即可據(jù)此確定。

      圖5 基本12面體

      2.2.2 多面體基本單元建模

      將上述點、線對應(yīng)關(guān)系儲存起來。儲存點用List集合,每一個元素代表一個點,該元素為XYZ類型的對象,其中存該點對應(yīng)的XYZ對象; 該項的索引為點編號。儲存線用List類型的對象,其中存該線對應(yīng)的點編號; 該項的索引為線編號。這樣做的好處是對多面體進行變換操作時只需要改變點表,線表保持對應(yīng)關(guān)系不變即可。同時,按索引獲取元素不會造成搜索操作,而只需快速和簡單地“跳”到一個內(nèi)存位置,這種方式的效率極高[14]。

      如圖5和圖6分別是組成類WP多面體的基本12面體和基本14面體的模型線建模效果圖。圖中類WP多面體的形狀控制參數(shù)shape=1.333333,是“水立方”Water-Cube多面體的形狀參數(shù)值。

      3 多面體基本組合建模

      3.1 類WP多面體基本組合的構(gòu)成及尺寸

      3.1.1 基本組合的構(gòu)成

      文獻[12]對類WP多面體基本組合的構(gòu)成進行了深入的研究。為了方便說明,下文仍取邊長為4的晶格立方體來闡述基本組合中每個基本單元的變換方式和它們的相對位置。如圖7展示的是2+6基本多面體組合中各個基本單元體心的相對位置。其中“圓環(huán)”代表12面體體心位置,“圓球”代表14面體體心位置。

      下文用到的12面體和14面體滿足:頂點的相對位置與基本多面體一致,體心定位在相對坐標系的原點。另外,旋轉(zhuǎn)操作中的旋轉(zhuǎn)角度和旋轉(zhuǎn)軸滿足右手規(guī)則。下面依次介紹2+6基本組合中的每個基本單元該如何變換和定位:

      圖6 基本14面體

      圖7 多面體基本組合中多面體體心分布示意圖

      ①12面體定位在坐標原點;

      ②14面體定位在(1, 0,-2);

      ③復(fù)制 ① 中的12面體,將復(fù)制體繞Z軸旋轉(zhuǎn)90°,再將其定位到(-2, 2,-2);

      ④選擇YZ平面為鏡像平面,將 ② 確定的14面體鏡像生成一個新的14面體,新多面體體心位置在(-1, 0,-2);

      ⑤取一個14面體,體心在(0, 0, 0)繞Z軸旋轉(zhuǎn)90°,再將其定位到(-2,-1, 0);

      ⑥選擇ZX平面為鏡像平面,將 ⑤ 確定的14面體鏡像生成一個新的14面體,新多面體體心位置在(-2, 1, 0);

      ⑦取一個14面體,體心在(0, 0, 0)繞Y軸旋轉(zhuǎn)90°,再將其定位到(0, 2, 1);

      ⑧選擇XY平面為鏡像平面,將 ⑦ 確定的14面體鏡像生成一個新的14面體,新多面體體心位置在(0, 2,-1);

      通過上述8次操作即可得到一個類WP多面體空間結(jié)構(gòu)的2+6基本組合。

      3.1.2 確定基本單元的實際尺寸

      基本單元尺寸的定義[15]:將屬于基本單元的一個14面體中的2個相互平行6邊形平面之間的距離定義為類WP多面體的基本單元尺寸。具體到邊長為4的晶格立方體對應(yīng)的基本單元的尺寸為1.5shape。再考慮其放大或縮小問題,定義比例系數(shù)scale,則實際工程應(yīng)用中結(jié)構(gòu)的基本單元尺寸為1.5 shape×scale。

      3.2 參數(shù)化建模

      3.2.1 縮放兩種基本單元

      2+6個多面體在基本組合中的位置是具有相對性的。因此,縮放基本單元的尺寸即可對應(yīng)形成等比例縮放的基本組合。也即先縮放基本單元的頂點坐標; 然后在變換基本單元拼裝成基本組合時,將單元體心的相對坐標也按照比例系數(shù)等比例變換。

      3.2.2 拼裝基本組合

      按照4.1節(jié)的介紹,依次完成基本組合拼裝。首先,復(fù)制一份基本多面體單元的點、線、面集合供本次操作調(diào)用; 其次,如果有必要變換的話,對集合副本進行變換操作(平移,旋轉(zhuǎn),鏡像等); 最后,將完成變換的副本數(shù)據(jù)對應(yīng)添加進基本組合的點、線、面集合。

      在拼裝過程中,除了點集合的操作,還會涉及對線集合和面集合儲存對象編號的累加問題,多面體體心定位問題,多面體旋轉(zhuǎn)、鏡像、深拷貝問題等。這些問題都可以抽象成自定義函數(shù)。

      3.2.3 基本組合建模

      如圖8是類WP多面體基本組合的模型線建模效果圖。圖中類WP多面體的形狀控制參數(shù)shape=1.333333,比例系數(shù)scale=3.6055599,均為“水立方”Water-Cube多面體的控制參數(shù)值。

      4 類WP多面體選型應(yīng)用

      4.1 選型原則

      多面體空間結(jié)構(gòu)的幾何構(gòu)成十分復(fù)雜,按照建筑和結(jié)構(gòu)的要求對其進行優(yōu)化和選型是一項非常重要的工作[16]。主要是為了滿足建筑效果和結(jié)構(gòu)構(gòu)造這兩方面的要求。

      首先,形狀控制參數(shù)的合理取值范圍是1.0~1.5; 其次,選型過程中不考慮縮放系數(shù)的影響; 最后,考慮到形成多面體空間結(jié)構(gòu)之前,基本單元往往要旋轉(zhuǎn)、切割,所以要讓多面體頂點在X、Y、Z三個平面上的投影盡可能多的重合。

      4.2 參數(shù)化選型與建模

      4.2.1 基本12面體選型對比

      選擇4個形狀控制參數(shù)做對比。分別是1, 1.2599, 1.33333和1.4。參數(shù)輸入界面如圖9,可以通過偏移坐標控制不同參數(shù)的基本12面體的生成位置,讓其處于同一視圖中方便觀察對比。

      建模結(jié)果如圖10所示。圖形的形狀控制參數(shù)從左往右依次對應(yīng)等于1, 1.2599, 1.33333和1.4。形狀控制參數(shù)只影響12面體的大小,作用類似于縮放系數(shù)。

      圖9 參數(shù)輸入界面

      圖10 12面體建模結(jié)果的三維視圖

      4.2.2 基本14面體選型對比

      同樣選擇4個形狀控制參數(shù)做對比。分別是1, 1.2599, 1.33333和1.4。觀察建模結(jié)果的俯視圖,如圖11,圖形的形狀控制參數(shù)從左往右依次對應(yīng)等于1, 1.2599, 1.33333和1.4。當形狀控制參數(shù)等于1.33333時較為符合選型原則。

      圖11 14面體建模結(jié)果俯視圖

      4.2.3 基本組合建模

      輸入控制參數(shù)。形狀控制參數(shù)為1.33333,縮放系數(shù)為1,繞(1, 1, 1)旋轉(zhuǎn)45°,不做位置變換。輸入界面見圖12。建模結(jié)果如圖13所示。

      圖12 參數(shù)輸入界面

      圖13 基本組合建模結(jié)果

      5 總結(jié)

      本文基于Revit進行二次開發(fā),結(jié)合類WP多面體的數(shù)學理論和建模方法,利用參數(shù)化實現(xiàn)了多面體基本單元的選型、建模和基本組合的建模。運行結(jié)果表明,該方法能夠正確創(chuàng)建基于不同參數(shù)的類WP多面體,為設(shè)計者提供了一種方便的可視化設(shè)計新方法,本研究成果可直接用于BIM產(chǎn)生多面體空間結(jié)構(gòu)。

      猜你喜歡
      邊形多面體控制參數(shù)
      組合循環(huán)生成法在柯克曼三元系中的應(yīng)用
      高超聲速飛行器滑??刂茀?shù)整定方法設(shè)計*
      飛控與探測(2022年6期)2022-03-20 02:16:14
      整齊的多面體
      獨孤信多面體煤精組印
      Birkhoff系統(tǒng)穩(wěn)定性的動力學控制1)
      力學學報(2020年4期)2020-08-11 02:32:12
      具有凸多面體不確定性的混雜隨機微分方程的鎮(zhèn)定分析
      Q22、Q25 mmCr- Ni-Mo、Cr-Ni-W系列正七邊形中空釬鋼的研發(fā)
      基于PI與準PR調(diào)節(jié)的并網(wǎng)逆變器控制參數(shù)設(shè)計
      黑龍江電力(2017年1期)2017-05-17 04:25:08
      傅琰東:把自己當成一個多面體
      金色年華(2016年11期)2016-02-28 01:42:38
      研究正n邊形內(nèi)角的度數(shù)
      讀寫算(中)(2015年6期)2015-02-27 08:47:25
      张家港市| 泰宁县| 黑龙江省| 荔波县| 高淳县| 深州市| 孝感市| 申扎县| 碌曲县| 白山市| 巨野县| 石阡县| 陇川县| 哈密市| 九龙坡区| 麻江县| 菏泽市| 黑水县| 西宁市| 清原| 廊坊市| 平泉县| 酉阳| 太白县| 新津县| 广宗县| 禄劝| 白城市| 安西县| 雷州市| 平阳县| 韶关市| 定兴县| 榆中县| 拜泉县| 虹口区| 宜州市| 沙雅县| 万源市| 台州市| 恩施市|