版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> AutoCAD-VBA技術(shù)在杭州蕭山機(jī)場T3航站樓金屬吊頂工程中的初步應(yīng)用</p><p> 摘要:本文介紹了在蕭山機(jī)場T3航站樓金屬吊頂工程中,如何運用AutoCAD-VBA技術(shù),解決大規(guī)模曲面吊頂AutoCAD模型空間點坐標(biāo)數(shù)據(jù)提取和金屬吊頂單元面板數(shù)據(jù)(面板加工尺寸數(shù)據(jù))生成等工程問題。通過該技術(shù)的應(yīng)用,減少了大量的從吊頂三維曲面模型到實際金屬面板加工工藝尺寸的轉(zhuǎn)化時間和人工成本。
2、</p><p> 關(guān)鍵詞:AutoCAD-VBA;AutoCAD二次開發(fā);金屬吊頂 </p><p> Abstract: This paper introduces the metal ceiling project of the Xiaoshan airport terminal T3, how to use AutoCAD-VBA technology to solve lar
3、ge-scale curved ceiling, AutoCAD model spatial coordinate data extraction and metal ceiling panel data (panel processing unit size data) generation and other engineering problems. Through the application of the technolog
4、y, reduce the amount of the 3D surface model from the ceiling into actual metal panel processing size and labor costs. </p><p> Keywords: AutoCAD-VBA; AutoCAD two; metal ceiling </p><p> 中圖分類號
5、:TU74 </p><p> 一、杭州蕭山機(jī)場T3航站樓金屬吊頂工程基本介紹 </p><p> 該吊頂工程是大型的異形曲面(雙曲面)金屬吊頂,總面積超過5萬平面。吊頂單元組塊為平面三角形,每個三角形組塊的邊長都不一致。通過三角形的空間拼接,擬合出波浪形曲面。 </p><p> 蕭山機(jī)場吊頂效果圖 </p><p> 二、工程中遇
6、到的難題 </p><p> 吊頂原始模型是AutoCAD文件中大量的空間點。這些空間點連線形成的三角形就形成三角形板塊的分格線,由于工程安裝需要和考慮環(huán)境溫度變化等因素,板塊與板塊之間必須留有一定的縫隙,所以空間點連接形成的三角形還必須進(jìn)行邊的偏移處理(偏縫處理)才能得到真實的金屬面板尺寸模型。最后提取真實模型的邊長尺寸,制成Excel加工清單表格,才能最終用到工廠的生成加工中去。 </p>&
7、lt;p> 分格線與真實面板邊線示意圖 </p><p> 人工處理必須經(jīng)過以下過程: </p><p> 空間點連線—>空間三角形分格模型—>三角形邊線偏移處理—>真實面板尺寸—>尺寸數(shù)據(jù)制成Excel加工清單表格 </p><p> 整個工程有5萬多塊三角形面板需要經(jīng)過上面的過程處理,這將是十分繁重的工作,需要大量的時間和人
8、力。轉(zhuǎn)換過程數(shù)據(jù)量巨大,容易出錯,給工程帶來很大經(jīng)濟(jì)風(fēng)險。 </p><p> 三、問題分析和解決方案 </p><p> 分析前面的問題,發(fā)現(xiàn)雖然要處理的板塊數(shù)量十分巨大,但是處理的步驟是一致的。對于這種數(shù)據(jù)相對簡單,流程統(tǒng)一的批量化處理,計算機(jī)程序最擅長的。我們只要運用合適的計算機(jī)語言,把中間的轉(zhuǎn)換過程打包成“黑箱程序”,就能避免前面的各種風(fēng)險,也可以節(jié)省大量的人力和時間。 <
9、;/p><p> 真實金屬面板尺寸模型 </p><p> 簡化后的過程:原始模型空間點輸入—>黑箱程序 </p><p> Excel加工清單表格 </p><p> 過程中唯一要求人工操作的是選擇原始模型空間的三個點,最終輸出真實金屬面板尺寸模型和Excel加工清單表格都由程序完成。 </p><p>
10、 滿足上述“黑箱程序”程序的語言,首先要能與AutoCAD進(jìn)行交互操作,而且能與Excel進(jìn)行通訊,把最終模型尺寸信息儲存在Excel文件中。這樣,大量的模型操作和數(shù)據(jù)操作都由程序完成,杜絕了人工出錯的可能。 </p><p> AutoCAD-VBA技術(shù)使用的語言Microsoft VBA語法簡單。語句容易從表面意思理解,容易被非計算機(jī)程序?qū)I(yè)人員掌握,而且能與Excel表格程序進(jìn)行很好通訊,所以本工程采用了
11、AutoCAD-VBA技術(shù)。 </p><p> 五、真實模型的幾何推導(dǎo) </p><p> 從空間三角形分格模型到真實金屬面板尺寸模型必須預(yù)先進(jìn)行幾何推導(dǎo),再把推導(dǎo)寫成計算機(jī)語言的形式。 </p><p> 幾何推導(dǎo)模型如下圖: </p><p> 已知P01、P02、P03點空間點坐標(biāo) </p><p>
12、 需要求解的是真實金屬面板尺寸模型, 即求解P11、P12、P13的空間坐標(biāo)和L11、L12、L13的長度。本工程off=2.5mm。 </p><p><b> 推導(dǎo)過程: </b></p><p> 已知P01[x、y、z]、P02[x、y、z]和P03[x、y、z] </p><p> 可得三角形邊長L01、L02、L03 <
13、/p><p> L01={(P01[x]-P02[x])2+(P01[y]-P02[y])2+(P01[z]-P02[z])2}0.5 </p><p> L02={(P02[x]-P03[x])2+(P02[y]-P03[y])2+(P02[z]-P03[z])2}0.5 </p><p> L03={(P03[x]-P01[x])2+(P03[y]-P01[y
14、])2+(P03[z]-P01[z])2}0.5 </p><p> 有三角形三邊長度,可得三角形角度a1、a2、a3 </p><p> a1=Arc cos(L012+ L032- L022)/(2*L01*L03) </p><p> a2=Arc cos(L022+ L012- L032)/(2*L02*L01) </p><p&g
15、t; a3=Arc cos(L032+ L022- L012)/(2*L03*L02) </p><p> 根據(jù)幾何關(guān)系可得P11、P12、P13的坐標(biāo): </p><p> P11[x]= P01[x]+ Off/sin(a1)*{(P02[x]-P01[x])/L01}+ </p><p> Off/sin(a1)*{(P03[x]-P01[x])/L0
16、3} </p><p> P11[y]= P01[y]+ Off/sin(a1)*{(P02[y]-P01[y])/L01}+ </p><p> Off/sin(a1)*{(P03[y]-P01[y])/L03} </p><p> P11[z]= P01[z]+ Off/sin(a1)*{(P02[z]-P01[z])/L01}+ </p>
17、<p> Off/sin(a1)*{(P03[z]-P01[z])/L03} </p><p> P12[x]= P02[x]+ Off/sin(a2)*{(P03[x]-P02[x])/L02}+ </p><p> Off/sin(a2)*{(P01[x]-P02[x])/L01} </p><p> P12[y]= P02[y]+ Off/s
18、in(a1)*{(P03[y]-P02[y])/L02}+ </p><p> Off/sin(a2)*{(P01[y]-P02[y])/L01} </p><p> P12[z]= P02[z]+ Off/sin(a2)*{(P03[z]-P02[z])/L02}+ </p><p> Off/sin(a2)*{(P01[z]-P02[z])/L01} &l
19、t;/p><p> P13[x]= P03[x]+ Off/sin(a3)*{(P01[x]-P03[x])/L03}+ </p><p> Off/sin(a3)*{(P02[x]-P03[x])/L02} </p><p> P13[y]= P03[y]+ Off/sin(a3)*{(P01[y]-P03[y])/L03}+ </p><p
20、> Off/sin(a3)*{(P02[y]-P03[y])/L02} </p><p> P13[z]= P03[z]+ Off/sin(a3)*{(P01[z]-P03[z])/L03}+ </p><p> Off/sin(a3)*{(P02[z]-P03[z])/L02} </p><p> 最后得到L11、L12、L13長度尺寸 </p
21、><p> L11={(P11[x]-P12[x])2+(P11[y]-P12[y])2+(P11[z]-P12[z])2}0.5 </p><p> L12={(P12[x]-P13[x])2+(P12[y]-P13[y])2+(P12[z]-P13[z])2}0.5 </p><p> L13={(P13[x]-P11[x])2+(P13[y]-P11[y])
22、2+(P13[z]-P11[z])2}0.5 </p><p> 到此,整個幾何推導(dǎo)完畢,真實面板的空間點坐標(biāo)和面板邊長都已經(jīng)得到求解。 </p><p> 六、本工程“黑箱程序” </p><p> Public Sub Angle_Panel() </p><p> Dim P01 , P02 ,PO3''定義P0
23、1、PO2、PO3空間點坐標(biāo)變量 </p><p><b> Repeat: </b></p><p> P01 = ThisDrawing.Utility.GetPoint_ </p><p> (, vbCrLf & "請輸入三個點坐標(biāo),第一點: ") '從模型中得到第一點坐標(biāo) </p>
24、<p> P02 = ThisDrawing.Utility.GetPoint_ </p><p> (, vbCrLf & "第二點: ") '從模型中得到第二點坐標(biāo) </p><p> P03 = ThisDrawing.Utility.GetPoint_ </p><p> (, vbCrLf &
25、; "第三點: ") '從模型中得到第三點坐標(biāo) </p><p> Dim L01 As Double ,L02 As Double,L03 As Double ''定義L01、L02、L03長度變量 </p><p> L01 = ((P01(0) - P02(0)) ^ 2 + (P01(1) - P02(1)) ^ 2_ </p&
26、gt;<p> + (P01(2) - P02(2)) ^ 2) ^ 0.5 </p><p> L02 = ((P02(0) - P03(0)) ^ 2 + (P02(1) - P03(1)) ^ 2 _ </p><p> + (P02(2) - P03(2)) ^ 2) ^ 0.5 </p><p> L03 = ((P03(0) - P
27、01(0)) ^ 2 + (P03(1) - P01(1)) ^ 2 _ </p><p> + (P03(2) - P01(2)) ^ 2) ^ 0.5 </p><p> Dim a1 As Double,a2 As Double,a3 As Double ''定義a1、a2、a3角度變量 </p><p> Dim x1 As Doubl
28、e,x2 As Double,x3 As Double''中間變量 </p><p> x1 = (L01 ^ 2 + L03 ^ 2 - L02 ^ 2) / (2 * L01 * L03) </p><p> x2 = (L02 ^ 2 + L01 ^ 2 - L03 ^ 2) / (2 * L02 * L01) </p><p> x3
29、= (L03 ^ 2 + L02 ^ 2 - L01 ^ 2) / (2 * L03 * L02) </p><p> a1 = Abs(Atn((1 - x1 ^ 2) ^ 0.5 / x1)) </p><p> a2 = Abs(Atn((1 - x2 ^ 2) ^ 0.5 / x2)) </p><p> a3 = Abs(Atn((1 - x3 ^
30、2) ^ 0.5 / x3)) </p><p> Dim P11(0 To 2) As Double ''定義P11空間點坐標(biāo)變量 </p><p> Dim P12(0 To 2) As Double ''定義P12空間點坐標(biāo)變量 </p><p> Dim P13(0 To 2) As Double ''定
31、義P13空間點坐標(biāo)變量 </p><p> Dim Off As Double''定義偏移距離 </p><p> Off = 2.5 </p><p> P11(0) = P01(0) + Off / Sin(a1) * (P02(0) - P01(0)) / L01 _ </p><p> + Off / Sin(
32、a1) * (P03(0) - P01(0)) / L03 </p><p> P11(1) = P01(1) + Off / Sin(a1) * (P02(1) - P01(1)) / L01 _ </p><p> + Off / Sin(a1) * (P03(1) - P01(1)) / L03 </p><p> P11(2) = P01(2) + O
33、ff / Sin(a1) * (P02(2) - P01(2)) / L01 _ </p><p> + Off / Sin(a1) * (P03(2) - P01(2)) / L03 </p><p> P12(0) = P02(0) + Off / Sin(a2) * (P03(0) - P02(0)) / L02 _ </p><p> + Off /
34、Sin(a2) * (P01(0) - P02(0)) / L01 </p><p> P12(1) = P02(1) + Off / Sin(a2) * (P03(1) - P02(1)) / L02 _ </p><p> + Off / Sin(a2) * (P01(1) - P02(1)) / L01 </p><p> P12(2) = P02(2)
35、 + Off / Sin(a2) * (P03(2) - P02(2)) / L02 _ </p><p> + Off / Sin(a2) * (P01(2) - P02(2)) / L01 </p><p> P13(0) = P03(0) + Off / Sin(a3) * (P01(0) - P03(0)) / L03 _ </p><p> + Of
36、f / Sin(a3) * (P02(0) - P03(0)) / L02 </p><p> P13(1) = P03(1) + Off / Sin(a3) * (P01(1) - P03(1)) / L03 _ </p><p> + Off / Sin(a3) * (P02(1) - P03(1)) / L02 </p><p> P13(2) = P0
37、3(2) + Off / Sin(a3) * (P01(2) - P03(2)) / L03 _ </p><p> + Off / Sin(a3) * (P02(2) - P03(2)) / L02 </p><p> ''生成真實面板邊線 </p><p> ThisDrawing.ModelSpace.AddLine P11, P12 &
38、lt;/p><p> ThisDrawing.ModelSpace.AddLine P12, P13 </p><p> ThisDrawing.ModelSpace.AddLine P13, P11 </p><p> Dim L11 As Double,L12 As Double,L13 As Double ''定義真實面板邊長L11、L12、
39、L13變量 </p><p> L11 = ((P11(0) - P12(0)) ^ 2 + (P11(1) - P12(1)) ^ 2_ </p><p> + (P11(2) - P12(2)) ^ 2) ^ 0.5 </p><p> L12 = ((P12(0) - P13(0)) ^ 2 + (P12(1) - P13(1)) ^ 2 _ </
40、p><p> + (P12(2) - P13(2)) ^ 2) ^ 0.5 </p><p> L13 = ((P13(0) - P11(0)) ^ 2 + (P13(1) - P11(1)) ^ 2_ </p><p> + (P13(2) - P11(2)) ^ 2) ^ 0.5 </p><p> ''L11、L12
41、、L13尺寸輸入到Excel中 </p><p> Dim XLApp As Object </p><p> On Error Resume Next </p><p> If XLApp Is Nothing Then </p><p> Set XLApp = GetObject(, "Excel.Applicatio
42、n") </p><p> If Err 0 Then </p><p> Err.Clear </p><p> Set XLApp = CreateObject("Excel.Application") </p><p> If Err 0 Then </p><p>
43、ThisDrawing.Utility.Prompt "不能連接Excel" + vbCrLf </p><p><b> Exit Sub </b></p><p><b> End If </b></p><p><b> End If </b></p>&
44、lt;p> XLApp.workbooks.add </p><p> Dim XlWorksheet As Object </p><p> Set XlWorksheet = XLApp.ActiveWorkbook.Worksheets.add </p><p> XlWorksheet.Name = "面板尺寸" </
45、p><p> XlWorksheet.Activate </p><p> XLApp.ActiveSheet.Cells(1, 1) = "編號" </p><p> XLApp.ActiveSheet.Cells(1, 2) = "L11" </p><p> XLApp.ActiveSheet
46、.Cells(1, 3) = "L12" </p><p> XLApp.ActiveSheet.Cells(1, 4) = "L13" </p><p><b> End If </b></p><p> Err.Clear </p><p> Dim i As Inte
47、ger </p><p> XLApp.ActiveSheet.Cells(i + 2, 1) = "面板" & (i + 1) </p><p> XLApp.ActiveSheet.Cells(i + 2, 2) = L11 </p><p> XLApp.ActiveSheet.Cells(i + 2, 3) = L12 &l
48、t;/p><p> XLApp.ActiveSheet.Cells(i + 2, 4) = L13 </p><p> i = i + 1 </p><p> GoTo Repeat </p><p><b> EXT: </b></p><p> On Error Resume Next
49、</p><p> XLApp.Visible = True </p><p> Set XLApp = Nothing </p><p> Set XlWorksheet = Nothing </p><p><b> End Sub </b></p><p> 運行后,Excel文件
50、如下圖: </p><p> 七、AutoCAD-VBA的使用總結(jié) </p><p> 當(dāng)前工程中,經(jīng)常會遇到類似蕭山機(jī)場T3航站樓吊頂工程的問題,工程處理的模型數(shù)據(jù)量大,時間緊張、設(shè)計人員力量又不是十分充裕。充分利用CAD軟件和軟件支持的二次開發(fā)技術(shù),往往能很好的解決問題。本文中的AutoCAD-VBA技術(shù)是一種相對來說容易被工程技術(shù)人員掌握的CAD軟件二次開發(fā)技術(shù),而且該技術(shù)的功能
51、也十分強(qiáng)大,適合在工程技術(shù)人員中推廣使用。 </p><p><b> 參考文獻(xiàn): </b></p><p> [1]Autodesk,《ActiveX 和 VBA 開發(fā)人員手冊》 </p><p> [2]Autodesk,《ActiveX and VBA Reference》 </p><p> [3] Mi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深圳機(jī)場t3航站樓幕墻設(shè)計心得
- 深圳機(jī)場t3航站樓工程旁站監(jiān)理實施細(xì)則
- 深圳機(jī)場t3航站樓第三標(biāo)段技術(shù)標(biāo)優(yōu)秀資料
- 深圳t3航站樓登機(jī)-候機(jī)指南
- 杭州蕭山國際機(jī)場t3航站樓殘衛(wèi)門采購項目(第四次招標(biāo))招
- 南通興東國際機(jī)場t3航站樓廣告資源招商
- 南通興東國際機(jī)場t3航站樓廣告資源招商
- 南通興東國際機(jī)場t3航站樓廣告資源招商
- 標(biāo)準(zhǔn)通訊協(xié)議在T3航站樓智能樓宇管理系統(tǒng)中的應(yīng)用.pdf
- bim技術(shù)在航站樓運維管理中的應(yīng)用_以浦東國際機(jī)場t1航站樓為例
- 北京首都國際機(jī)場T3航站樓旅客區(qū)域使用后評價——基于旅客評價的大型航站樓設(shè)計建議.pdf
- 廣東湛江機(jī)場遷建工程航站樓工程
- 航站樓建筑節(jié)能設(shè)計淺析——以西安咸陽國際機(jī)場T3為例.pdf
- 首都國際機(jī)場T3航站樓E區(qū)室內(nèi)園林景觀設(shè)計.pdf
- 數(shù)控消防水炮系統(tǒng)在大慶機(jī)場航站樓中的應(yīng)用
- 深圳T3航站樓鋼結(jié)構(gòu)節(jié)點力學(xué)性能研究.pdf
- 樞紐機(jī)場航站樓設(shè)計研究——從首都國際機(jī)場新航站樓的設(shè)計實踐看當(dāng)代樞紐機(jī)場航站樓發(fā)展趨勢.pdf
- 現(xiàn)代航站樓流程空間設(shè)計研究——以西安咸陽國際機(jī)場T3A航站樓為例.pdf
- 廣東湛江機(jī)場遷建工程航站樓工程
- 廣東湛江機(jī)場遷建工程航站樓工程
評論
0/150
提交評論