如何二次開發(fā)AutoCAD


 0 引言

VBA是一種自動(dòng)化語言, 結(jié)合相應(yīng)的圖形軟件, 它可以按照用戶的要求, 自動(dòng)地生成一系列的動(dòng)作指令。微軟開發(fā)的圖形設(shè)計(jì)軟件AutoCAD 由于其具有豐富的方便、 快捷的繪圖工具, 使得該軟件在機(jī)械制造行業(yè)、 建筑行業(yè)中得到了廣泛的應(yīng)用。

本文以VBA為開發(fā)語言, 依托AutoCAD強(qiáng)大的繪圖功能,設(shè)計(jì)并開發(fā)了數(shù)控仿真軟件。該軟件根據(jù)用戶編寫的數(shù)控程序, 在自定義的毛坯中, 通過刀具的移動(dòng)完成材料的切削, 進(jìn)而實(shí)現(xiàn)零件的加工。所有這些過程, 均以三維圖形的方式進(jìn)行動(dòng)態(tài)顯示, 可以將數(shù)控程序加工的細(xì)節(jié)詳實(shí)、 直觀地展現(xiàn)在用戶面前。利用該軟件可以極大地減小零件試切的損失, 對于提高生產(chǎn)效率具有積極作用。

1 仿真系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

根據(jù)實(shí)際零件加工的操作順序, 數(shù)控加工仿真程序設(shè)置了零件定義、 程序調(diào)用、 刀具選擇等功能。系統(tǒng)的頂層功能結(jié)構(gòu)如圖1所示。


本仿真系統(tǒng)可通過兩個(gè)對話框定義毛坯的長L W、 H、 工作坐標(biāo)系X Y、 Z以及刀具的規(guī)格直徑Ф、 對刀長度L用戶可通過一個(gè)文件對話窗體選擇數(shù)控程序PRO。具體的窗體界面如圖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)模型之上的一個(gè)標(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 刀具切削實(shí)現(xiàn)

數(shù)控機(jī)床完成零件加工過程中, 主要涉及到兩種基本的加工路徑, 它們分別是直線運(yùn)動(dòng)、 圓弧運(yùn)動(dòng)。

對于直線加工模型, 主要是定義加工的起點(diǎn)AA和終點(diǎn)B。移動(dòng)刀具的對刀點(diǎn)在AABB之間, 我們利用均勻直線插補(bǔ)算法求得; 刀具和毛坯重合部分, 可以借助對毛坯執(zhí)行布爾運(yùn)算生成, 以示零件被切削部分。模型如圖3所示。


圓弧加工模型, 由于曲線的復(fù)雜性和G02、 G03圓弧插補(bǔ)加工方式選擇的需要, 在確定加工特征信息時(shí)應(yīng)包括: 起點(diǎn)SA、SB SC、 終點(diǎn)EA、 EB、 EC、 半徑R, 順時(shí)針G02、 逆時(shí)針G03。圓弧生成的變種可以由角度參與確定, 對于加工整圓分為: 順時(shí)針、 逆時(shí)針兩種。

在整個(gè)加工模型的建立中, 圓弧加工涵蓋了加工的各種基本情況, 因此圓弧加工設(shè)計(jì)是系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。圓弧加工模型如圖4所示。


下面是基于VBA開發(fā)的部分圓弧加工程序:

……

If G02G03 Like "G02" Then

p1(0)=sa: p1(1)=sb: p1(2)=sc

p2(0)=ea: p2(1)=eb: p2(2)=ec

Else

p1(0)=ea: p1(1)=eb: p1(2)=ec

p2(0)=sa: p2(1)=sb: p2(2)=sc

End If

radius=R

d=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)) Then

If radius>0 Then

If ((p2(1)-p1(1))>0) Then

centerPoint(0)=p1(0)+Math.Abs(radius)*

Math.COS(3.1415926/ 2-angle1)

Else

centerPoint(0)=p1(0)-Math.Abs(radius)*

Math.COS(3.1415926/2-angle1)

End If

Else

If ((p2(1)-p1(1))>0) Then

centerPoint(0)=(p1(0)-Math.Abs(radius)*

Math.COS(3.1415926/2-angle1))

Else

centerPoint(0)=(p1(0)+Math.Abs(radius)*

Math.COS(3.1415926/ 2-angle1))

End If

End If

centerPoint(1)=p1(1)+(p2(1)-p1(1))/2

If radius>0 Then

If ((p2(1)-p1(1))>0) Then

startAngleInDegree=angle1+3.1415926/2

endAngleInDegree=angle1+3.1415926/2+angle3

Else

startAngleInDegree=-angle3/2

endAngleInDegree=angle3/2

End If

……

2.3 實(shí)體加工模型

AutoCAD具有很強(qiáng)的圖形繪制能力, 利用該軟件的三維圖形繪制命令可以輕松繪制逼真的實(shí)體模型。

本系統(tǒng)利用自定義的加工函數(shù)完成實(shí)體模型的加工, 用戶只要給定加工所必須的信息, 就可以實(shí)現(xiàn)零件的自動(dòng)加工。自定義函數(shù)的原型如下:

arcsolidtrace s(0), s(1), s(2), e1(0), e1(1), e1(2), radius, R,

H, boxObj, cylinderobj, G02G03

函數(shù)名稱為arcsolidtrace, 圓弧的起點(diǎn)的三維坐標(biāo)值為s(0), s(1), s(2) 圓弧終點(diǎn)三維坐標(biāo)值為e1(0), e1(1), e1(2), 圓弧半徑為radius, 刀具半徑為R,對刀長度為H,零件毛坯實(shí)體為boxObj 刀具實(shí)體為cylinderobj, 加工方向?yàn)?/span>G02G03。


程序依照數(shù)控圓弧加工規(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 Then

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)) Then

If radius>0 Then

If ((p2(1)-p1(1))>0) Then

m(0)=p1(0)+Math.Abs(radius)*Math.COS(3.1415926/

2-angle1)

Else

m(0)=p1(0)-Math.Abs(radius)*Math.COS(3.1415926/

2-angle1)

End If

Else

If ((p2(1)-p1(1))>0) Then

m(0)=(p1(0)-Math.Abs(radius)*Math.COS(3.1415926/

2-angle1))

Else

m(0)=(p1(0)+Math.Abs(radius)*Math.COS(3.1415926/

2-angle1))

End If

End If

m(1)=p1(1)+(p2(1)-p1(1))/2

If radius>0 Then

If ((p2(1)-p1(1))>0) Then

startAngleInDegree=angle1+3.1415926/2

endAngleInDegree=angle1+3.1415926/2+angle3

Else

startAngleInDegree=-angle3/2

endAngleInDegree=angle3/2

End If

……

3 應(yīng)用實(shí)例

應(yīng)用本系統(tǒng), 用戶只需要選擇毛坯類型, 定義毛坯尺寸, 定義刀具規(guī)格, 輸入編寫好的數(shù)控程序, 即可驗(yàn)證數(shù)控程序的正確性。

例如, 用戶定義一個(gè)矩形毛坯, 和一個(gè)半徑為10個(gè)單位的外形銑刀, 加工一個(gè)五角星的案例, 其加工完成后的效果如圖6所示。


4 結(jié)束語

利用VBAAutoCAD的二次開發(fā), 實(shí)現(xiàn)了數(shù)控程序加工的三維仿真。仿真系統(tǒng)不但利用了VBA的數(shù)學(xué)計(jì)算功能, 更發(fā)揮了CAD的三維圖形功能, 使得數(shù)控仿真達(dá)到了逼真、 直觀的效果, 提高了數(shù)控加工程序驗(yàn)證效率和準(zhǔn)確率。

本文由 伯特利數(shù)控文章 整理發(fā)表,文章來自網(wǎng)絡(luò)僅參考學(xué)習(xí),本站不承擔(dān)任何法律責(zé)任。

http://www.bethel-cnc.com/bethel/news/

標(biāo)簽: 數(shù)控機(jī)床  編程  繪圖  
上一篇加工時(shí)出現(xiàn)的誤差要怎么解決
下一篇PLC在機(jī)床維修檢測時(shí)起到的做用

數(shù)控機(jī)床  編程  繪圖  相關(guān)內(nèi)容

——

05

2024-11

UG的XZC車銑復(fù)合中心后處理構(gòu)建技術(shù)

結(jié) 合 車銑復(fù)合加工中心說明書,應(yīng) 用UG軟 件PostBuilder開發(fā) 了XZC類 機(jī) 床 后 置 處 理,能 夠 快 捷 實(shí) 現(xiàn)UG自動(dòng) 編 程 中 車、銑、孔等操作的程序后處理,文 中 對 后處 理 創(chuàng) 建 從 初 始 化 運(yùn) 動(dòng)、運(yùn) 動(dòng) 前 設(shè) 置、機(jī) 床 運(yùn) 動(dòng) 前、… [了解更多]

04

2024-11

五軸加工中心后處理算法研究和驗(yàn)證

本文通過對五軸加工中心的三種類型的結(jié)構(gòu)特點(diǎn)進(jìn)行具體的運(yùn)動(dòng)分析,建立了數(shù)學(xué)模型推導(dǎo)出各類機(jī)床的后置處理算法。并通過UG NX進(jìn)行建模并進(jìn)行后處理與算法得到的后處理數(shù)據(jù)進(jìn)行對比,證明了文中算法的正確性。通過所推導(dǎo)的數(shù)學(xué)公式得知,坐標(biāo)的角度變換與轉(zhuǎn)臺(tái)的轉(zhuǎn)動(dòng)相關(guān)。所推導(dǎo)的數(shù)學(xué)模型為最基礎(chǔ)… [了解更多]

04

2024-11

五軸刀具切削加工誤差非線性插補(bǔ)

為了提高五軸加工中心的刀具加工精度,本文提出了五軸聯(lián)動(dòng)數(shù)控刀具切削加工誤差非線性插補(bǔ)方法。根據(jù)五軸聯(lián)動(dòng)數(shù)控刀具工作原理,分析誤差產(chǎn)生原因,利用誤差非線性插補(bǔ)方法,實(shí)現(xiàn)誤差插補(bǔ)。實(shí)驗(yàn)結(jié)果表明:利用該方法進(jìn)行誤差插補(bǔ)后,機(jī)床刀具運(yùn)行軌跡與理想插補(bǔ)軌跡貼合度高,且插補(bǔ)后誤差明顯減小,可… [了解更多]

04

2024-11

五軸加工中心后處理器仿真與優(yōu)化

隨著五軸聯(lián)動(dòng)數(shù)控加工技術(shù)的廣泛應(yīng)用,文中針對五軸加工中心和五軸鉆攻中心的后置處理器進(jìn)行仿真分析,并提出一種以序列為基礎(chǔ)的優(yōu)化方法,優(yōu)化后的后置處理器,可以使得數(shù)控加工節(jié)省時(shí)間百分比得到有效提升。雖然文中提出優(yōu)化方法滿足了預(yù)期要求,但受到研究條件的影響,該方法未來需要進(jìn)一步完善?!?[了解更多]

04

2024-11

立銑刀切削軌跡下五軸銑削力計(jì)算

面向銑削工藝參數(shù)優(yōu)選技術(shù)的工程需求,以復(fù)雜零部件多軸數(shù)控銑削為背景,文中提出了一種通用立銑刀真實(shí)切削軌跡下的五軸銑削力計(jì)算方法。 (1)建立了可同時(shí)表征球頭銑刀、圓環(huán)銑刀和平底銑刀的通用立銑刀幾何模型,計(jì)算得到不同類型立銑刀的切削微元長度和切削寬度。 (2)提出了一種快速求解… [了解更多]


產(chǎn)品中心

——