iCAx开思网

标题: 【讨论】CIMATRON的POST [打印本页]

作者: darkbit    时间: 2003-2-19 11:40
标题: 【讨论】CIMATRON的POST
以下代码是我自写的POST中圆弧段表示法(勉强可称算法),跟CIMATRON中附带的DEMO不同,用R来表示G02和G03(DEMO用I,J,K来表示G02和G03)。其中MEDX,MEDY是自定义变量,类型为COORDINATES。
  
CIRCULAR MOTION:  
      IF_SET (ARC_ANG _LT_ 0.0) ARC_ANG = 0.0 - ARC_ANG ; END_IF ;
  
      OUTPUT $ ;
      IF_SET (CIRC_MOV) OUTPUT " " CIRC_MOV ; END_IF ;  
      IF_SET (ARC_ANG _GT_ 0.0)
        IF_SET (ARC_ANG _LE_ 180.0)
          IF_SET (X_ENDPT) OUTPUT " X" X_ENDPT  ; END_IF ;  
          IF_SET (Y_ENDPT) OUTPUT " Y" Y_ENDPT  ; END_IF ;  
          OUTPUT " R" RADIUS_ ;
          IF_SET (MCH_FEED) OUTPUT " F" MCH_FEED ; END_IF ;
        ELSE
          MEDX = 2 * X_CENTER - XOLD ;
          MEDY = 2 * Y_CENTER - YOLD ;
          OUTPUT " X" MEDX " Y" MEDY " R" RADIUS_ ;
          IF_SET (MCH_FEED) OUTPUT " F" MCH_FEED ; END_IF ;
          SET_ON X_ENDPT Y_ENDPT ;
          OUTPUT $ " X" X_ENDPT " Y" Y_ENDPT " R" RADIUS_ ;
        END_IF ;
      ELSE
        MEDX = 2 * X_CENTER - XOLD ;
        MEDY = 2 * Y_CENTER - YOLD ;
        OUTPUT " X" MEDX " Y" MEDY " R" RADIUS_ ;
        IF_SET (MCH_FEED) OUTPUT " F" MCH_FEED ; END_IF ;
        SET_ON X_ENDPT Y_ENDPT ;
        OUTPUT $ " X" X_ENDPT " Y" Y_ENDPT " R" RADIUS_ ;
      END_IF ;  
  
      SET_ON LIN_MOV ;  
      XOLD = X_CURPOS ;  
      YOLD = Y_CURPOS ;  
      ZOLD = Z_CURPOS ;
作者: ymgd    时间: 2003-2-20 12:00
我学着老兄乡改了我的后处理,可是,怎样让他生效呢?
是DEX文件吧。
作者: darkbit    时间: 2003-2-20 12:33
我这是源代码,即EXF文件,通过DFEXF.EXE编译后生成DEX文件,即可生效。
作者: darkbit    时间: 2003-2-20 15:26
以下代码是CIMATRON中附带的DEMO中的打孔表示法,有一个BUG ,而且输出的G代码同CIMATRON中NC环境下的刀路坐标没有一一对应。
  
CYCLE: ON:  
      FlagSpin = NO ;  
      IF_SET (SPIN_SPEED) FlagSpin = YES ; END_IF ;  
      IF_SET (SPIN_DIR)   FlagSpin = YES ; END_IF ;  
      IF_SET (FlagSpin _EQ_ YES)  
   SET_ON SPIN_SPEED SPIN_DIR ;  
   OUTPUT $ " S" SPIN_SPEED " " SPIN_DIR ;  
      END_IF ;  
   
      SET_ON X_CURPOS Y_CURPOS Z_CURPOS   ;  
      SET_ON CYC_DEPTH CYC_RETR CYC_CLEAR MCH_FEED MCH_COOL ;  
      SET_ON Zinit Depth Clear ;  
      Zinit    = Z_CURPOS + CYC_DZINIT ;  
      Depth    = Z_CURPOS - CYC_DEPTH ;  
      Clear    = Z_CURPOS + CYC_CLEAR ;  
      IF_SET (Zold _LT_ Zinit) OUTPUT $ " Z" Zinit ; END_IF ;  
       OUTPUT $ ;  
       OUTPUT " "  CYC_RETR ;  
       OUTPUT " "  CYC_CODE ;  
       OUTPUT " X" X_CURPOS ;  
       OUTPUT " Y" Y_CURPOS ;  
       OUTPUT " Z" Depth    ;  
       OUTPUT " R" Clear ;  
      IF_SET (CYC_PECK)  OUTPUT " Q" CYC_PECK  ; END_IF ;  
      IF_SET (CYC_DWELL) OUTPUT " P" CYC_DWELL ; END_IF ;  
      IF_SET (CYC_XSHFT) OUTPUT " I" CYC_XSHFT ; END_IF ;  
      IF_SET (CYC_YSHFT) OUTPUT " J" CYC_YSHFT ; END_IF ;  
       OUTPUT " F" MCH_FEED ;  
       OUTPUT " "  MCH_COOL ;  
      SET_ON  LIN_MOV CIRC_MOV ;  
      SET_OFF CYC_DEPTH CYC_CLEAR;  
      Xold = X_CURPOS ;  
      Yold = Y_CURPOS ;  
      Zold = Z_CURPOS ;  
  
以下代码是我的改进
  
CYCLE: ON:  
      SET_ON X_CURPOS Y_CURPOS Z_CURPOS   ;  
      SET_ON CYC_RETR DEPTH CLEAR MCH_FEED ;  
     
      ZINIT = Z_CURPOS + CYC_DZINIT ;  
      DEPTH = Z_CURPOS - CYC_DEPTH ;  
      CLEAR = Z_CURPOS + CYC_CLEAR ;
  
      OUTPUT $ " Z" ZINIT ;  
      OUTPUT $ " " CYC_RETR " " CYC_CODE " X" X_CURPOS " Y" Y_CURPOS ;
      OUTPUT " Z" DEPTH " R" CLEAR ;
      IF_SET (CYC_PECK)  OUTPUT " Q" CYC_PECK  ; END_IF ;  
      IF_SET (CYC_DWELL) OUTPUT " P" CYC_DWELL ; END_IF ;  
      IF_SET (CYC_XSHFT) OUTPUT " I" CYC_XSHFT ; END_IF ;  
      IF_SET (CYC_YSHFT) OUTPUT " J" CYC_YSHFT ; END_IF ;
                         OUTPUT " F" MCH_FEED  ;  
  
      IF_SET (ZINIT _LT_ ZOLD) ZINIT = ZOLD ; END_IF ;
  
      SET_ON  LIN_MOV CIRC_MOV ;  
      XOLD = X_CURPOS ;  
      YOLD = Y_CURPOS ;  
      ZOLD = Z_CURPOS ;
作者: chen75    时间: 2003-2-20 15:35
佩服!
作者: darkbit    时间: 2003-2-20 15:56
献丑了!对CIMATRON的POST,我还有一些小心得,容后再说。我知道chen75兄是高手,受到chen75兄夸奖,真是荣辛!
作者: lgj    时间: 2003-2-20 16:50
darkbit wrote:
献丑了!对CIMATRON的POST,我还有一些小心得,容后再说。我知道chen75兄是高手,受到chen75兄夸奖,真是荣辛!

  
两位都是高手啊!!对于POST小弟不是很懂,所以还请两位仁兄多多指教!!
CIM中你们认为哪个后处理最好!!
作者: darkbit    时间: 2003-2-20 17:25
我不知道哪个后处理最好,适合你所用机床的POST即是好的POST,CIMATRON有两大后处理系统,一个为GPP,另一个即为著名的IMSPOST,GPP是CIMATRON固有的,IMSPOST是外挂的,许多人说IMSPOST同CIMATRON无缝集成,我认为缝隙很大,随便破破。对CIMATRON来说,GPP是基础,没有GPP,IMSPOST是空中楼阁。因IMSPOST是接受GPP生成的APT文件而产生G代码,试想,对GPP不了解,而去搞IMSPOST,若GPP生成的APT文件有问题,IMSPOST产生的G代码会好吗?
GPP可直接产生G代码,CIMATRON IT版附带的GPP型POST在文件名和路径上有问题,这点我已解决了,具体技巧容后再说。
GPP还控制着CIMATRON的摸拟,有时摸拟出错,很可能是GPP产生的CL文件不对。
综上所述,我不用IMSPOST
作者: ymgd    时间: 2003-2-20 19:00
darkbit wrote:
我这是源代码,即EXF文件,通过DFEXF.EXE编译后生成DEX文件,即可生效。

非常感谢,我马上试试.
作者: totob    时间: 2003-2-20 21:10
  &nbspFPF,又一位高手来了。
  关于GPP,在几年前用7.0时研究过,现在有了IMSPOST,就对它再也没兴趣了。毕竟以前看资料cimatron公司有专门工具开发GPP的后处理,而我们只有一行行的写程序。另外还有一点是GPP在多轴上的代码基本上要推倒重来(和三轴比较),IMS在这些地方就有优势。
   当然无论是后处理速度还是方便性上,用GPP都比IMS好,所以平时都用GPP,偶尔在工作中发现GPP有什么问题(如钻孔循环上的问题),再对细节处仔细研究,修改一下。对GPP的整体重写或大幅改动就心有余而力不足了。
作者: darkbit    时间: 2003-2-20 21:45
totob兄,我还没到高手的境界。诚如你所说,GPP在多轴上的代码基本上要推倒重来,我手头又没有编多轴的资料,好没劲啊!
作者: darkbit    时间: 2003-2-20 22:12
先卖个关子,各位大侠对CIMATON的刀路旋转和刀路对称有什么感受?
请发表一下,稍后送各位大侠一个我自写的POST,或许能让你满意。
作者: sinderal    时间: 2003-2-20 22:28
呵呵! 好像都大同小異, 要定義一些東東與CAM產生的互相對應... 任何一套Post都粉類似...
作者: darkbit    时间: 2003-2-20 22:42
sinderal 兄说的对,任何一套软件的POST都类似,UG,MASTERCAM,SURFCAM,CADDS5的POST我都会编,但没CIMATRON那么复杂,我对CIMATRON的POST情有独钟是因为它处理快,你知道是为什么吗?
作者: sinderal    时间: 2003-2-20 22:53
darkbit wrote:
sinderal 兄说的对,任何一套软件的POST都类似,UG,MASTERCAM,SURFCAM,CADDS5的POST我都会编,但没CIMATRON那么复杂,我对CIMATRON的POST情有独钟是因为它处理快,你知道是为什么吗?

  
ImsPost, IntelliPost, GPost, CamPost都是通用後處理系統...
1. CADDS5用IntelliPost, 處理速度不快
2. Surfcam自己的MPost, LPost處理很快, 每秒100 record以上, 用GPost就比較慢了..
3.UG/MasterCam快不快偶不知道
4. 用通用後處理置系統, 要抓的資料比較多, 再做比對與轉譯就會比較慢, 如果還有Macro要去Call來執行, 就更慢...但是功能比較多且強..
5. 自己的東西, 比較快, 簡潔, 處理就快... 但是, 你上面寫的那些東西, 不應該是你去寫的, 那應該是Post的 基本配置才對 ....
作者: nortamic    时间: 2003-2-21 01:24
sinderal 說的有理,我非常認同!!
作者: darkbit    时间: 2003-2-21 09:38
非常感谢sinderal兄的指教!
作者: desertstar    时间: 2003-2-22 21:23
各位高人,能否介绍一下这方面的教材!怎样才能更快的上手!很想知道这方面的知识。多谢!!!!!!!!!!
作者: srcproe    时间: 2003-2-23 00:31
darkbit兄,你好,请问怎么改POST后处理,请指教,能不能具体给我讲讲
作者: ymgd    时间: 2003-2-23 10:00
学一种计算机语言,比如PASCAL, C++,
拿起你的机床的编程说明书.
花半年的时间来研究.
作者: darkbit    时间: 2003-2-23 10:40
desertstar wrote:
各位高人,能否介绍一下这方面的教材!怎样才能更快的上手!很想知道这方面的知识。多谢!!!!!!!!!!

  
desertstar兄,CIMATRON附带有GPP和IMSPOST的英文说明,再详细不过了,我就看这自学的。
作者: darkbit    时间: 2003-2-25 17:47
srcproe wrote:
darkbit兄,你好,请问怎么改POST后处理,请指教,能不能具体给我讲讲

  
srcproe兄,有空整理一下后会发几贴。
作者: sirhc    时间: 2003-2-26 00:56
请问有人用过自动分割程序的方式一次选取多条程序产生多条后处里吗?
作者: sword-kent    时间: 2003-2-26 08:49
darkbit wrote:
   
  
  srcproe兄,有空整理一下后会发几贴。

高手:
能作数控车的后处理吗?
fanuc 0td的
作者: darkbit    时间: 2003-2-26 11:34
sirhc wrote:
请问有人用过自动分割程序的方式一次选取多条程序产生多条后处里吗?

  
sirhc兄,台湾的冠齐有该产品。
作者: darkbit    时间: 2003-2-26 11:38
sword-kent wrote:
   
  高手:  
  能作数控车的后处理吗?  
  fanuc 0td的

  
sword-kent兄,你好!我没做过数控车床,请上传一个有关数控车的文件,我替你试做一下后处理。
作者: sword-kent    时间: 2003-2-27 09:22
darkbit wrote:
   
  
  sword-kent兄,你好!我没做过数控车床,请上传一个有关数控车的文件,我替你试做一下后处理。

作者: desertstar    时间: 2003-2-27 14:33
darkbit wrote:
   
  
  desertstar兄,CIMATRON附带有GPP和IMSPOST的英文说明,再详细不过了,我就看这自学的。

darkbit兄 :CIMATRON附带的GPP和IMSPOST的英文说明,不好意思,我没有找到。只有imspost lite professinal,不知道怎么用,也没有帮助文件。你能不能上传一份或者发一份给我。非常感谢!!!
作者: sirhc    时间: 2003-2-27 18:29
是否有人曾经用过一次后处理会有两种不同的格式作输出;像我有两台不同的机台,想同时一次输出两种格式不知在后处理该如何修改?
作者: darkbit    时间: 2003-2-27 23:10
desertstar wrote:
   
  darkbit兄 :CIMATRON附带的GPP和IMSPOST的英文说明,不好意思,我没有找到。只有imspost lite professinal,不知道怎么用,也没有帮助文件。你能不能上传一份或者发一份给我。非常感谢!!!

  
desertstar兄,附上GPP的英文说明。
作者: darkbit    时间: 2003-2-27 23:11
desertstar wrote:
   
  darkbit兄 :CIMATRON附带的GPP和IMSPOST的英文说明,不好意思,我没有找到。只有imspost lite professinal,不知道怎么用,也没有帮助文件。你能不能上传一份或者发一份给我。非常感谢!!!

  
desertstar兄,附上IMSPOST英文说明。
作者: darkbit    时间: 2003-2-27 23:59
sirhc wrote:
是否有人曾经用过一次后处理会有两种不同的格式作输出;像我有两台不同的机台,想同时一次输出两种格式不知在后处理该如何修改?

  
sirhc兄,据我所知CIMATRON可以一次输出多个文件,这其实是把一个文件按固定的走刀长度分割成多个文件输出,但同时一次输出两种格式的文件好象不可能。
按你的情况,我解决方法只能是:
(1)做两个后处理。比如后处理A对应机床A,后处理B对应机床B。
(2)做一个后处理。该后处理在执行时会出现一个选项,若选A则对应机床A,若选B则对应机床B。该后处理能输出两种格式的文件,但不是同时。
作者: sirhc    时间: 2003-2-28 01:21
感谢darkbit兄;再请教一个问题,是否在后处理中可以决定将圆打成多断?
作者: sirhc    时间: 2003-2-28 01:24
desertstar wrote兄:你可以直接上https://www.ims-software.com/网站下载
作者: darkbit    时间: 2003-2-28 10:55
sirhc wrote:
感谢darkbit兄;再请教一个问题,是否在后处理中可以决定将圆打成多断?

  
sirhc兄,在后处理中将圆打成多断,也就是用G01来表示G02和G03,这是可以的。
CIMATRON的后处理中有一个系统变量:CIR_INTERP,系统内定为SET_ON,即开的,若你把它关了,即设为SET_OFF,则G代码的输出会用G01来表示G02和G03。
作者: nckio    时间: 2003-2-28 12:50
大家能教教我吗?在cimatron中怎么改后处理:
例如要改成如下格式:
G90 G54 X0 Y0;
G92 X--Y--;
G01 X100. ;
Y100;
X-100;
--------------
----------
--------
M02;
以上是三菱线割的后处理格式。
作者: sirhc    时间: 2003-2-28 21:48
darkbit 兄谢谢你的回答但是我所指的问题是在cimatron 里它可以将全圆在四象限上做分割(90 , 180, 270, 360) 可否再自行增加分割点ㄋ
作者: sirhc    时间: 2003-2-28 21:50
在Cimatron E 底下在那里可以对*.EXF做编译ㄋ
作者: darkbit    时间: 2003-2-28 23:02
sirhc wrote:
darkbit 兄谢谢你的回答但是我所指的问题是在cimatron 里它可以将全圆在四象限上做分割(90 , 180, 270, 360) 可否再自行增加分割点ㄋ

  
sirhc兄,我想是不可能。而且我认为任何一个POST编程系统都不会支持该功能,因为在理论上按你的想法只会使加工代码更冗长而不改变加工结果。
作者: sirhc    时间: 2003-2-28 23:11
感谢darkbit兄 之前圆(G01)的问题以经解决,不知你修改POST学了多久ㄋ…有遇过改不出来的问题吗?还有你说过的路径旋转及镜设功能有修改出来了吗?
作者: darkbit    时间: 2003-2-28 23:14
sirhc兄,上贴的话可能太武断了,考虑不周,仔细想了一下觉得可行,只是在算法上较复杂。
作者: darkbit    时间: 2003-3-1 00:12
sirhc wrote:
感谢darkbit兄 之前圆(G01)的问题以经解决,不知你修改POST学了多久ㄋ…有遇过改不出来的问题吗?还有你说过的路径旋转及镜设功能有修改出来了吗?

  
sirhc兄,你好!
我修改POST是自学的,大约3年吧。
我所处环境只有3轴的MILL,较简单,还没遇过改不出来的问题。
有路径旋转及镜像功能的POST我做出来了,还比较粗糙。CIMATRON的刀路旋转及镜像可以采用MOVE这功能,但它增加CIMATRON的开销,我的POST能补这个缺。现介绍一下:
该POST运行时会有如图的菜单,其中ROTATE和MIRROR为开关,若设Y,
则开关打开,右边相应的选项中输入相应的参数即可。
作者: sirhc    时间: 2003-3-1 06:25
  
谢谢darkbit兄  
  
请问你所谓的粗糙是指计算路径的算法吗还是它计算后精度上的差异?
作者: darkbit    时间: 2003-3-4 00:27
我所谓的粗糙是指刀路旋转不能任意角,只有90,180,270这三个角度,刀路的精度上没问题,我已在使用。
作者: sirhc    时间: 2003-3-4 08:33
谢谢darkbit兄
作者: lby    时间: 2005-9-15 11:51
darkbit 兄真乃绝顶高手!我2005年看到此帖,仍然长了很多见识!
作者: 平常心    时间: 2005-9-15 13:20
原来是个老贴,谢谢楼上的朋友顶上来
作者: riguang    时间: 2005-9-26 10:09
darkbit 兄
在MASTERCAM,powermill,UG可以设定R角是走点线(后处理出来只有X,Y)还是走圆角(后处理出来的是I,J,K),请问CIMATRON IT 13.0有没有这些功能?如果有如何设置?


或者说如何更改后处理使其在R角,输出为G01,不是G02,G03
请帮个忙将改好的后处理发到riguangcom@126.com
谢谢,
作者: NHYSL    时间: 2005-9-26 11:06
老贴 得新知,收益菲浅.谢谢!

我看cimatron最近怎么POST还是POST,没有新的话题,日落西山了么?
作者: greencabin    时间: 2005-9-26 15:04
请问各位老大cim13GPP后处理中如何把整圆分成两段输出(180分界)。现在的后处理文件输出后用小熊看整圆变成了半圆。调到系统里也是。只好在造型里把圆在180处打断,比较麻烦。不知道怎么在后处理里改,求助!!!!!
作者: aven1979    时间: 2005-11-22 10:10
真是名不虚传啊!
作者: hoogoo1    时间: 2005-11-24 23:19
太好了 谢了
作者: zhoulin96100193    时间: 2005-11-25 22:00
大家能说一下cimatron的wiredm线切割模块的后处理设置吗,怎么处理器只有一个demo阿
作者: 星球大战    时间: 2006-1-19 21:28
这么多好贴,今天才看看,真是相见恨晚。
作者: lijunlly    时间: 2006-2-22 11:09
标题: 老的晚了,但获益非浅,十分感谢!
老的晚了,但获益非浅,十分感谢!
作者: syh313    时间: 2006-2-28 08:29
ding
作者: ankang    时间: 2006-7-12 14:01
我顶
多谢大侠们的指点,小生这厢有礼了。
作者: fulode    时间: 2006-12-5 11:05
谢谢DARKIT先生的指教,我又看了一遍,每看一次都学了不少东西。只是,我对圆弧插补要分象限,从270到360度是时要用不同的算法,还是不太理解。
作者: fulode    时间: 2006-12-8 14:33
我用MC处理了一个,明白了,R只能走180度的,是这样子的吧?
作者: monkey1    时间: 2007-3-17 21:28
一楼的 兄弟啊 为什么我改了还是出现i j啊
作者: cnce    时间: 2008-9-10 19:34
看老贴受益非浅!顶上来让兄弟们看看!!
作者: wanghaojon    时间: 2008-9-10 20:25
不懂。也顶。。。。。。。。
作者: 41452030    时间: 2008-9-11 01:49
确实该学学
作者: nizhen6007    时间: 2009-3-12 16:02
可不可以修改一个侧铣头的后置处理出来呀。

三轴龙门加工中心上面用的。
作者: cechancao    时间: 2010-9-1 01:48
这么老的帖还在,佩服了开思论坛,,现在已经没有人讨论IT了,,,
还好能找到这种老帖
作者: cechancao    时间: 2010-9-1 16:20
下午又来顶一下,有精神
作者: jsxiayan    时间: 2015-12-4 19:55
PASCAL  
作者: ztt    时间: 2021-1-17 16:48
虽然看不懂,但感谢楼主的付出




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