[应用]挖掘被掩埋了的Mastercam功能.

技术小编 4367 0

随着软件的升级与维护,很多老功能被新功能取代,或者随着少有人用而被隐藏.

这本来是无可厚非的事情,但有时,自己需要使用的老功能被隐藏而找不到的时候.也是挺让人抓狂的!(功能隐藏与删除是不同的概念,被隐藏的功能,你还可以通过特别的途径打开,而被删除的功能,除非你自己做二次开发将此功能复活,不然你怎么弄.一切都是徒劳的.例如在V9时代被删掉的NC转NCI功能.)

今天就用一个新版之中被隐藏的功能,来实现抛砖引玉!

在X系列版本里,有这样一个功能,叫做"导入NCI"

这个功能主要作用就是将NCI文件导回MC之中.成为一个刀路,这不仅可以用于模拟仿真,还能通过后处理生成NC文件.

当然这个功能最大的作用其实是为了满足大家的装13需要!因为导回去的NCI文件可以模拟仿真,却看不到任何的参数设置,也不知道是用什么策略生成的!拿来炫耀,再好不过!

就这么一个满足大家基本需求的功能,到了2017的时候却消失不见了!

无论是刀路菜单里,还是使用右键-铣床功能找到那些被隐藏的传统曲面命令的方式.都找不到导入NCI的踪迹!

这怎么能不让吃瓜群众感到愤怒!!!


本节要做的就是通过各种方式把这个功能给挖回来!

前面讲到过,隐藏跟删除是两个完全不同的情况,我们要判断要找的命令是被隐藏还是被删除.对于导入NCI功能,因为导入后会出现一个刀路,所以判断这个功能在新版本中被删除还是隐藏,最简单的方式.就是在X9中创建一个图档,导入NCI.用新版本打开,如果X9里存在的导入NCI程序.在2017里消失了.那就说明此功能被删除了.如果还存着,那肯定是被隐藏了!

新版中导入的NCI文档还是存在的.说明此功能是可以找回的!

想要找回一个功能,还是很费劲的.我们能想到的方案,就是使用VBS脚本.有什么脚本命令能实现此功能.

VBS脚本也算是快被遗忘的功能,但始终是脚本语言,这点小功能应该还是能办到的!

想使用VBS脚本,第一件事情就是要在自定义功能中,把VB脚本功能给拖出来!

开始调用VBS脚本了.

点击"新建"按钮!新建一个VBS脚本!

mastercam的VBS脚本,除了可以使用微软的VBScript命令方法以外,自然还可以使用Mastercam的VBScript命令方法.至于MC VBS命令,你可以在mastercam安装目录/help/VBScript.htm中得到所有命令!

通过查询 VBScript.htm 寻找NCI关键词找到下面命令

// Import NCI from a file

// into the current Mastercam session

Bool ImportNCI(

String    (Input: the file name)

)

意思就是使用ImportNCI(NCI文件)将指定的NCI文件导入到MC中

那我们在新建的VBS代码里直接输入下面命令

作用就是导入d:\1.nci文件到当前MC文件中!

保存VBS脚本,然后就开始运行下试试咯!

选择刚才新建的VBS脚本,点击运行按钮!

如果你看到这个报警,说明你的文件路径和文件名是错误的!

路径正确的话,直接得到导入的NCI功能了!

功能是实现了,问题是如果有多个NCI要导入,那是在有点麻烦,能否实现像X9功能那样的弹出对话框,让我自己选择导入的NCI文件呢?

当然没问题了!但这时,我们要用一个新的命令了!

在VBS里,有一个RunMastercamCommand命令.


// Run almost any Mastercam command - this gives access to every function

// that is  in the mastercam.ftt file. The input character ‘codes’ are listed in the Mastercam .ftt file following the function cpp command.

Void RunMastercamCommand(

            String)    (Input: character ‘code’ for each function)


作用很明白,运行mastercam的命令!

只要这个命令存在就能运行.不管隐藏的多深!

那现在的问题是,我不知道导入NCI命令是什么?!

没关系,我们去查查户口就知道了呗!

用记事本打开mastercam安装目录下的mastercam.ft文件

可以看到一大堆这样的文本

FUNCTION CPP "drill_assoc"  

RES_DLL  "OPMANRES.DLL"

SPNG 5807

LPNG 25062

TIP 32770

FCAT  "2D Toolpaths"

FNAME "Drill"

END_FUNCTION

为了方便大家,我给他们做个简单注释!

FUNCTION CPP "drill_assoc"   其中drill_assoc就是命令名字,对应要填写到RunMastercamCommand()里面的

RES_DLL  "OPMANRES.DLL" 命令所在的DLL文件

SPNG 5807

LPNG 25062

TIP 32770

命令在软件里显示的图标索引

FCAT  "2D Toolpaths" 命令所在分组

FNAME "Drill" 命令功能Drill就是钻孔.

看到这里我们就搜索NCI咯!

很顺利的找到了

FUNCTION CPP "OMimportNCI"

TIP 3861

HIDDEN

FCAT  "Operations Manager"

FNAME "Import NCI"

END_FUNCTION

很显然,OMimportNCI命令对应就是,导入NCI功能!

在VBS脚本里重写代码

RunMastercamCommand("OMimportNCI")

保存,运行脚本

这次一点击运行,直接就弹出打开NCI对话框了!功能成功实现!


还是有点美中不足,毕竟还得先点运行VB脚本,在选择脚本,再点运行才可以,能不能直接把这个功能弄出来呢?

当然可以了!我们在MC的命令查找器里输入NCI,搜索所有相关功能!根本没有导入NCI的影子,到是装的X+插件中重置NCI文件名的功能都给搜出来了!

注:命令查找器是mastercam2018的新功能,2017需要额外安装此功能!

看来是没救了?呵呵,当然不见得咯.还记得前面的

FUNCTION CPP "OMimportNCI"

TIP 3861

HIDDEN

FCAT  "Operations Manager"

FNAME "Import NCI"

END_FUNCTION

代码吗?其中有一个 HIDDEN 意思就是隐藏的作用.

看起来是隐藏掉此功能!那么直接把HIDDEN这行删除掉,保存文件.重新启动mastercam!再用命令查找功能搜索NCI关键词.

出现了吧!被隐藏的导入NCI功能现在能搜索到了!你再去自定义之中也能看到此命令的存在了!下面不用多说了吧!



随便翻翻mastercam.ft是不是发现好多命令都有隐藏了?配合脚本,自己去研究吧.



标签: mastercam编程

抱歉,评论功能暂时关闭!