iCAx开思网

标题: 关于NC文件注释前置的实现方法 [打印本页]

作者: sjhxs    时间: 2006-4-21 09:40
标题: 关于NC文件注释前置的实现方法
[原创]关于NC文件注释前置的实现方法
 大家知道,NC注释主要是提供给操机者看的,最好能在程式开头显示,现介绍一种简单方法,供大家讨论:
我们知道,NC注释一般用括弧与G码作区隔,这就给我们实现注释前置提供了方便
 假如当前有一含注释的文件1.NC,试一下用DOS命令输入:
findstr  "(" 1.nc >1.txt 
findstr /v "(" 1.nc >>1.txt
 再看一下1.TXT,你发现了什么?是不是所有注释都显示到程式头了.
好了,现在我们就通过EXF+CMD来实现这目的了.
EXF文件中批处理内容
*-----user define batch file------
print0 \j "@echo off";
print0 \j "if not exist nc\nul md\nc\" part_name " >nul"; 建立零件名文件夹
print0 \j "ren " part_name "." tp_name "." post_name " hu.txt";  后处理文件改名为 hu.txt
print1 \j "@echo off";
print1 \j "move/y hu.nc \nc\" part_name "\" tp_name ".nc >nul"; 将 hu.nc移到相应文件夹并按程式命名
print1 \j "del print*.*&&del hu.txt";

CMD文件内容
@echo off
ren print0.txt print0.bat
ren *.p01 print1.bat
call print0
findstr /c "(" hu.txt >hu.nc   将 hu.txt中含有"("字串的复制到 hu.nc  这里文件名必须与exf文件中一致
findstr /v "(" hu.txt >>hu.nc   将 hu.txt中不含有"("字串的追加到 hu.nc  文件名仅作过渡之用,可根据个人习惯设
call print1


怎么?看不懂,哪我就没招了
作者: sjhxs    时间: 2006-4-21 09:44
测试结果

( Tool=D20R4 D=20. R=4. )
( offset=0.2 tol=0.01 )
( 最低Z值=19.2 MM )
( 估计工时=6.763 分钟 )
%
G90 G00 G17 G54
S1800 M03 Z50.
G00 X11.545 Y-38.5 Z50.
Z31.3
G01 Z28.3 F480
X2.401 Z27.5
X2.161 Y-37.947 F1600
... .... ......
X0.396 Y-37.835 I-32.768 J-18.919
G01 X0.403 Y-38.5
X2.611 Y-37.921
X2.856 Y-37.857
G02 X0.403 Y-38.5 I-2.453 J4.357
G01 X0.0
G00 Z50.
M09
M30
%
作者: 13131    时间: 2006-4-21 09:52
楼主研究的好深.正在路上!!
作者: 13131    时间: 2006-4-21 09:53
你能不能提供些资料.让学习的人有便车搭!
作者: 13131    时间: 2006-4-21 09:58
指教用POST,处理出来时有G43H刀号,这是刀补.怎么该后处理时可以不含这个.因为这个,模具过切了一副,真晕!!
作者: sjhxs    时间: 2006-4-21 10:05
原帖由 13131 于 2006-4-21 09:58 发表
指教用POST,处理出来时有G43H刀号,这是刀补.怎么该后处理时可以不含这个.因为这个,模具过切了一副,真晕!!


将所有含这一代码头部加 *号,前面不留空格,保存后编译
*        OUTPUT $ " G43 H" CURR_TOOL  ;
作者: 13131    时间: 2006-4-21 11:54
哎呀,看不懂真晕.通常说的改POST,是改哪个格式.DEX,EXF..这个我才入门.真急死人了.
作者: mohongling    时间: 2006-4-21 16:33
楼主你太厉害了
作者: zs222    时间: 2006-4-21 17:59
顶  正学习中......谢谢分享
作者: sjhxs    时间: 2006-4-22 11:45
原帖由 13131 于 2006-4-21 11:54 发表
哎呀,看不懂真晕.通常说的改POST,是改哪个格式.DEX,EXF..这个我才入门.真急死人了.


  搞了半天,连门还没找到,用记事本打开你用的那个扩展名为EXF的东东修改啊
作者: 13131    时间: 2006-4-22 12:08
不要说门啦,灯都没开.学习中!
作者: 13131    时间: 2006-4-22 12:12
里面很多,能不能做个录像传上,让我们学习的人有福音享!谢楼主了!
作者: jincao    时间: 2006-4-22 17:19
先下个,我有空好好研究研究.谢谢楼主
作者: sjhxs    时间: 2006-4-23 12:48
原帖由 13131 于 2006-4-22 12:12 发表
里面很多,能不能做个录像传上,让我们学习的人有福音享!谢楼主了!


  这里有教程   
https://masscam.cn/bbs/forumdisplay.php?fid=33
作者: liqiyou8011    时间: 2006-4-23 13:35
支持,
作者: tantiduo    时间: 2006-8-23 22:41
现在知道了。
作者: loveyuan    时间: 2006-10-4 20:34
sjhxs先生,谢谢你的付出,你的R后处理都让我们受益匪
浅,这下更是锦上添花了,
作者: wyf332805    时间: 2006-11-12 22:24
各位老大!小弟有个问题请教下!我这边有台OKUMA铜公机,带刀库的,后处理是以前厂家提供的,但不怎么好用,如果一个铜公处理成一条程序,到第二把刀就没有刀具注解了,我们现在都是把程序一条一条的处理,然后在让操作员自己连起来,很麻烦!不知道哪位老大能教下小弟应该怎么改才行/?
先谢谢了!!!

[ 本帖最后由 wyf332805 于 2006-11-12 22:49 编辑 ]
作者: lby    时间: 2007-3-29 21:37
太好了,谢谢楼主无私讲解!
作者: lby    时间: 2007-4-3 20:58
对了,直接把输出信息的那些  OUTPUT $ " (TOOL="CURR_NAME "; D="DIAMETER_ " R="TOOL_RAD"  L="CUT_LENGTH")" ; 放到这里,不是更简单吗?

      OUTPUT $ " (TOOL="CURR_NAME "; D="DIAMETER_ " R="TOOL_RAD"  L="CUT_LENGTH")" ;
*-----output  
      IF_SET (FlagSeq _EQ_ YES )
         OUTPUT "%" \J "O" MainNum  ;
      ELSE
         OUTPUT " %" \J " O" MainNum  ;
      END_IF ;
作者: sjhxs    时间: 2007-4-14 09:35
原帖由 lby 于 2007-4-3 20:58 发表
对了,直接把输出信息的那些  OUTPUT $ " (TOOL="CURR_NAME "; D="DIAMETER_ " R="TOOL_RAD"  L="CUT_LENGTH")" ; 放到这里,不是更简单吗?

      OUTPUT ...

  如果是最小Z值,估计工时按传统方式是只能从程式尾输出的,因此就需要借CMD文件来达到这一目的,相关技巧还可参看“新年礼物,倾情奉献”一贴https://www.icax.org/thread-337193-1-1.html




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3