在mastercam编程时,由于导入的刀具信息,模型数据信息或信息输入时输入了特殊符号,这些字符串被处理到NC程序中,是不会不数控机床识别而产生警报错误,如何删除程序中的特殊字符串(中文字符)呢?
有如下几种方法:
1.删除mastercam刀路里的相关信息.
2.删除NC程序中的特殊字符串.
以上两种方法确实可以做到,但有些信息想要保留在mastercam刀路文件里面,这时候如何做呢?
下面带给大家一个一劳永逸的方法,我们利用mastercam后处理里面的正则表达式功能,可以去除一切想要去掉的字符串。
—————————————————————
假设我们使用中文版的软件,所以建立的刀具都包含有中文字符串,如:10 立铣刀
我们需要去掉立铣刀3个中文字符串,替换为endmill,那么如何做呢?
下面代码开始:
1.定义需要被替换字符串的16进制编码
s_rex :“[^\x00-x7F]”
s_replace :“”
说明:上面网站替换成任何你想输出的字符串或者是空字符串都可以.
2.在信息输出的位置首先屏蔽原来的输出信息.
屏蔽方法,在输出数据行最前面加入#即可完成屏蔽,增加正则表达式输出信息代码.
代码开始:
strtool$ = regex(s_reg,s_replace,2)
#参数说明:
#0:查找并匹配,返回替换字符串或空字符串
#1:查找并匹配,返回原始字符串或空字符串
#2:查找并替换,用于查找并替换字符串,并返回新的被替换过的字符串。
*strtool$
正则表达式的功能非常强大,不仅仅只在于此,还可以查找G,M代码等你所想到的一切。
代码结束
—————————————————————
以上是完整的特殊字符串替换方法。
具体方法,说明参考软件的what’s new in mastercam文件。
特殊字符串的16进制编码持续关注本公众号,将不定时发布Mastercam,ug,catia等软件的后处理技巧,后处理知识以及相关软件的二次开发方法及相关源码。