8090成人午夜精品无码_国产成人亚洲综合色影视_精品午夜国产福利在线观看_在线看免费观看AV深夜影院_97碰成人国产免费公开视频_欧美乱人伦中文在线

海天精工機(jī)床有限公司 海天精工博客

如何二次開發(fā)AutoCAD

0 引言VBA是一種自動化語言, 結(jié)合相應(yīng)的圖形軟件, 它可以按照用戶的要求, 自動地生成一系列的動作指令。微軟開發(fā)的圖形設(shè)計軟件AutoCAD, 由于其具有豐富的方便、 快捷的繪圖工具, 使得該軟件在機(jī)械制造行業(yè)、 建筑行業(yè)中得到了廣泛的應(yīng)用。本文以VBA為開發(fā)語言, 依托AutoCAD強(qiáng)大的繪圖功能,設(shè)計并開發(fā)了精工仿真軟件。該軟件根據(jù)用戶編寫的精工程序, 在自定義的毛坯中, 通過刀具的移動完成材料的切削, 進(jìn)而實現(xiàn)零件的加工。所有這些過程, 均以三維圖形的方式進(jìn)行動態(tài)顯示, 可以將精工程序加工的細(xì)節(jié)詳實、 直觀地展現(xiàn)在用戶面前。利用該軟件可以極大地減小零件試切的損失, 對于提高生產(chǎn)效率具有積極作用。1 仿真系統(tǒng)結(jié)構(gòu)設(shè)計根據(jù)實際零件加工的操作順序, 精工加工仿真程序設(shè)置了零件定義、 程序調(diào)用、 刀具選擇等功能。系統(tǒng)的頂層功能結(jié)構(gòu)如圖1所示。本仿真系統(tǒng)可通過兩個對話框定義毛坯的長L、 寬W、 高H、 工作坐標(biāo)系X、 Y、 Z以及刀具的規(guī)格直徑Ф、 對刀長度L用戶可通過一個文件對話窗體選擇精工程序PRO。具體的窗體界面如圖2所示。2算法規(guī)劃與完成2.1 VBA引入銜接AutoCAD選用面向目標(biāo)的程序規(guī)劃辦法,運(yùn)用Visual Basic在AutoCAD2005上用VBA技能進(jìn)行二次開發(fā),可以較好地完成體系程序參數(shù)化繪圖。VBA是經(jīng)過AutoCAD ActiveX Automation接口來樹立和AutoCAD目標(biāo)間的聯(lián)絡(luò)。ActiveX是樹立在COM目標(biāo)模型之上的一個標(biāo)準(zhǔn)通信協(xié)議, 它答應(yīng)目標(biāo)之間經(jīng)過必定的接口相互通信。而AutoCAD ActiveX提供在AutoCAD外操控編程的機(jī)制, 經(jīng)過運(yùn)用AutoCAD目標(biāo), 完成對AutoCAD的操控。2.2 刀具切削實現(xiàn)在精工機(jī)床完成零件加工過程中, 主要涉及到兩種基本的加工路徑, 它們分別是直線運(yùn)動、 圓弧運(yùn)動。對于直線加工模型, 主要是定義加工的起點AA和終點B。移動刀具的對刀點在AA和BB之間, 我們利用均勻直線插補(bǔ)算法求得; 刀具和毛坯重合部分, 可以借助對毛坯執(zhí)行布爾運(yùn)算生成, 以示零件被切削部分。模型如圖3所示。圓弧加工模型, 由于曲線的復(fù)雜性和G02、 G03圓弧插補(bǔ)加工方式選擇的需要, 在確定加工特征信息時應(yīng)包括: 起點SA、SB、 SC、 終點EA、 EB、 EC、 半徑R, 順時針G02、 逆時針G03。圓弧生成的變種可以由角度參與確定, 對于加工整圓分為: 順時針、 逆時針兩種。在整個加工模型的建立中, 圓弧加工涵蓋了加工的各種基本情況, 因此圓弧加工設(shè)計是系統(tǒng)實現(xiàn)的關(guān)鍵。圓弧加工模型如圖4所示。下面是基于VBA開發(fā)的部分圓弧加工程序:……If G02G03 Like "G02" Thenp1(0)=sa: p1(1)=sb: p1(2)=scp2(0)=ea: p2(1)=eb: p2(2)=ecElsep1(0)=ea: p1(1)=eb: p1(2)=ecp2(0)=sa: p2(1)=sb: p2(2)=scEnd Ifradius=Rd=Math.Sqr((p2(0)-p1(0))*(p2(0)-p1(0))+(p2(1)-p1(1))*(p2(1)-p1(1)))d1=Math.Sqr(radius*radius-(d/2)*(d/2))angle1=Math.Atn(d1/(d/2))angle3=3.141592-(angle1+angle1)If (p2(0)=p1(0)) ThenIf radius>0 ThenIf ((p2(1)-p1(1))>0) ThencenterPoint(0)=p1(0)+Math.Abs(radius)*Math.COS(3.1415926/ 2-angle1)ElsecenterPoint(0)=p1(0)-Math.Abs(radius)*Math.COS(3.1415926/2-angle1)End IfElseIf ((p2(1)-p1(1))>0) ThencenterPoint(0)=(p1(0)-Math.Abs(radius)*Math.COS(3.1415926/2-angle1))ElsecenterPoint(0)=(p1(0)+Math.Abs(radius)*Math.COS(3.1415926/ 2-angle1))End IfEnd IfcenterPoint(1)=p1(1)+(p2(1)-p1(1))/2If radius>0 ThenIf ((p2(1)-p1(1))>0) ThenstartAngleInDegree=angle1+3.1415926/2endAngleInDegree=angle1+3.1415926/2+angle3ElsestartAngleInDegree=-angle3/2endAngleInDegree=angle3/2End If……2.3 實體加工模型AutoCAD具有很強(qiáng)的圖形繪制能力, 利用該軟件的三維圖形繪制命令可以輕松繪制逼真的實體模型。本系統(tǒng)利用自定義的加工函數(shù)完成實體模型的加工, 用戶只要給定加工所必須的信息, 就可以實現(xiàn)零件的自動加工。自定義函數(shù)的原型如下:arcsolidtrace s(0), s(1), s(2), e1(0), e1(1), e1(2), radius, R,H, boxObj, cylinderobj, G02G03函數(shù)名稱為arcsolidtrace, 圓弧的起點的三維坐標(biāo)值為s(0), s(1), s(2), 圓弧終點三維坐標(biāo)值為e1(0), e1(1), e1(2), 圓弧半徑為radius, 刀具半徑為R,對刀長度為H,零件毛坯實體為boxObj, 刀具實體為cylinderobj, 加工方向為G02G03。程序依照精工圓弧加工規(guī)律和給定的參數(shù)值, 判斷加工路徑并完成零件毛坯的布爾運(yùn)算。部分程序代碼如下:……d=Math.Sqr((p2(0)-p1(0))*(p2(0)-p1(0))+(p2(1)-p1(1))*(p2(1)-p1(1)))If d<>0 Thend1=Math.Sqr(radius*radius-(d/2)*(d/2))angle1=Math.Atn(d1/(d/2))angle3=3.141592-(angle1+angle1)If (p2(0)=p1(0)) ThenIf radius>0 ThenIf ((p2(1)-p1(1))>0) Thenm(0)=p1(0)+Math.Abs(radius)*Math.COS(3.1415926/2-angle1)Elsem(0)=p1(0)-Math.Abs(radius)*Math.COS(3.1415926/2-angle1)End IfElseIf ((p2(1)-p1(1))>0) Thenm(0)=(p1(0)-Math.Abs(radius)*Math.COS(3.1415926/2-angle1))Elsem(0)=(p1(0)+Math.Abs(radius)*Math.COS(3.1415926/2-angle1))End IfEnd Ifm(1)=p1(1)+(p2(1)-p1(1))/2If radius>0 ThenIf ((p2(1)-p1(1))>0) ThenstartAngleInDegree=angle1+3.1415926/2endAngleInDegree=angle1+3.1415926/2+angle3ElsestartAngleInDegree=-angle3/2endAngleInDegree=angle3/2End If……3 應(yīng)用實例應(yīng)用本系統(tǒng), 用戶只需要選擇毛坯類型, 定義毛坯尺寸, 定義刀具規(guī)格, 輸入編寫好的精工程序, 即可驗證精工程序的正確性。例如, 用戶定義一個矩形毛坯, 和一個半徑為10個單位的外形銑刀, 加工一個五角星的案例, 其加工完成后的效果如圖6所示。4 結(jié)束語利用VBA對AutoCAD的二次開發(fā), 實現(xiàn)了精工程序加工的三維仿真。仿真系統(tǒng)不但利用了VBA的數(shù)學(xué)計算功能, 更發(fā)揮了CAD的三維圖形功能, 使得精工仿真達(dá)到了逼真、 直觀的效果, 提高了精工加工程序驗證效率和準(zhǔn)確率。本文由海天精工文章整理發(fā)表,文章來自網(wǎng)絡(luò)僅參考學(xué)習(xí),本站不承擔(dān)任何法律責(zé)任。http://m.himslangfull.com/
留言列表
發(fā)表留言
◎歡迎參與討論,請在這里發(fā)表您的看法、交流您的觀點。