0 引言
VBA是一种自动化语言, 结合相应的图形软件, 它可以按照用户的要求, 自动地生成一系列的动作指令。微软开发的图形设计软件AutoCAD, 由于其具有丰富的方便、 快捷的绘图工具, 使得该软件在机械制造行业、 建筑行业中得到了广泛的应用。
本文以VBA为开发语言, 依托AutoCAD强大的绘图功能,设计并开发了数控仿真软件。该软件根据用户编写的数控程序, 在自定义的毛坯中, 通过刀具的移动完成材料的切削, 进而实现零件的加工。所有这些过程, 均以三维图形的方式进行动态显示, 可以将数控程序加工的细节详实、 直观地展现在用户面前。利用该软件可以极大地减小零件试切的损失, 对于提高生产效率具有积极作用。
1 仿真系统结构设计
根据实际零件加工的操作顺序, 数控加工仿真程序设置了零件定义、 程序调用、 刀具选择等功能。系统的顶层功能结构如图1所示。

本仿真系统可通过两个对话框定义毛坯的长L、 宽W、 高H、 工作坐标系X、 Y、 Z以及刀具的规格直径Ф、 对刀长度L用户可通过一个文件对话窗体选择数控程序PRO。具体的窗体界面如图2所示。

2 算法规划与完成
2.1 VBA引入衔接AutoCAD
选用面向目标的程序规划办法, 运用 Visual Basic 在AutoCAD2005上用VBA技能进行二次开发, 可以较好地完成体系程序参数化绘图。
VBA是经过AutoCAD ActiveX Automation接口来树立和AutoCAD目标间的联络。ActiveX是树立在COM目标模型之上的一个标准通信协议, 它答应目标之间经过必定的接口相互通信。而AutoCAD ActiveX提供在AutoCAD外操控编程的机制, 经过运用AutoCAD目标, 完成对AutoCAD的操控。
2.2 刀具切削实现
在数控机床完成零件加工过程中, 主要涉及到两种基本的加工路径, 它们分别是直线运动、 圆弧运动。
对于直线加工模型, 主要是定义加工的起点AA和终点B。移动刀具的对刀点在AA和BB之间, 我们利用均匀直线插补算法求得; 刀具和毛坯重合部分, 可以借助对毛坯执行布尔运算生成, 以示零件被切削部分。模型如图3所示。

圆弧加工模型, 由于曲线的复杂性和G02、 G03圆弧插补加工方式选择的需要, 在确定加工特征信息时应包括: 起点SA、SB、 SC、 终点EA、 EB、 EC、 半径R, 顺时针G02、 逆时针G03。圆弧生成的变种可以由角度参与确定, 对于加工整圆分为: 顺时针、 逆时针两种。
在整个加工模型的建立中, 圆弧加工涵盖了加工的各种基本情况, 因此圆弧加工设计是系统实现的关键。圆弧加工模型如图4所示。

下面是基于VBA开发的部分圆弧加工程序:
……
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 实体加工模型
AutoCAD具有很强的图形绘制能力, 利用该软件的三维图形绘制命令可以轻松绘制逼真的实体模型。
本系统利用自定义的加工函数完成实体模型的加工, 用户只要给定加工所必须的信息, 就可以实现零件的自动加工。自定义函数的原型如下:
arcsolidtrace s(0), s(1), s(2), e1(0), e1(1), e1(2), radius, R,
H, boxObj, cylinderobj, G02G03
函数名称为arcsolidtrace, 圆弧的起点的三维坐标值为s(0), s(1), s(2), 圆弧终点三维坐标值为e1(0), e1(1), e1(2), 圆弧半径为radius, 刀具半径为R,对刀长度为H,零件毛坯实体为boxObj, 刀具实体为cylinderobj, 加工方向为G02G03。

程序依照数控圆弧加工规律和给定的参数值, 判断加工路径并完成零件毛坯的布尔运算。部分程序代码如下:
……
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 应用实例
应用本系统, 用户只需要选择毛坯类型, 定义毛坯尺寸, 定义刀具规格, 输入编写好的数控程序, 即可验证数控程序的正确性。
例如, 用户定义一个矩形毛坯, 和一个半径为10个单位的外形铣刀, 加工一个五角星的案例, 其加工完成后的效果如图6所示。

4 结束语
利用VBA对AutoCAD的二次开发, 实现了数控程序加工的三维仿真。仿真系统不但利用了VBA的数学计算功能, 更发挥了CAD的三维图形功能, 使得数控仿真达到了逼真、 直观的效果, 提高了数控加工程序验证效率和准确率。
本文由 伯特利数控文章 整理发表,文章来自网络仅参考学习,本站不承担任何法律责任。
2024-11
结 合 车铣复合加工中心说明书,应 用UG软 件PostBuilder开发 了XZC类 机 床 后 置 处 理,能 够 快 捷 实 现UG自动 编 程 中 车、铣、孔等操作的程序后处理,文 中 对 后处 理 创 建 从 初 始 化 运 动、运 动 前 设 置、机 床 运 动 前、… [了解更多]
2024-11
本文通过对五轴加工中心的三种类型的结构特点进行具体的运动分析,建立了数学模型推导出各类机床的后置处理算法。并通过UG NX进行建模并进行后处理与算法得到的后处理数据进行对比,证明了文中算法的正确性。通过所推导的数学公式得知,坐标的角度变换与转台的转动相关。所推导的数学模型为最基础… [了解更多]
2024-11
为了提高五轴加工中心的刀具加工精度,本文提出了五轴联动数控刀具切削加工误差非线性插补方法。根据五轴联动数控刀具工作原理,分析误差产生原因,利用误差非线性插补方法,实现误差插补。实验结果表明:利用该方法进行误差插补后,机床刀具运行轨迹与理想插补轨迹贴合度高,且插补后误差明显减小,可… [了解更多]
2024-11
随着五轴联动数控加工技术的广泛应用,文中针对五轴加工中心和五轴钻攻中心的后置处理器进行仿真分析,并提出一种以序列为基础的优化方法,优化后的后置处理器,可以使得数控加工节省时间百分比得到有效提升。虽然文中提出优化方法满足了预期要求,但受到研究条件的影响,该方法未来需要进一步完善。… [了解更多]
2024-11
面向铣削工艺参数优选技术的工程需求,以复杂零部件多轴数控铣削为背景,文中提出了一种通用立铣刀真实切削轨迹下的五轴铣削力计算方法。 (1)建立了可同时表征球头铣刀、圆环铣刀和平底铣刀的通用立铣刀几何模型,计算得到不同类型立铣刀的切削微元长度和切削宽度。 (2)提出了一种快速求解… [了解更多]