王子茹 于超
(大連理工大學(xué) 建設(shè)工程學(xué)部,大連 116024)
隨著經(jīng)濟(jì)與科技的發(fā)展,世界各個(gè)行業(yè)正在迅猛發(fā)展,自動(dòng)化與工業(yè)化水平得到了顯著提升,建筑工程行業(yè)也開(kāi)始從傳統(tǒng)構(gòu)建時(shí)代,向裝配式、工業(yè)化和自動(dòng)化時(shí)代過(guò)渡,建筑產(chǎn)業(yè)會(huì)隨著社會(huì)節(jié)奏加快而不斷優(yōu)化項(xiàng)目整個(gè)生命周期,節(jié)約設(shè)備與人力成本,提高工作效率成為了業(yè)內(nèi)人員努力的方向[1]。與此同時(shí),一類(lèi)把參數(shù)信息與建筑結(jié)合在一起的理念便孕育而生:建筑信息模型(Building Information Modeling,BIM)。BIM 特征在于利用數(shù)字化技術(shù),使建筑項(xiàng)目的設(shè)計(jì)、施工、運(yùn)營(yíng)、后期維護(hù)以及拆除的信息集成,貫穿了項(xiàng)目始終,受到行業(yè)內(nèi)廣泛認(rèn)可[2-4]。
其中,Revit 作為實(shí)現(xiàn)BIM 技術(shù)理念的集成軟件,擁有“所見(jiàn)即所得”的特點(diǎn),且軟件本身就為研究者提供了后臺(tái)API 命令,為參數(shù)化生成模型等功能的開(kāi)發(fā)打下了良好的基礎(chǔ)[5]。
研究者基于Revit 軟件,針對(duì)鋼結(jié)構(gòu)或鋼筋混凝土建筑、橋體以及多面體等結(jié)構(gòu)類(lèi)型進(jìn)行不同方式的參數(shù)化研究。其中文獻(xiàn)[5]初步提供了點(diǎn)-線-面的參數(shù)化建模路線;文獻(xiàn)[6]優(yōu)化了表達(dá)模型的數(shù)據(jù)結(jié)構(gòu),設(shè)計(jì)出查重元素的算法,減少事務(wù)變更次數(shù),提高了效率;文獻(xiàn)[7]則提供了創(chuàng)建族庫(kù)的新思路。
木結(jié)構(gòu)作為我國(guó)傳統(tǒng)建筑結(jié)構(gòu)類(lèi)型,在環(huán)境優(yōu)美的度假村莊以及國(guó)家重點(diǎn)名勝古跡等地方都占據(jù)著結(jié)構(gòu)種類(lèi)中的領(lǐng)導(dǎo)地位[8]。隨著新時(shí)代人們?cè)絹?lái)越倡導(dǎo)綠色環(huán)保、溫暖舒適等居住要求,木結(jié)構(gòu)深受建筑設(shè)計(jì)師的青睞。
在木屋結(jié)構(gòu)方面,文獻(xiàn)[9]初步利用API 接口設(shè)計(jì)了木屋模型分析系統(tǒng),是以機(jī)械加工的角度對(duì)木結(jié)構(gòu)孔槽加工相關(guān)數(shù)據(jù)的準(zhǔn)確性進(jìn)行了優(yōu)化,方便用戶提取木屋模型數(shù)據(jù)。文獻(xiàn)[10-11]提供了利用RevitAPI 與Dynamo 插件結(jié)合來(lái)完成建模的方法,并高效解決了墻面切割處理等問(wèn)題。
綜上可以看出關(guān)于木屋表面與模型數(shù)據(jù)處理等細(xì)節(jié)方面已有許多建樹(shù),但較少提及木屋結(jié)構(gòu)的參數(shù)化自動(dòng)建模部分。
在木屋結(jié)構(gòu)的建模過(guò)程中,繁雜的開(kāi)孔、凹槽構(gòu)造以及如何對(duì)應(yīng)材質(zhì)信息是其獨(dú)有的特點(diǎn),也是研究者們進(jìn)行探究的重點(diǎn)。在Revit 中手動(dòng)創(chuàng)建屬于孔槽的空心族,再創(chuàng)建族實(shí)例生成對(duì)應(yīng)的凹槽,這增加了用戶的手動(dòng)操作時(shí)間,效率較低,此過(guò)程并沒(méi)有實(shí)現(xiàn)自動(dòng)化建模。
本文將利用RevitAPI 命令與C#編程技術(shù)進(jìn)行交互[5,6],以三角形木屋頂為例,精確到螺栓、圓釘?shù)燃?xì)小部件,根據(jù)操作者需要的參數(shù),完成孔槽構(gòu)造的自動(dòng)生成工作,自動(dòng)匹配模型材質(zhì)信息。通過(guò)設(shè)計(jì)編寫(xiě)后臺(tái)代碼生成UI 窗口程序插件,令生成的模型分步演示,最終在軟件中詳細(xì)呈現(xiàn)三角形方木屋頂模型,真正實(shí)現(xiàn)參數(shù)化木屋頂自動(dòng)建模功能。
針對(duì)Revit 的參數(shù)化設(shè)計(jì)方法可以概括為三種:研究人員可以利用Revit 自帶的內(nèi)置開(kāi)發(fā)模塊,通過(guò)Module_Startup,Module_Shutdown 方法,進(jìn)行各種軟件建模操作的編譯,運(yùn)行宏腳本執(zhí)行其命令。第二種便是用戶通過(guò)第三方的Grasshopper 工具與Dynamo-Revit 功能相鏈接,對(duì)操作命令進(jìn)行可視化編譯。最后一種方法是基于Visual Studio 平臺(tái),利用編程語(yǔ)言進(jìn)行更細(xì)致的參數(shù)化程序開(kāi)發(fā)。
本文研究是以Visual Studio Community 2019 作為開(kāi)發(fā)平臺(tái),通過(guò)選用.NET Framework4.6 作為目標(biāo)框架,以自動(dòng)生成綁定重定向替代程序集統(tǒng)一,進(jìn)行模型參數(shù)化設(shè)計(jì)程序編譯工作。
Revit 建模軟件面向用戶提供了豐富的API 命令,開(kāi)發(fā)者可以通過(guò)API 中集成的控制命令,直接創(chuàng)建、修改或刪除模型元素,實(shí)現(xiàn)預(yù)期的功能[12]。
本文基于RevitAPI2018 版本以及C#語(yǔ)言進(jìn)行開(kāi)發(fā),過(guò)程中主要以元素為單位進(jìn)行展開(kāi)。圖1 列出了RevitAPI 中族與族類(lèi)別、族實(shí)例的基本繼承關(guān)系。
圖1 元素繼承關(guān)系
(1)Revit Lookup Tables
Revit Lookup Tables 方便用戶直接查看選定元素的各項(xiàng)屬性,包括ID、原點(diǎn)、法向向量、族、族類(lèi)別等隱藏信息。
(2)Revit 2018 SDK
SDK 文檔中包含了每一部分API 代碼,針對(duì)不同編程語(yǔ)言的程序案例與說(shuō)明,方便開(kāi)發(fā)人員進(jìn)一步理解并合理使用API。本文運(yùn)用Revit 2018.2 SDK 版本進(jìn)行開(kāi)發(fā)。
通過(guò)設(shè)計(jì)UI 互動(dòng)窗體使程序獲取木屋模型自定義參數(shù),針對(duì)一般形狀模型以其關(guān)鍵點(diǎn)確定各個(gè)連接線段,并利用元素集合組成模型輪廓。根據(jù)特定的空間向量方向?qū)δP蜆?gòu)件進(jìn)行拉伸生成工作。對(duì)于特殊形態(tài)的組成部分,便利用代碼實(shí)現(xiàn)旋轉(zhuǎn)、放樣等手段來(lái)加以合成。
特殊凹槽、孔槽等部位利用空心與實(shí)體模型的剪切關(guān)系進(jìn)行創(chuàng)造。材質(zhì)紋理等模型信息通過(guò)收集元素、篩選過(guò)濾、賦予屬性的方法予以實(shí)現(xiàn)。
本文利用程序生成的addin 文件與Revit 外部應(yīng)用接口相配合來(lái)進(jìn)行插件功能的實(shí)現(xiàn)。
木屋頂由屋面、木屋架、椽條與必要的水平橫向支撐組成,其中椽條與水平橫向支撐的構(gòu)造相對(duì)簡(jiǎn)單,而木屋架的結(jié)構(gòu)構(gòu)造復(fù)雜多樣,存在各種挖孔、錨固、連接和加固措施,下面將以三角形木屋架的參數(shù)化建模為主,詳細(xì)闡述實(shí)現(xiàn)自動(dòng)化建模過(guò)程。
對(duì)木屋頂實(shí)現(xiàn)參數(shù)化自動(dòng)建模,首先需要確定各項(xiàng)關(guān)鍵性數(shù)據(jù)。本文依據(jù)《木結(jié)構(gòu)設(shè)計(jì)手冊(cè)》、木結(jié)構(gòu)設(shè)計(jì)標(biāo)準(zhǔn): GB50005-2017的要求設(shè)計(jì)相關(guān)程序代碼,對(duì)木結(jié)構(gòu)屋頂尺寸與構(gòu)造進(jìn)行了有效計(jì)算與控制,其中包括屋面長(zhǎng)度、屋架榀數(shù)、屋架高度等重要信息[13,14]。
在宏觀結(jié)構(gòu)尺寸設(shè)計(jì)方面,控制三角形木屋架跨度不超過(guò)18m、限制高跨比1/4、以及桁架間距不宜大于6m 等規(guī)范要求。從構(gòu)件連接部位設(shè)計(jì)中,兩兩螺栓的最小間距根據(jù)木材的紋理方向進(jìn)行設(shè)置,不可小于規(guī)定的數(shù)額,以防止其產(chǎn)生應(yīng)力集中現(xiàn)象。假設(shè)螺栓直徑為d,順紋對(duì)齊排列與錯(cuò)行排列的最小間距分別為7d 與10d,端距7d。橫紋時(shí)分別為3.5d 與2.5d,端距3d。
通過(guò)在Visual Studio 中設(shè)計(jì)Winform 窗體應(yīng)用,并在程序中創(chuàng)建窗體對(duì)象,呈現(xiàn)窗體,使用戶可以在之后的插件中直接輸入這些參數(shù),初始輸入的參數(shù)屬于string 類(lèi)型,利用Convert.ToDouble 方法使程序接收用戶輸入,關(guān)閉窗口,如圖2 所示。
圖2 設(shè)計(jì)木屋參數(shù)UI 窗體界面
初始時(shí),用戶輸入的參數(shù)與最終生成模型的尺寸存在偏差,本文經(jīng)過(guò)測(cè)試,為了使參數(shù)與模型尺寸擁有整數(shù)倍的比例,在程序中將每一項(xiàng)數(shù)值換算一致,并考慮到模型生成后的比例太小,不足以直接觀察模型細(xì)節(jié),本文經(jīng)過(guò)測(cè)試,將生成木屋頂?shù)哪P驼w橫縱方向比例增加到2 倍。
需要注意的是,窗體應(yīng)用設(shè)計(jì)中擁有填寫(xiě)功能的textBox 控件,其Modifiers 屬性需要設(shè)為Public,否則程序?qū)⒔邮懿坏接脩糨斎氲膮?shù)。
木屋頂?shù)慕Y(jié)構(gòu)構(gòu)造相對(duì)復(fù)雜,細(xì)分為螺栓、暗銷(xiāo)、長(zhǎng)圓釘、棱條、附木、枕木、木夾板、墊板、墊塊、上弦、下弦與屋面等部分,如圖3 所示。
圖3 木屋頂組成構(gòu)件
為了優(yōu)化模型生成后呈現(xiàn)的效果,對(duì)以上基本單元部分進(jìn)行細(xì)節(jié)化控制,其中上下弦、附木和枕木等相對(duì)規(guī)則物體,首先建立每個(gè)關(guān)鍵點(diǎn)的坐標(biāo),之后利用line 中的CreateBound 方法進(jìn)行兩點(diǎn)間的連線工作,并把線段包裹在Curvearrarray 的序列中,利用NewExtrusion 方法,在由點(diǎn)到線,由線到體的同時(shí),選定平面拉伸完成。
如圖4 所示,墊塊這類(lèi)變截面模型生成過(guò)程需要使用FamilyCreate 中的NewBlend 方法,通過(guò)創(chuàng)建上下兩端截面輪廓,沿特定的路徑對(duì)其進(jìn)行放樣融合。此方法的具體設(shè)計(jì)架構(gòu)如圖5 所示。
圖4 程序自動(dòng)化生成的墊塊模型
圖5 變截面構(gòu)件模型程序設(shè)計(jì)架構(gòu)
對(duì)于暗銷(xiāo)與長(zhǎng)圓釘模型,由于其不規(guī)則的形狀限制,建模時(shí)無(wú)法對(duì)其進(jìn)行拉伸與融合操作.這里對(duì)這些構(gòu)件使用NewRevolution 方法,編輯線段輪廓,通過(guò)與輪廓的旋轉(zhuǎn)軸Axis 對(duì)其旋轉(zhuǎn)一定角度生成。需要注意的是,旋轉(zhuǎn)所需的輪廓與拉伸融合都要求必須閉合且旋轉(zhuǎn)軸與輪廓線段必須在同一平面上。
為了方便操作,分別在項(xiàng)目文件中新建暗銷(xiāo)與長(zhǎng)圓釘?shù)念?lèi),并在類(lèi)中寫(xiě)入返回值為Revolution 類(lèi)型的方法,最后在屋架類(lèi)中聲明變量進(jìn)行接收,把輪廓關(guān)鍵點(diǎn)中的兩點(diǎn)連線當(dāng)作旋轉(zhuǎn)軸,使線段輪廓圍繞軸旋轉(zhuǎn)360°生成模型。
木屋頂與其他材料的屋頂相比,突出的不同點(diǎn)在于其為了保證結(jié)構(gòu)穩(wěn)定性與構(gòu)造要求,存在數(shù)量繁多的凹槽與孔洞。
以螺栓帽和腹桿兩端凹槽為例,首先按照參數(shù)將原拉伸體生成出來(lái),之后通過(guò)計(jì)算,在螺栓與螺栓帽、腹桿與上下弦的接觸位置分別進(jìn)行空心建模操作,把NewExtrusion 方法中的IsSolid 屬性填為false,表示創(chuàng)建的模型屬于剪切體,最后通過(guò)創(chuàng)建合并元素集合,把空心部分與螺栓帽、上下弦收集到集合里,進(jìn)行實(shí)體與空心模型的連接,即生成凹槽與孔洞,下面為部分代碼。圖6 為具體程序設(shè)計(jì)流程,生成后的凹槽模型效果如圖7~圖9 所示。
圖6 自動(dòng)化生成凹槽孔洞程序設(shè)計(jì)流程
圖7 自動(dòng)化生成墊塊凹槽模型圖
圖8 程序生成螺栓帽孔洞模型圖
圖9 程序生成上弦桿凹槽模型展示圖
圖10為此次參數(shù)化建模過(guò)程中涉及到的編輯命令匯總,由于木屋頂?shù)膶?duì)稱性以及重復(fù)的構(gòu)件種類(lèi)繁多,于是涉及到了很多Revit.DB 命名空間下ElementTransformUtils 類(lèi)中的編輯元素命令,每一種命令都需要提供元素的ID 才能實(shí)現(xiàn)預(yù)期的操作。其中移動(dòng)、復(fù)制與鏡像命令輸入的坐標(biāo)變量,是相對(duì)原實(shí)例id 的坐標(biāo),并且這些命令都有獨(dú)自對(duì)應(yīng)的批量操作方法,把需要編輯的元素ID 打包成集合,利用ICollection 收集器進(jìn)行統(tǒng)一操作。
圖10 編輯命令匯總
傳統(tǒng)手動(dòng)設(shè)置項(xiàng)目中的模型材質(zhì),需要對(duì)構(gòu)件的每一族類(lèi)別分別進(jìn)行設(shè)置,且遇到特殊實(shí)例需要個(gè)別調(diào)整,使人工操作時(shí)間大大增加。
此次研究目標(biāo)材質(zhì)是固定的木材材料和螺栓、圓釘和暗銷(xiāo)等其他金屬構(gòu)件。為了使木材模型與其他構(gòu)件在可視化方面區(qū)別開(kāi)來(lái),本文設(shè)計(jì)出了完成自動(dòng)設(shè)置模型材質(zhì)的系列方法,下面為實(shí)現(xiàn)方法過(guò)程的關(guān)鍵代碼。圖11 為實(shí)現(xiàn)方法過(guò)程的設(shè)計(jì)流程與思路。
圖11 自動(dòng)匹配材質(zhì)信息程序設(shè)計(jì)流程圖
通過(guò)上述流程,用戶可以通過(guò)winform 彈窗,在“木材材質(zhì)”后面填寫(xiě)需要設(shè)置的材質(zhì)類(lèi)型,之后程序會(huì)自動(dòng)通過(guò)材質(zhì)瀏覽器搜索輸入過(guò)的材質(zhì)名稱,完成模型材質(zhì)設(shè)置。
由于通過(guò)代碼自動(dòng)生成模型的過(guò)程中存在復(fù)雜的細(xì)節(jié)處理與精細(xì)坐標(biāo)比對(duì)等工作,在調(diào)試代碼運(yùn)行成果時(shí),Revit 會(huì)默認(rèn)識(shí)別出距離極近的兩個(gè)線段或模型邊緣并沒(méi)有重合,并誤報(bào)“圖元稍微偏離了軸”警告,嚴(yán)重影響程序代碼的可執(zhí)行性與用戶界面觀感。
為了解決這一問(wèn)題,本文設(shè)計(jì)并編寫(xiě)了繼承IFailuresPreprocessor 預(yù)處理程序接口的FailureSolution類(lèi), 遍歷并接收錯(cuò)誤信息并建立if 語(yǔ)句, 當(dāng)GetDescriptionText 描述文字接收到“圖元稍微偏離了軸……”的警告文字,即可禁止消息框的出現(xiàn)。同時(shí),針對(duì)此程序繼續(xù)編寫(xiě)與之對(duì)應(yīng)的FailedHandler 方法,通過(guò)定義相應(yīng)的處理器,并在代碼中輸入構(gòu)筑體名稱參數(shù)來(lái)實(shí)現(xiàn)此方法,最終消除誤報(bào)彈窗。
編輯后臺(tái)API 代碼文件成功后,在Revit 中利用外部應(yīng)用接口進(jìn)行插件功能的實(shí)現(xiàn)。本文通過(guò)重建一個(gè)項(xiàng)目,其中的類(lèi)繼承Autodesk.Revit.UI 命名空間IExternalApplication 的接口,利用OnStartup 函數(shù)進(jìn)行插件模塊的生成。接下來(lái),需要把編輯好的addin 文件放入對(duì)應(yīng)版本的文件目錄中,指引Revit 通過(guò)Assembly路徑識(shí)別GUID 識(shí)別碼,尋找外部應(yīng)用接口dll 項(xiàng)目文件,再重新打開(kāi)Revit 應(yīng)用程序。如插件沒(méi)有設(shè)置簽名,則點(diǎn)擊“總是載入”,完成制作。
本文選取某地方一座紅松方木屋頂為建模實(shí)例。其屋頂24m 長(zhǎng),八榀屋架,每一屋架12m 寬、3m 高,其中輸入的數(shù)據(jù)以毫米為單位。
在程序接口代碼方面,建模時(shí)生成每一屋架的左半邊,再通過(guò)程序代碼中的MirrorElements 實(shí)例方法對(duì)其進(jìn)行鏡像,生成完整的單一屋架模型。需要注意的是,鏡像后發(fā)現(xiàn)右半模型中的原空心剪切情況已不復(fù)存在,于是需要在程序中的空心模型進(jìn)行鏡像與連接的循環(huán)操作,鞏固右半部分的模型凹槽效果,圖13~圖14 為程序生成的單一木屋架模型線框透析圖與渲染圖。
圖13 木屋架線框透析圖
圖14 木屋架仿真渲染圖
創(chuàng)建公制輪廓豎梃族,設(shè)計(jì)出瓦片輪廓,并將族載入項(xiàng)目中,利用拉伸屋頂命令初步建造屋頂頂板,并把其屬性改為玻璃斜窗,利于后期鋪墊瓦片。將玻璃斜窗屬性中的網(wǎng)絡(luò)1 內(nèi)部類(lèi)型以及邊界1、2 類(lèi)型設(shè)置為載入的瓦片豎梃族,并設(shè)計(jì)好間距距離與布局,模擬生成木屋頂瓦片效果圖,如圖15 所示。
圖15 木屋頂瓦片模型圖
在Revit 插件操作方面,新建族文件,打開(kāi)“木屋頂”模塊,點(diǎn)擊插件,如圖16 所示,根據(jù)用戶輸入的屋頂長(zhǎng)度Distan 與榀數(shù)在程序中建立for 循環(huán),實(shí)現(xiàn)對(duì)應(yīng)數(shù)量的屋架排列、棱條以及椽條。在對(duì)應(yīng)的榀數(shù)上添加橫向支撐、與屋面,方木屋頂建模完成,如圖17 為最終木屋頂3D 圖。
圖16 參數(shù)化木屋架部分構(gòu)件模型
圖17 生成木屋頂模型
該實(shí)例建模時(shí),以木屋頂為重點(diǎn)組成部位,宏觀上呈現(xiàn)了包含木屋跨度、寬度、屋頂木屋架榀數(shù)與分布、上下弦桿和拉桿尺寸等結(jié)構(gòu),精確到上弦與下弦端部連接處、上下弦木夾板螺栓錨固排列數(shù)量與方式、墊塊和暗銷(xiāo)的固定、檁條與三角木的搭接等部分,如圖18~圖19 所示。
圖18 暗銷(xiāo)連接處
圖19 弦桿連接處
生成后的整體模型呈現(xiàn)完整,且本身?yè)碛秀暯幽疚輭w的檁條與螺栓,滿足尺寸要求的下方主體結(jié)構(gòu)可直接與模型連接,該模型并無(wú)缺件情況。由于部分靜態(tài)方法的循環(huán)執(zhí)行,使下弦中間墊板部分在原位置處重復(fù)生成,不可避免的產(chǎn)生了多件情況,但經(jīng)過(guò)程序后期的材質(zhì)自動(dòng)匹配功能,賦予重復(fù)墊板模型同樣的材質(zhì)信息后,對(duì)模型外觀的表現(xiàn)無(wú)影響。
本文基于木屋頂?shù)慕Y(jié)構(gòu)特點(diǎn),通過(guò)winform 窗口收集UI 過(guò)程中輸入的設(shè)計(jì)參數(shù),利用RevitAPI 與C#編程技術(shù)設(shè)計(jì)程序,簡(jiǎn)化了木屋頂建模的設(shè)計(jì)思路,實(shí)現(xiàn)木屋頂參數(shù)化自動(dòng)建模過(guò)程,研究結(jié)果表明:
(1)在設(shè)計(jì)并完成木結(jié)構(gòu)房屋的控制參數(shù)窗口之后,需要更改textBox 控件信息中Modifiers 屬性的公開(kāi)性,以保證輸入后的參數(shù)能夠在程序項(xiàng)目的類(lèi)中共享。木屋模型的控制參數(shù)眾多,當(dāng)設(shè)計(jì)接收數(shù)據(jù)的窗體較多時(shí),可利用DialogResult 等方法使其先后連續(xù)自動(dòng)出現(xiàn);
(2)區(qū)別于Revit 軟件手動(dòng)繪制或剪切生成木屋凹槽孔洞結(jié)構(gòu)的做法,通過(guò)C#編程技術(shù)與RevitAPI配合生成相應(yīng)空心實(shí)體,根據(jù)接收的自定義參數(shù)數(shù)據(jù),再運(yùn)用元素連接的方式自動(dòng)形成所需位置的凹槽構(gòu)造模型,提升了坐標(biāo)點(diǎn)位的精準(zhǔn)度,也有效提高了木結(jié)構(gòu)房屋的建模效率;
(3)根據(jù)設(shè)計(jì)者在窗體中輸入的木材或金屬材質(zhì)名稱,可以運(yùn)用構(gòu)件過(guò)濾器在材質(zhì)瀏覽器中遍歷材質(zhì)類(lèi)型,通過(guò)if 語(yǔ)句判別內(nèi)部名稱并匹配,自動(dòng)將木材材質(zhì)附著于對(duì)應(yīng)的模型構(gòu)件上,大幅度減少手動(dòng)操作時(shí)的重復(fù)性工作;
(4)通過(guò)FailureSolution 類(lèi)與FailedHandler 方法的搜索信息與數(shù)據(jù)處理等功能,可以設(shè)計(jì)程序代碼辨識(shí)誤報(bào)信息內(nèi)容來(lái)自動(dòng)阻止消息窗體的彈出,避免其影響自動(dòng)建模時(shí)的連貫性與交互觀感。
本文運(yùn)用API 命令與外部編程語(yǔ)言編寫(xiě)了大量功能性程序方法,這有利于設(shè)計(jì)者擺脫人工繪制大量重復(fù)性工作,提高了木結(jié)構(gòu)房屋設(shè)計(jì)的工作效率,希望在木結(jié)構(gòu)建筑的建模與施工進(jìn)度可視化研究方面,可以給予一定的參考與思路。