5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: 试着写了一个钻阵列孔的VB脚本程序 [打印本页]

作者: 大机器    时间: 2011-9-7 15:32
标题: 试着写了一个钻阵列孔的VB脚本程序
Rem  VBScript 钻矩阵孔  Dr.SJH

Dim i,j As Integer
Dim Str As  String

Code "(矩阵钻孔)" '在信息栏提示工作内容

xn= 10  'X方向孔的数量
yn= 5  'Y方向孔的数量
xsp= 5  'X方向孔间隔5毫米
ysp= 8 'Y方向孔间隔8毫米
zhigh = 3  '工件厚度
zsafe = 2  'Z安全高度
zfeed= 600  'z进给速度
xyfeed = 3000  'XY进给速度


Code "g90"
Code "g0 z2"
Code "g0 x0 y0"

Code "g91"

For i=0 To yn-1
  For j=0 To xn-1
    Str="横向计数="+CStr(j+1)+"    纵向计数="+CStr(i+1)
    message Str
   code "g90"
   code "f"&xyfeed
   Str="g01 x"+CStr(j*xsp)+" y"+CStr(i*ysp)
   code  Str
   code "g91"
   code "f"&zfeed
   code "g01 z-"&zhigh+zsafe
   code "g01 z"&zhigh+zsafe

   While isMoving()
   Wend
Next j
Next  i

Code "g90"
Code "g0 z2"
Code "g0 x0 y0"

以上内容复制后存到MACH3的VB脚本编辑器中,点击运行,雕刻机可以钻10*5个孔
状态栏上有钻孔计数器显示





[ 本帖最后由 大机器 于 2011-9-7 15:51 编辑 ]
作者: 大机器    时间: 2011-9-7 15:38
把下 载的文件存到  C:\MACH3\MACROS\MACH3MILL目录中

在MACH3界面点击操作,选择VB脚本编辑,选择文件的打开操作,把下 载的文件打开运行即可
作者: hebss    时间: 2011-9-7 17:06
好东西,正需要呢,先谢谢楼主
作者: duanyz    时间: 2011-9-7 17:33
这个是个好东西,如果想修改孔的数量和间隔应该怎么做呢?
作者: fang    时间: 2011-9-7 20:33
:em26:
能不能搞成通用子程序
把钻孔数量和间距作为用户自定义参数
比如
X=20 Y=30(间距)
A=10 B=5(钻孔阵列)
M****(用M指令调用):em15:
作者: 大机器    时间: 2011-9-7 20:48
这个就很通用了
XN就是X方向孔的数量,在例子里定义为10,表示每行(水平)钻10个孔
YN表示钻多少行,例子是5表示钻5行,总共钻50个孔。
如果把YN定义为1,XN定义为100,则就是钻单排孔(水平)的程序了
或者把XN定义为1,YN定义为100,就是钻Y方向100个孔的程序。

X的间隔在XSP定义,单位毫米(如果设定为毫米的话)
Y的间隔在YSP定义,同上。

想钻多厚的材料,修改ZHIGH(工件厚度)即可,比如改为5。

程序定义了一个ZSAFE,相当于Z安全高度,钻完一个孔后,Z轴就回到这个高度,
另外主轴移动也是在这个高度进行,所以实际钻孔的Z进程为工件厚度+Z安全高度

进给速度Z轴是ZFEED,
XY共用一个XYFEED,当然也很容易分开
作者: 大机器    时间: 2011-9-7 20:52
当然,这是个简单的程序
从MACH3的官方网站下 载了宏指令的参考资料
可以实现不少功能啊
希望和有兴趣的朋友一起探讨
作者: fang    时间: 2011-9-7 21:03
一直想用MACH3 搞个能表格输入数据,用FOR 子程序,X+0.01循环,用函数计算出Y值,然后执行G01 X Y 来加工曲线。
看来有必要下功夫研究下MACH3宏指令
作者: 红东锐影    时间: 2011-9-7 21:10
好东西
作者: zhou792008    时间: 2011-9-7 21:34
不错:em26:
作者: wxws    时间: 2011-9-10 00:34
USBCNC能自动生成




欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://wz.5imx.com/) Powered by Discuz! X3.3