找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
打印 上一主题 下一主题

让后处理成为一种享受———群处理!!!

[复制链接]
21
发表于 2005-12-17 11:59:39 | 只看该作者
1.长度补偿去掉是很容易的事

2.关于中文的问题,后处理时选择英文即可

3.另外程序位置是可以在CMD里定制的

4.Z向回0问题,每个程序前都有回安全平面(除非编程时安全平面就没设对,因此也不是问题,个人习惯而已)

5.坐标设置问题,除非你是编程的又是操作的,要不你并不知道他用什么坐标,这是操作工应具备的基本素质(也就是说你加进去,并不能保证操作工不需要修改,反而你在后处理时多了一项工作——输入坐标

要体会其好处,不在这里,MF 所说的问题会改后处理的人没有人不会改的,所以请转移你的注意力,再说这只是个试用版而已.

感谢MF的意见

[ 本帖最后由 yhsean 于 2006-1-4 12:10 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
22
发表于 2005-12-19 14:00:05 | 只看该作者
23
发表于 2005-12-19 16:23:19 | 只看该作者
我试了一下,发现一次最多只有处理二个程序
24
发表于 2005-12-30 18:57:50 | 只看该作者


1.程序根据磁盘情况分析,如果是一样的NC程序覆盖,不一样的增加序号,
                                                           一样的工步,取一样的扩展名,不一样的增加扩展名序号
2.每NC程序都带时间 (而且前置)

3.一次扫描NC代码,处理时间比SED 和CMD版快70%
4.有的朋友喜欢一把刀具一个工步,那么你可以根据扩展名识别它,无论如何,它都会按照刀具自动分离
5.其实操作系统的    资源管理器就象一张程序单  (而且这张程序单不断在被你刷新),因为它已经排序,注释根据情况置于刀具名后现在可以更改后处理的名称(请勿更改GAWK.exe程序的名字)


awk版截图:公差提示(每一个潜在的错误公差都逃不掉)
.

[ 本帖最后由 yhsean 于 2006-1-12 15:58 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
25
发表于 2005-12-30 19:23:50 | 只看该作者
强 真的很强.......
26
发表于 2005-12-30 22:22:13 | 只看该作者
::############################定义NC程序路径########################################

                                                                    
  1. set nc_pth=D:\NC
复制代码

                                 
::############################定义NC程序路径#########################################
::###################### DESIGN BY  yhsean2718281828@yahoo.com.cn   QQ:81422171 ####
::#########################################################################
::#############注意   更改其中非定制部分可能导致程序运行错误,除非你非常熟悉程序内容,所以建议不要擅自更改##########
::#########################################################################

  1. @echo.
  2. @echo off
  3. set cmd_file=%~f0&set cmd_dir=%~dp0
  4. move/y *.p01 yh.bat 1>nul&&call yh.bat
  5. set nc_pth_=%nc_pth%\NC_%part_name%
  6. if  not exist "%nc_pth%.\NUL" md  "%nc_pth%" 2>nul
  7. if  not exist "%nc_pth_%\NUL" md "%nc_pth_%" 2>nul
  8. if  not exist "%nc_pth_%\nc_doc.bmp" copy "%cmd_dir%\%post_name%.bmp" "%nc_pth_%\nc_doc.bmp" 1>nul
  9. PATH=%cmd_dir%;%PATH%
  10. gawk "/^#awk_start/,/^#awk_end/{print $0}" "%cmd_file%" >yh.awk
  11. gawk -f yh.awk %file% &goto END
  12. #awk_start
  13. BEGIN {
  14.                               time_s=systime()
  15.                   system("net start messenger 2>nul")
  16.       "@echo %nc_pth_%"|getline nc_pth_ ;  gsub(/\\/,"/", nc_pth_)
  17. time_n=1
  18. while("gawk "{print}" %file%"|getline time_line) {
  19. if (time_line~/R@/&&time_line!~/@R-/){split(time_line,tim,"@");time_only[time_n]=tim[8];time_n++}
  20.                                         }
  21. time_n=1       
  22. while("dir %nc_pth_%\\*.%post_name%?/b/o-n 2>nul"|getline read_inf_line) {disk_inf=disk_inf read_inf_line"\n" }
  23.             print "\n\t" nc_pth_"路径下磁盘信息:"
  24.                   print disk_inf
  25.                 disk_line=split(disk_inf,R,"\n")
  26.                      max_n=0;max_e=0
  27.             for (i=1;i<=disk_line;i++){

  28.                    if(max_n<substr(R[i],1,2)){max_n=substr(R[i],1,2)}
  29.                    
  30.                    if(max_e<substr(R[i],length(R[i]))){max_e=substr(R[i],length(R[i]))}

  31.                  }
  32.                    print "#磁盘最大序号:"max_n"\t\t\t最大扩展名序号:" max_e"\n\n"

  33.                    _n=max_n;        _e=max_e

  34. }

  35. {

  36. if($0!~/R@/){

  37.             if ($0!~/^ T/){if ($0~/TIME/){sub("TIME",time_only[time_n],$0);time_n++};print $0>>nc_pth_"/temp"}
  38. }else{

  39.       if($0~/@R-/){if (NR!=1){split($0,old,":");old_tp=old[2]}
  40.                  
  41.       }else{split($0,n,"@")

  42.                      if(n[2]<10){  n[2]="0"n[2]  }

  43.                split(n[5],d,"-"); n[5]=d[1];if(old_tp!=""){n[5]=old_tp;old_tp=""}

  44.                 split(n[6],d," "); n[6]=d[1]d[2]

  45.                         same_n="no"; same_e="no"

  46.                             for(i=1;i<=disk_line;i++) {

  47.                               if (R[i]~n[3]&&R[i]~n[5]"-"n[6]){same_n=substr(R[i],1,2)}

  48.                           if (R[i]~n[5]){same_e=substr(R[i],length(R[i]))}

  49.                           if (same_n!="no"&&same_e!="no") break

  50.                                                       }

  51.                               if (same_n=="no") _n++;if(_n<=9)_n="0"_n

  52.                               if (same_e=="no") _e++
  53.             print "\n\t\t_"n[3]"_"n[4]"_"n[5]"-"n[6]"\n"

  54.             print "#相同工艺序号:"same_n"\t\t\t相同工步扩展名序号:"same_e

  55. ORS="\t\t\t"

  56.             if (same_n=="no"){

  57.            print "#赋予新的序号:"_n;n[2]=_n }else{ print "#赋予新的序号:no";n[2]=same_n}

  58.            if (same_e=="no"){
  59.        
  60.            print "赋予新的扩展名序号:"_e"";n[9]=_e }else{ print "赋予新的扩展名序号:no";n[9]=same_e }

  61.            print "\n\n"

  62. ORS="\n"
  63.                  name=n[2]"_"n[3]"_"n[4]"_"n[5]"-"n[6]"."n[7]n[9]

  64.                    close(nc_pth_"/temp")

  65.                    system("move/y  %nc_pth_%\\TEMP  %nc_pth_%\"name)

  66.                   disk_inf=disk_inf"\n" name

  67.                   disk_line=split(disk_inf,R,"\n")
  68.                            
  69. }
  70. }
  71. }
  72. END {
  73.             disk_inf=""

  74. while("dir %nc_pth_%\\*.%post_name%?/b/on 2>nul"|getline read_inf_line) {disk_inf=disk_inf read_inf_line"\n" }

  75.             print "\n\t处理完后" nc_pth_"路径下磁盘信息:";print disk_inf

  76.              close("%file%")

  77.             system("move/y  %file%  %nc_pth_%\\00_%num%-TOOLS."n[7]"0")

  78.             system("del  %file%")

  79.             time_e=systime();time_delta=time_e-time_s

  80.             system("net send %computername%  处理时间:"time_delta "秒 1>nul")

  81.             system("net send %computername%  一共  %num% 刀具处理完成 1>nul")

  82. }

  83. #awk_end
  84. :END
  85. del yh.bat&del yh.awk&del print00.txt&del %cmd_dir%*.bat
复制代码


有C语言基础的人可以自己去创造更棒的后处理器

其实说实话,代码对大多数人来说太枯焯了,所以建议能应用就行了,没必要一味的要求源代码
如果你需要全部的功能,可以联系QQ81422171,这不是全奉献与否的问题,毕竟创作者是花时间和精力的


[ 本帖最后由 yhsean 于 2006-1-11 16:36 编辑 ]
27
发表于 2005-12-31 08:20:00 | 只看该作者
谢了,好用的
28
发表于 2005-12-31 08:41:14 | 只看该作者
支持,
29
发表于 2005-12-31 12:38:44 | 只看该作者
希望yhsean 兄能多多在这里教大家怎能样写后处理。真是读君一席帖,
享用永远边啊!
30
发表于 2005-12-31 17:03:05 | 只看该作者
后处理关键是实现功能的算法,EXF本身就是一种语言的源代码,至于你用什么语言,语言的约定,只能去参考

语言的文档了,还是那句话        算法+语言+结构=程序

我也不敢教大家,潜水的高手都在笑呢?写点小东西主要是方便自己工作之需,没别的意思,顺便你觉得好的话,

享用一下。值得一提的是,不要什么都去指望别人给出答案,想当初看到 DARKBIT 等写EXF觉得简直就是高深莫测

,不过你去深入学习的话,也会觉得不过就那么会事,我想学点东西解决自己所需还是必要的,如果真要写程序,

那么,别人专业的程序设计师最差的都比我们强,至于EXF结构是很简单的,大家只要看看其语言的语法,用上自

己的 “算法” 就是你自己的  “作品” 了
当初没看过资料就写EXF编译错误太多,熟悉EXF后,你就会知道出错在那里

[ 本帖最后由 yhsean 于 2005-12-31 17:06 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2025-1-8 14:56 , Processed in 0.029628 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

快速回复 返回顶部 返回列表