Cimatron四轴后处理大全
Cimatron四轴后处理大全链接:http://pan.baidu.com/s/1qX7ggTe
回复可见提取码:
**** Hidden Message ***** 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; 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 控论坛
优胜专栏
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 好啊
谢谢
Cimatron的四轴后处理比较少。 :victory:看看是什么机床 :):victory: aaaaaaaaaaaaaaaaaaaaa Cimatron的四轴好东西 看看是什么机床
cimatron_4轴后处理下来玩玩。 急求 谢谢