最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能装备

PowerMILL在数控加工中的应用

发布时间:2015-02-06 作者:张云峰 王进 褚忠 安钰坤 
本文介绍了PowerMILL的优点及其二次开发中macro宏程序和Visual Basic的应用,和 PowerMILL的五轴虚拟机床模拟的重要性。

3 PowerMILL的二次开发

  PowerMILL提供了两种二次开发接口:宏(macro) 接口和Visual Basic接口,这样方便用户按照自己喜欢的模式进行编辑,做出非常实用的二次开发程序, 这样可以使用户提高工作效率和工作质量。

  (1)用宏指令进行二次开发。

  在PowerMILL中,宏是一组PowerMILL内部指令的集合,其宏的录制和编辑运行非常的方便。用户可 以通过宏命令编辑自己的刀具库、模板库、加工策略等等,常用在右键快捷菜单中体现。如图1所示。

用宏指令进行二次开发

  程序编程人员可以将经常使用的功能编辑到右键快捷键中,方便程序员的操作和效率的提高,在编 辑菜单时,完全是macro命令的使用,下面是右键快捷键菜单中macro命令部分内容:

  U user_menu //右键菜单开始
  T "POWER MILL外挂" //右键菜单名称
  I "作者:张云峰(青岛理工大学)"
  S //菜单选项间分隔线
  M "刀路编辑" //一级主菜单名称
  I "单双向切削互换" 1 "EDIT TOOLPATH ZIGZAG"
  //二级子菜单
  I "刀路变换" 1 "FORM TPXFORM"
  I "反向" 1 "EDIT TOOLPATH REVERSE"
  Z //主菜单结束
  S
  M "刀具库" //另一个一级主菜单
  I "PM7_40刀位动态刀具库" 1 "Macro
  D:\powermill\pmill2\ 刀具库\PM7_40 刀位动态刀库
  20070917.mac"
  ……

  除此之外,还可以将一些常用刀具参数(如尺寸, 切削速度,进给速率等),常用的编辑策略(精加工策 略,半精加工策略等等)做成宏模板,放到右键菜单 中,通过macro编辑到菜单中,下面是一个D50R5.0刀 具参数的模板: "D50R5.0" 1 "CREATE TOOL 'D50R5.0' TIPRADIUSED EDIT TOOL 'D50R5.0' DIAMETER 50 EDIT TOOL 'D50R5.0' TIPRADIUS 5.0 FORM FEEDRATE EDIT PRATE 500 EDIT FRATE 2500 EDIT RPM 1800 FEEDRATE ACCEPT PowerMILL中macro命令的应用非常简单方便, 可以任意编辑自己想要的宏程序,甚至后处理,刀具 库,机床库,出程序单等等都可以编辑到菜单中,甚者 可以实现程序后处理到出程序单一体化过程,非常方 便编程人员,这样可以使编程的效率有很大的提高。

  (2)用Visual Basic进行二次开发。

  方法是通过VB中菜单“工程/部件”调出部件对 话框,并选中Delcam PowerSolution OLE control,调 入PowerSolutionOLE.OCX控件后,进行编程。在用 vb 进行编程的时候,可以通过macro 程序来进行帮 助。下面是三个最基本的命令:

  PowerMILL31.connect psstartpowermill
  //启动PowerMILL
  PowerMILL31.connect
  // 连接上PowerMILL
  PowerMILL31.disconnect
  // 退出PowerMILL

  下面是用VB编辑的一个用于定位坐标的一个小 软件,如图2所示。

用宏指令进行二次开发

  模型定位中的部分代码:

  Private Sub cmdExcute_Click()
  Dim dx As Double
  Dim dy As Double
  Dim dz As Double
  Dim ZMax As Double
  //定义XYZ坐标值变量
  ……
  If chkRotateY180.Value = 1 Then
  txtAngle.Text = 180
  //绕Y轴旋转180度
  cmdRotate_Click(1)
  End If
  pm.GetModelSize "", xmin, xmax, ymin, ymax,
  ZMin, Zmax
  //定义当前零件,xyz坐标位置
  Select Case F20.Tag
  Case "0"
  dx = -xmin
  //X的值为X轴最小处
  Case "1"
  dx = -(xmin + xmax) / 2
  Case "2"
  dx = -xmax
  ……