目前有很多外挂出程序单,但是总感觉少了些什么,比如模板不是自己想要的,NX版本的更新,也是需要等待原作者的更新,我也购买了正版的外挂加密狗,就是为了出程序单,之后发现也会存在很多问题,五轴刀长不准确。信息不全面,换了版本就需要重新安装一次外挂。
之后就在想直接用后处理解决,后处理程序的同时,也后处理excel程序单,经过一段时间的研究,基本已经搞定!下来分享一下经验与过程,大家如果有兴趣,可以研究研究,也许我的思路不会让你绕弯!
1、分析出程序单的过程
NX后处理肯定没有直接操作excel的函数,那么要实现后处理操作excel必须借助其他工具,NX后处理用的是tcl脚本,这里就可以针对这个找找,tcl有操作excel的动态链接库,tcom.dll,也可以用C C++ 但是这个不是作者的强项!这里以tcom举例说明:下面附件tcom动态链接库
2、 如何交互
由于NX版本有很多,这就直接导致了tcl版本的不同以及32位64位,NX8.0 tcl版本32位 NX1899 tcl版本64位,那么只需要找到一个32的运行的tcl.exe 就可以解决多版本的运行。
3、举例如下,以下tcl操作excel的脚本
package require tcom
set filename [file join [file dirname [info script]] test.xls]
puts $filename
# 创建com实例,打开工作表
set app [::tcom::ref createobject "Excel.Application"]
set workbooks [$app Workbooks]
set workbook [$workbooks Open $filename]
set worksheets [$workbook Worksheets]
set worksheet [$worksheets Item "Sheet1"]
# 获取A1单元的范围对象
set range1 [$worksheet Range A1]
# 给A1单元赋值
$range1 Value2 "123"
# 设置单元的背景色
set interior [$range1 Interior]
$interior Color [expr 0x00FFE0]
# 保存文档
$workbook Save
# 显示Excel
$app Visible 1
4、后处理方面的过程
用后处理输出一个名为tool_list.txt 这个文件包含了需要写入的变量,(程序名,刀具列表,以及路径)之后交互的时候source tool_list.txt 就可以把参数传递给脚本,使之写入excel。写完之后,给定一个命令,删除 tool_list.txt文件,当然也可以不删除,用w模式,就会清空文件,其中输出excel自己可以做一个弹窗,yes no输出excel,举例如下:
总结:这样的好处就是NX版本任意换,甚至可以换软件之后也可以用,因为整个写入在交互完成,NX后处理只是调用了其中的脚本,完成了写入excel,你可以做很多个excel模板,然后用一个配置表控制,1 (模具程序单) 2(产品程序单) 3(电极程序单) 4(探测点)探测点的表格是为了在线测量时候,能够记录真实的过程,完成于图纸的对比,做记录!NX后处理也可以输出最短刀长,也就是五轴的刀长问题在这里就已经解决了!
附件下载: tcom.dll
# 构造要打开的excel文件名
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!