Cimatron 后置处理技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cimatron 后置处理技术
* DEMO 3 axes Post Processor for FANUC *表示为注释文本,将不起作用
* CIMATRON90 VER 9.0
* Last update : 23-FEB-1998
********************************************************
* define private variables: *定义后置处理中需要用到的变量类型,通常不修改FORMAT (SEQUENCING) Seq SubSeq CNTRL_NUM NURBS_DEG count first deg ;
FORMAT (TOOL) CutterComp FirstTool LastTool ;
FORMAT (COORDINATES) Xold Yold Zold DXcenter DYcenter DZcenter ; FORMAT (COORDINATES) Zinit Clear Depth CNTRL_X CNTRL_Y CNTRL_Z KNOT_ ;
FORMAT (COORDINATES) Xhome Yhome Zhome ;
FORMAT (COORDINATES) XfirstOrigin YfirstOrigin ZfirstOrigin ;
FORMAT (USER_1) CurrSubNum ;
FORMAT (coordinates) ORIGOLDI ORIGOLDJ ORIGOLDK ;
* define private flags:
FORMAT (USER_2) FlagSub FlagSeq FlagSpin;
FORMAT (USER_2) FirstOriginChange FlagError Flagrotmac ;
* define private constants:
FORMAT (USER_2) YES NO ;
* change the format of existing variables:
FORMAT (USER_1) SUB_NUMBER ;
******************************************************** INTERACTION (USER_1) "MAIN-PROGRAM-NUMBER" MainNum = 100 ;
INTERACTION (TOOL) "DIACOMP=TOOL+
INTERACTION (USER_1) "TOOL-CHANGE-PROGRAM" ChangeTool = 8000 ;
INTERACTION (CHARACTER) "SEQUENCING
INTERACTION (SEQUENCING) "SEQUENC-START" SeqStart = 10 ;
INTERACTION (SEQUENCING) "SEQUENC-INCR." SeqIncr = 10 ;
INTERACTION (CHARACTER) "SUBROUTINES
INTERACTION (USER_1) "SUB-PROGRAM-NUMBER" StartSubNum = 1000 ;
* INTERACTION 为交互内容,可以输入,即在后置处理对话框中出现的内容可以试着将里面的文字变为中文
********************************************************
NON_MODAL ALL_V AR; * MODAL定义变量是否为模态,像X_CURPOS这
种坐标位置当然是随时都在变化的
MODAL X_CURPOS Y_CURPOS Z_CURPOS ;
MODAL LIN_MOV CIRC_MOV MCH_FEED SPIN_SPEED SPIN_DIR MCH_COOL MCH_DWELL;
MODAL CUTCOM_ON CUTCOM_OFF ;
MODAL CYC_DEPTH CYC_PECK CYC_DWELL CYC_RETR CYC_CLEAR Depth Clear NURBS_MOV;
IDENTICAL X_CURPOS X_ENDPT ;
IDENTICAL Y_CURPOS Y_ENDPT ;
*每输出一行程序之前,调用一个新的值,即保持侦测状态
******* *************************************************
NEW_LINE_IS $ ; * $ 为换行指令,这一段内容制定程序是如何换行的IF_SET (FlagSeq _EQ_ NO) $使用IF….ELSE 语句判断,OUTPUT表示输出
OUTPUT \J ;
ELSE
IF_SET (FlagSub _EQ_ NO)
OUTPUT \J "N" Seq ;
Seq = Seq + SeqIncr ;
ELSE
OUTPUT \J "N" SubSeq ;
SubSeq = SubSeq + SeqIncr ;
END_IF ;
END_IF ;
******************************************************** BEGINNING OF TAPE: 程序头的指定
YES = 1 ;
NO = 0 ;
Seq = SeqStart ;
FlagSeq = NO ;
FlagSub = NO ;
IF_SET (NumYN _EQ_ "y") FlagSeq = YES ; END_IF ;
IF_SET (NumYN _EQ_ "Y") FlagSeq = YES ; END_IF ;
IF_SET (Sub _EQ_ "y") Sub = "Y" ; END_IF ;