许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Mastercam后处理程序头输出加工时间纯代码

Mastercam后处理程序头输出加工时间纯代码

阅读数 3
点赞 0
article_banner


Mastercam后处理程序头输出加工时间--纯代码版方法。

此方法由官方提供,其原理利用了mill.set文件及buffer的方式来实现。

实现的原理及过程如下:

首先利用后处理调用mp.dll及mill.set,获取加工时间,并把加工时间保存为doc文件。

其次正常后处理程序,并向后处理中写入一个标志字符串。

最后再后处理运行结束前利用buffer重读nc文件,并搜索标志字符串。

网页链接​

1:定义各项数据

代码块

JavaScript


# Define strings used in building up the command line parameters for the DLL call
sspace    : " "     # SPACE character
ssq       : "'"     # Single Quote character
sdq       : '"'     # Double Quote character
sdoc      : ".doc"  # .doc extension
spath_in  : ""      # Will be the "path\name" of the NCI input file
spath_out : ""      # Will be the "path\name" of the DOC output file
sparams   : ""      # Will be the command parameter line passed to the DLL



      复制成功
     
     
     
     

2:定义mp.dll文件路径,此路径可用绝对路径,也可用相对路径

代码块

JavaScript


sdll      : "D:\Program Files\Mastercam 2022\Mastercam\apps\MP.dll" 

      复制成功
     
     
     
     

3:定义mill.set文件路径,此路径可用绝对路径,也可用相对路径

代码块

JavaScript


s_setfile : "C:\Users\Public\Documents\Shared Mastercam 2022\mill\Posts\Mill.set"  

      复制成功
     
     
     
     

4:定义保存时间数据的函数

代码块

JavaScript


# Define strings used to read cycle time from .set
set_time    : ""  

scycle_time : ""  

scycle_time_out : "(cycle_time_here)"  

loc_found   : 0  



      复制成功
     
     
     
     

5:定义buff1数据

代码块

JavaScript


# --------------------------------------------------------------------------
#Buffer 1, Doc file created by setup sheet
wc1           : 1       #Buffer 1 write counter
rc1           : 1       #Buffer 1 read counter
size1         : 0       #Buffer1size
string1       : ""      #Buffer 1
fbuf 1 0 256 1 1        #Buffer 1



      复制成功
     
     
     
     

6:定义buff2数据

代码块

JavaScript


#Buffer 2, NC file after posting
wc2           : 1       #Buffer 2 write counter
rc2           : 1       #Buffer 2 read counter
size2         : 0       #Buffer2size
string2       : ""      #Buffer 2

fbuf 2 1 256 1 1        #Buffer 2

      复制成功
     
     
     
     

7:在ppost$下完成整个加工时的获取,输出,回写到程序中

代码块

JavaScript


ppost$ # This posblock is call AFTER all the files from the PST run are closed!
      spath_in = spathnci$ + snamenci$ + sextnci$
      spath_out = spathnc$ + snamenc$ + sdoc
   sparams=ssq+sdq+spath_in+sdq+sspace+sdq+s_setfile+sdq+sspace+sdq+spath_out+sdq+ssq
      result = dll(sdll, sparams)
     sbufname1$ = spath_out 
     size1 = rbuf(one, zero) 
     rc1 = size1
     set_time = rbuf(one, rc1) 
     end_str_ix$ = zero
     if end_str_ix$ = zero, result = strstr(":", set_time) 
     if end_str_ix$ = zero, result = strstr("=", set_time) 
     scycle_time = brksps(end_str_ix$, set_time) 
     sbufname2$ = spathnc$ + snamenc$ + sextnc$ 
     while loc_found = zero,
       [
       string2 = rbuf(two, rc2)
       if string2 = scycle_time_out, 
         [
         wc2 = rc2 - one 
         scycle_time = sopen_prn + "CYCLE TIME =" + scycle_time + sclose_prn
         scycle_time = wbuf(two, wc2) 
         loc_found = one
         ]
       ]
       
      复制成功
     
     
     
     

8:在任何需要输出加工时间的位置处调用时间标志,如下。

代码块

JavaScript


psof$
    *cycle_time_out, e$
    
      复制成功
     
     
     
     

至此,后处理修改结束,NC程序头会自动输出程序的总时间,至于时间是否准确,这个还需要根据实际情况,如增加换刀时间,考虑圆弧减速等



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

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

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

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空