2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  AutoCAD-VBA技術(shù)在杭州蕭山機(jī)場T3航站樓金屬吊頂工程中的初步應(yīng)用</p><p>  摘要:本文介紹了在蕭山機(jī)場T3航站樓金屬吊頂工程中,如何運(yùn)用AutoCAD-VBA技術(shù),解決大規(guī)模曲面吊頂AutoCAD模型空間點(diǎn)坐標(biāo)數(shù)據(jù)提取和金屬吊頂單元面板數(shù)據(jù)(面板加工尺寸數(shù)據(jù))生成等工程問題。通過該技術(shù)的應(yīng)用,減少了大量的從吊頂三維曲面模型到實(shí)際金屬面板加工工藝尺寸的轉(zhuǎn)化時(shí)間和人工成本。

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萬平面。吊頂單元組塊為平面三角形,每個(gè)三角形組塊的邊長都不一致。通過三角形的空間拼接,擬合出波浪形曲面。 </p><p>  蕭山機(jī)場吊頂效果圖 </p><p>  二、工程中遇

6、到的難題 </p><p>  吊頂原始模型是AutoCAD文件中大量的空間點(diǎn)。這些空間點(diǎn)連線形成的三角形就形成三角形板塊的分格線,由于工程安裝需要和考慮環(huán)境溫度變化等因素,板塊與板塊之間必須留有一定的縫隙,所以空間點(diǎn)連接形成的三角形還必須進(jìn)行邊的偏移處理(偏縫處理)才能得到真實(shí)的金屬面板尺寸模型。最后提取真實(shí)模型的邊長尺寸,制成Excel加工清單表格,才能最終用到工廠的生成加工中去。 </p>&

7、lt;p>  分格線與真實(shí)面板邊線示意圖 </p><p>  人工處理必須經(jīng)過以下過程: </p><p>  空間點(diǎn)連線—>空間三角形分格模型—>三角形邊線偏移處理—>真實(shí)面板尺寸—>尺寸數(shù)據(jù)制成Excel加工清單表格 </p><p>  整個(gè)工程有5萬多塊三角形面板需要經(jīng)過上面的過程處理,這將是十分繁重的工作,需要大量的時(shí)間和人

8、力。轉(zhuǎn)換過程數(shù)據(jù)量巨大,容易出錯,給工程帶來很大經(jīng)濟(jì)風(fēng)險(xiǎn)。 </p><p>  三、問題分析和解決方案 </p><p>  分析前面的問題,發(fā)現(xiàn)雖然要處理的板塊數(shù)量十分巨大,但是處理的步驟是一致的。對于這種數(shù)據(jù)相對簡單,流程統(tǒng)一的批量化處理,計(jì)算機(jī)程序最擅長的。我們只要運(yùn)用合適的計(jì)算機(jī)語言,把中間的轉(zhuǎn)換過程打包成“黑箱程序”,就能避免前面的各種風(fēng)險(xiǎn),也可以節(jié)省大量的人力和時(shí)間。 <

9、;/p><p>  真實(shí)金屬面板尺寸模型 </p><p>  簡化后的過程:原始模型空間點(diǎn)輸入—>黑箱程序 </p><p>  Excel加工清單表格 </p><p>  過程中唯一要求人工操作的是選擇原始模型空間的三個(gè)點(diǎn),最終輸出真實(shí)金屬面板尺寸模型和Excel加工清單表格都由程序完成。 </p><p> 

10、 滿足上述“黑箱程序”程序的語言,首先要能與AutoCAD進(jìn)行交互操作,而且能與Excel進(jìn)行通訊,把最終模型尺寸信息儲存在Excel文件中。這樣,大量的模型操作和數(shù)據(jù)操作都由程序完成,杜絕了人工出錯的可能。 </p><p>  AutoCAD-VBA技術(shù)使用的語言Microsoft VBA語法簡單。語句容易從表面意思理解,容易被非計(jì)算機(jī)程序?qū)I(yè)人員掌握,而且能與Excel表格程序進(jìn)行很好通訊,所以本工程采用了

11、AutoCAD-VBA技術(shù)。 </p><p>  五、真實(shí)模型的幾何推導(dǎo) </p><p>  從空間三角形分格模型到真實(shí)金屬面板尺寸模型必須預(yù)先進(jìn)行幾何推導(dǎo),再把推導(dǎo)寫成計(jì)算機(jī)語言的形式。 </p><p>  幾何推導(dǎo)模型如下圖: </p><p>  已知P01、P02、P03點(diǎn)空間點(diǎn)坐標(biāo) </p><p> 

12、 需要求解的是真實(shí)金屬面板尺寸模型, 即求解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>  到此,整個(gè)幾何推導(dǎo)完畢,真實(shí)面板的空間點(diǎn)坐標(biāo)和面板邊長都已經(jīng)得到求解。 </p><p>  六、本工程“黑箱程序” </p><p>  Public Sub Angle_Panel() </p><p>  Dim P01 , P02 ,PO3''定義P0

23、1、PO2、PO3空間點(diǎn)坐標(biāo)變量 </p><p><b>  Repeat: </b></p><p>  P01 = ThisDrawing.Utility.GetPoint_ </p><p>  (, vbCrLf & "請輸入三個(gè)點(diǎn)坐標(biāo),第一點(diǎn): ") '從模型中得到第一點(diǎn)坐標(biāo) </p>

24、<p>  P02 = ThisDrawing.Utility.GetPoint_ </p><p>  (, vbCrLf & "第二點(diǎn): ") '從模型中得到第二點(diǎn)坐標(biāo) </p><p>  P03 = ThisDrawing.Utility.GetPoint_ </p><p>  (, vbCrLf &

25、; "第三點(diǎn): ") '從模型中得到第三點(diǎn)坐標(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空間點(diǎn)坐標(biāo)變量 </p><p>  Dim P12(0 To 2) As Double ''定義P12空間點(diǎn)坐標(biāo)變量 </p><p>  Dim P13(0 To 2) As Double ''定

31、義P13空間點(diǎn)坐標(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>  ''生成真實(shí)面板邊線 </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 ''定義真實(shí)面板邊長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>  運(yùn)行后,Excel文件

50、如下圖: </p><p>  七、AutoCAD-VBA的使用總結(jié) </p><p>  當(dāng)前工程中,經(jīng)常會遇到類似蕭山機(jī)場T3航站樓吊頂工程的問題,工程處理的模型數(shù)據(jù)量大,時(shí)間緊張、設(shè)計(jì)人員力量又不是十分充裕。充分利用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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論