YMY2011 发表于 2013-2-23 11:48:34

Cimatron四轴后处理大全

Cimatron四轴后处理大全

链接:http://pan.baidu.com/s/1qX7ggTe

回复可见提取码:

**** Hidden Message *****

q455525463 发表于 2019-3-27 13:30:17

LINEAR MOTION: FAST:
      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 ;

      OUTPUT $ ;
      IF_SET (LIN_MOV)OUTPUT " " LIN_MOV   ; END_IF ;
      IF_SET (X_CURPOS) OUTPUT " X" X_CURPOS ; END_IF ;
      IF_SET (Y_CURPOS) OUTPUT " Y" Y_CURPOS ; END_IF ;
      IF_SET (Z_CURPOS) OUTPUT " Z" Z_CURPOS ; END_IF ;
      IF_SET (MCH_COOL) OUTPUT" " MCH_COOL ; END_IF ;
      SET_ON CIRC_MOV NURBS_MOV ;
      Xold = X_CURPOS ;
      Yold = Y_CURPOS ;
      Zold = Z_CURPOS ;

LINEAR MOTION:
      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 ;

      OUTPUT $ ;
      IF_SET (LIN_MOV)    OUTPUT " "LIN_MOV    ; END_IF ;
      IF_SET (CUTCOM_ON)OUTPUT " "CUTCOM_ON " D" CutterComp ; END_IF ;
      IF_SET (CUTCOM_OFF) OUTPUT " "CUTCOM_OFF ; END_IF ;
      IF_SET (X_CURPOS)   OUTPUT " X" X_CURPOS   ; END_IF ;
      IF_SET (Y_CURPOS)   OUTPUT " Y" Y_CURPOS   ; END_IF ;
      IF_SET (Z_CURPOS)   OUTPUT " Z" Z_CURPOS   ; END_IF ;
      IF_SET (MCH_FEED)   OUTPUT " F" MCH_FEED   ; END_IF ;
      IF_SET (MCH_COOL)   OUTPUT" " MCH_COOL   ; END_IF ;
      SET_ON CIRC_MOV NURBS_MOV;
      Xold = X_CURPOS ;
      Yold = Y_CURPOS ;
      Zold = Z_CURPOS ;

********************************************************
CIRCULAR MOTION:
      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 ;

      DXcenter = X_CENTER - Xold ;
      DYcenter = Y_CENTER - Yold ;
      DZcenter = Z_CENTER - Zold ;
      OUTPUT $ ;
      IF_SET (CIRC_MOV)          OUTPUT " " CIRC_MOV; END_IF ;
      IF_SET (X_CURPOS)          OUTPUT " X" X_ENDPT; END_IF ;
      IF_SET (Y_CURPOS)          OUTPUT " Y" Y_ENDPT; END_IF ;
      IF_SET (Z_CURPOS)          OUTPUT " Z" Z_ENDPT; END_IF ;
      IF_SET (DXcenter _NE_ 0.0) OUTPUT " I" DXcenter ; END_IF ;
      IF_SET (DYcenter _NE_ 0.0) OUTPUT " J" DYcenter ; END_IF ;
      IF_SET (DZcenter _NE_ 0.0) OUTPUT " K" DZcenter ; END_IF ;
      IF_SET (MCH_FEED)          OUTPUT " F" MCH_FEED ; END_IF ;
      IF_SET (MCH_COOL)          OUTPUT" " MCH_COOL ; END_IF ;
      SET_ON LIN_MOV NURBS_MOV ;
      Xold = X_CURPOS ;
      Yold = Y_CURPOS ;
      Zold = Z_CURPOS ;
******************************************************************
NURBS MOTION: START:
OUTPUT $ NURBS_MOV "P" NURBS_DEG ;
count = 0;
first = 1;
SET_ON MCH_FEED;
NURBS MOTION:
IF_SET (first _EQ_ 1)
OUTPUT "K" KNOT_ "X" CNTRL_X "Y" CNTRL_Y "Z" CNTRL_Z "F" MCH_FEED;
END_IF;
IF_SET (first _EQ_ 0)
OUTPUT $ "K" KNOT_ "X" CNTRL_X "Y" CNTRL_Y "Z" CNTRL_Z;
END_IF;
first = 0;
NURBS MOTION: END:
deg = NURBS_DEG ;
REPEAT
count = count + 1 ;
OUTPUT $ "K" KNOT_ ;
UNTIL (count _EQ_ deg) ;
SET_ON LIN_MOV CIRC_MOV MCH_FEED;
********************************************************
INSERT WITH:
      OUTPUT $ INS_STR ;

INSERT WITHOUT:
      OUTPUT\J INS_STR ;

MESSAGE:
      OUTPUT $ "( " MESS_STR " )";

********************************************************
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 ;
          ELSE
                        OUTPUT $ " Z" Zold ;
          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_ONLIN_MOV CIRC_MOV ;
      SET_OFF CYC_DEPTH CYC_CLEAR;
      Xold = X_CURPOS ;
      Yold = Y_CURPOS ;
      Zold = Z_CURPOS ;

CYCLE:
      Depth = Z_CURPOS - CYC_DEPTH ;
      Clear = Z_CURPOS + CYC_CLEAR ;
      OUTPUT $ ;
      IF_SET (CYC_RETR)   OUTPUT " "CYC_RETR   ; END_IF ;
      IF_SET (X_CURPOS)   OUTPUT " X" X_CURPOS   ; END_IF ;
      IF_SET (Y_CURPOS)   OUTPUT " Y" Y_CURPOS   ; END_IF ;
      IF_SET (Depth)      OUTPUT " Z" Depth      ; END_IF ;
      IF_SET (Clear)      OUTPUT " R" Clear      ; END_IF ;
      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 ;
      IF_SET (SPIN_SPEED) OUTPUT " S" SPIN_SPEED ; END_IF ;
      IF_SET (SPIN_DIR)   OUTPUT " "SPIN_DIR   ; END_IF ;
      IF_SET (MCH_FEED)   OUTPUT " F" MCH_FEED   ; END_IF ;
      IF_SET (MCH_COOL)   OUTPUT " "MCH_COOL   ; END_IF ;
      SET_ONLIN_MOV CIRC_MOV ;
      SET_OFF CYC_DEPTH CYC_CLEAR;
      Xold = X_CURPOS ;
      Yold = Y_CURPOS ;
      Zold = Z_CURPOS ;

CYCLE: OFF:
      OUTPUT $ " G80 Z" Zinit ;
      SET_ONLIN_MOV CIRC_MOV ;
      Zold = Zinit ;

********************************************************
ORIGIN CHANGE:

*-----Save the first origin data for later use
   IF_SET (FirstOriginChange _EQ_ YES )
         XfirstOrigin      = X_ORIGIN;
         YfirstOrigin      = Y_ORIGIN;
         ZfirstOrigin      = Z_ORIGIN;
         FirstOriginChange = NO      ;
   END_IF ;

*.....distance between the rotation center and the ORIGIN
      TRANS_MATX = X_ORIGIN - XfirstOrigin - X_MACH;
      TRANS_MATY = Y_ORIGIN - YfirstOrigin - Y_MACH;
      TRANS_MATZ = Z_ORIGIN - ZfirstOrigin - Z_MACH;
*      SET_OFF CIR_INTERP ;    (去除 * 号则不输出G02、G03)
*.....check for change in orientation ( 4,5 axis positioining )
    FlagError= NO ;
    Flagrotmac = no ;

   IF_SET ( I_ORIGIN _NE_ ORIGOLDI ) FLAGROTMAC = YES ; END_IF ;
   IF_SET ( J_ORIGIN _NE_ ORIGOLDJ ) FLAGROTMAC = YES ; END_IF ;
   IF_SET ( K_ORIGIN _NE_ ORIGOLDK ) FLAGROTMAC = YES ; END_IF ;

   IF_SET ( FLAGROTMAC _EQ_ YES )   FlagError= YES ; END_IF ;

   IF_SET (FlagError _EQ_ YES)
       PRINT\J "Error: ucs rotation was found in:" ;
       PRINT\J "       TP=" TP_NAME " PROC=" PROC_NUM " (" PROC_NAME ")" ;
       PRINT\J "Error: Cannot post ucs rotaion toolpaths" ;
       OUTPUT \J " M00 (Error: ucs rotation was found)" ;
       OUTPUT \J " M00 (TP=" TP_NAME " PROC=" PROC_NUM " - " PROC_NAME ")" ;
   END_IF ;

   ORIGOLDI = I_ORIGIN ;
   ORIGOLDJ = J_ORIGIN ;
   ORIGOLDK = K_ORIGIN ;

********************************************************
AXISCHANGE:
    FlagError= NO ;
    IF_SET (AXIS_NUM_GT_ 3)         FlagError = YES ; END_IF ;

    IF_SET (FlagError _EQ_ YES)
       PRINT\J "Error: 4/5 axes motion was found in:" ;
       PRINT\J "       TP=" TP_NAME " PROC=" PROC_NUM " (" PROC_NAME ")" ;
       PRINT\J "Error: Cannot post 5 axes toolpaths" ;
       OUTPUT \J " M00 (Error: 4/5 axes motion was found)" ;
       OUTPUT \J " M00 (TP=" TP_NAME " PROC=" PROC_NUM " - " PROC_NAME ")" ;

    END_IF ;

********************************************************
SUBROUTINE CALL:
      CurrSubNum = SUB_NUMBER + StartSubNum ;
      OUTPUT $ " M98 P" CurrSubNum;

BEGINNING OF SUB:
      SET_ONMCH_FEED MCH_COOL LIN_MOV CIRC_MOV ;
      FlagSub = YES ;
      OUTPUT \J " " ;
      IF_SET (FlagSeq _EQ_ YES)
         OUTPUT \J "O" CurrSubNum ;
      ELSE
         OUTPUT \J " O" CurrSubNum ;
      END_IF ;

END OF SUB:
      OUTPUT $" M99" ;
      FlagSub = NO ;

SUBROUTINE RETURN:
      SET_ON LIN_MOV CIRC_MOV X_CURPOS Y_CURPOS Z_CURPOS;

LIWENYOU 发表于 2013-12-31 16:48:29

UG 论坛
ProE论坛
SolidWK
Caxa论坛
设计论坛
数控论坛
优胜专栏
UG 外挂
模具培训
快速发帖
PM 论坛
Catia论坛
CimatrE
MastCAM
五金论坛
机械论坛
鞋模论坛
PM 外挂
发布招聘
发帖求助
       
帖子
搜索       
热搜: NX8.0胡波进玉优胜杨成洛克凌超杨师傅郭冲展陈老师龚老师史老师
模具资料网›论坛›Cimatron论坛›CimatronE 外桂&后处理›Cimatron四轴后处理大全› 参与/回复主题
RE: Cimatron四轴后处理大全 [修改]
Undo
Redo全屏常用
纯文本
字体大小 Hr
B I U Color BgColor Url Unlink
Table
Removeformat
AutotypesetLeftCenterRight

jqx007 发表于 2018-8-15 18:23:41

控论坛
优胜专栏
UG 外挂
模具培训
快速发帖
PM 论坛
Catia论坛
CimatrE
MastCAM
五金论坛
机械论坛
鞋模论坛
PM 外挂
发布招聘
发帖求助
      
帖子
搜索      
热搜: NX8.0胡波进玉优胜杨成洛克凌超杨师傅郭冲展陈老师龚老师史老师
模具资料网›论坛›Cimatron论坛›CimatronE 外桂&后处理›Cimatron四轴后处理大全› 参与/回复主题
RE: Cimatron四轴后处理大全 [修改]
Undo
Redo全屏常用
纯文本
字体大小 Hr
B I U Color BgColor Url Unlink
Table
Removeformat
AutotypesetLeftCenterRight

笑看风云1 发表于 2013-2-23 13:43:39

好啊
谢谢

scrollex 发表于 2013-2-23 14:27:53

Cimatron的四轴后处理比较少。

420116 发表于 2013-2-23 14:28:59

:victory:看看是什么机床

依依呀呀 发表于 2013-2-23 15:41:57

:):victory:

540900910 发表于 2013-2-23 18:36:58

aaaaaaaaaaaaaaaaaaaaa

兔兔 发表于 2013-2-25 13:10:29

Cimatron的四轴好东西

caige123888 发表于 2013-2-27 20:57:11

看看是什么机床

bsxh 发表于 2013-3-2 19:25:19

cimatron_4轴后处理下来玩玩。

吃心人 发表于 2013-3-3 12:36:03

急求   谢谢
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: Cimatron四轴后处理大全