实例解析:Mastercam后处理输出程序到指定目录

Mastercam后处理输出程序到指定目录,在Mastercam2017之前是无法直接做到的,如果要达到这个目的,有3个间接的方法:

方法1:通过后处理调用控制台程序。

方法2:通过后处理调用VBScript脚本。

方法3:通过Bat批处理。

方法1需要开发者对控制台程序有一定的开发基础,同时还需要熟悉后处理传递数据到控制台。


方法2和方法3测需要利用Buffer来完成,都是用过vbs来实现。


现在我们可以直接利用directory函数创建文件夹。这个直接的方法相对于上面间接的方法有如下优点:

1:可以直接对文件夹进行操作,如删除,新建,判断是否存在。

2:不会因为文件不存在而出现未知错误。

3:可以直接对已经存在的文件夹进行操作。


Mastercam没有直接复制,移动NC程序的函数,想要直接把当前的NC输出到指定的目录,这个需要借助Buffer来实现。但相对非常简单。

以下代码为实现当前输出的NC程序至图档目录下以NC名为名的文件夹下面。

1:定义后处理头数据。


[POST_VERSION] #DO NOT MOVE OR ALTER THIS LINE# V24.00 P0 E1 W24.00 T1614093555 M24.00 I0 O1
scncpost_revision     := "22.81" # Internal revision number for use by CNC Software only.  Please do not change this number.
scustpost_revision    := "0"  # Revision number for use by Resellers or customers.

2:定义原始路径,新的路径及后缀名。


return      : 0
spath_old   : ""
spath       : ""
spath_new   : ""
sextnc$     : ".nc"

3:判断文件夹是否存在,并向NC文件里面写入一些数据。


pheader$
	spath = smcpath$ + snamenc$
	spath_old = spathnc$+ snamenc$ + sextnc$
	return = directory(2, spath)
	if return = 0, return = directory(1, spath)
	"G01X0.", e$
	"2022-05-01", e$
	"2022-05-01", e$

4:定义buffer 1。


sbufname1$   : ""
rc1          : 1
wc1          : 1
b1_size      : 0
str1         : ""
fbuf 1 1 255 0 1

5:定义Buffer 2


sbufname2$   : ""
rc2          : 1
wc2          : 1
b2_size      : 0
str2         : ""
fbuf 2 1 255 0 1

6:利用buffer读取原始NC程序内容,并通过buffer输出到新的位置。


ppost$
	return = fclose(spath_old)
	sbufname1$ = spathnc$+ snamenc$ + sextnc$
	sbufname2$ = smcpath$ + "\" + snamenc$ + "\" + snamenc$ + sextnc$
	spath_new = smcpath$ + "\" + snamenc$ + "\" + snamenc$ + sextnc$
	if fexist(sbufname2$), return = remove(sbufname2$)
	if fexist(spath_new), return = remove(spath_new)
	b1_size = rbuf(1,0)
	rc1 = 1
	rc2 = 1
	while rc1 <= b1_size,
  	[
 	 str2 = rbuf(1,rc1)
 	 str2 = wbuf(2,rc2)
 	 ]
 	 return = fclose(2)
	if fexist(spath_old), return = remove(spath_old)
	


如代码存在问题,请跟帖留言,稍后将会更正相关错误代码。



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空