发布于 2007-03-11 13:23:51
0楼
%_N_CYCLE97_SPF
;$PATH=/_N_CST_DIR
PROC CYCLE97(REAL PIT,REAL MPIT,REAL SPL,REAL FPL,REAL DM1,REAL DM2,REAL APP,REAL ROP,REAL TDEP,REAL FAL,REAL IANG,REAL NSP,INT NRC,INT NID,INT VARI,INT NUMTH,REAL _VRT) SAVE DISPLOF
;VERSION: 06.03.10 Feb 05, 2003
;CHANGE : 06.03.09 Jan 21, 2003
;Gewindeschneiden
DEF AXIS _ZA,_SA
DEF INT IA,LP=1,RF=1,WI=90,II,JJ,KK,ZF=1,_NRCI,_INCHFAK,PLAN=1,_ZAF=1,_SAF=1
DEF REAL SAB=1,PP,SPV,DEL,TW1,TW2,RZP,SPS,SPZ,EPZ,EPX,HH1,HH2,HH3,HH4,_ZKOR,_ZANF,_HC1
DEF REAL _KSDIFF[2]
DEF REAL _ANGPLUS=0
DEF INT _ALF,_AXZAHL=4, _AKTLFON, _SPIZAHL=4
IF _VRT<=0
IF ($P_GG[13]==2) OR ($P_GG[13]==4)
SAB=1
ELSE
SAB=1/$MN_SCALING_VALUE_INCH
ENDIF
ELSE
SAB=_VRT
ENDIF
_AKTLFON=(VARI/10) MOD 10
IF(_AKTLFON>1) GOTOF FEHL2
VARI=VARI MOD 10
_MA1:_ZA=$P_AXN2 _SA=$P_AXN1 _INCHFAK=$P_GG[13] IA=VARI MOD 2 PP=PIT TW2=TAN(ABS(IANG)) _NRCI=NRC _ZKOR=FAL*TW2 DM1=DM1/2 DM2=DM2/2
_INCHFAK=_INCHFAK MOD 2
IF $P_GG[29]>=2
PLAN=2
DIAMON
ENDIF
IF _INCHFAK==1
ENDIF
IF (VARI<1)OR(VARI>4) GOTOF FEHL2 IF IA==1 GOTOF _MB1
IA=-1
_MB1:HH2=FPL-SPL
IF HH2==0 GOTOF _MC1
N710 TW1=(DM2-DM1)/HH2 WI=0
IF ABS(TW1)<=1 GOTOF _MD1
N720 _MC1:LP=0 HH2=DM2-DM1 TW1=(FPL-SPL)/HH2 _ZA=$P_AXN1 _SA=$P_AXN2
_MD1:
IF _ZA==AXNAME($MC_DIAMETER_AX_DEF)
_ZAF=PLAN
ENDIF
IF _SA==AXNAME($MC_DIAMETER_AX_DEF)
_SAF=PLAN
ENDIF
IF ABS(TW1)<0.00001 GOTOF _MY10
IANG=ABS(IANG)
N730 _MY10:RF=HH2/ABS(HH2) IA=IA/$P_ACTFRAME[_ZA,SC] SAB=SAB/$P_ACTFRAME[_ZA,SC]
IF NUMTH GOTOF _ML1
NUMTH=1
_ML1:IF MPIT==0 GOTOF _MM1 IF (MPIT<3)OR(MPIT>60) GOTOF FEHL1
N1 STEIGUNG(PP,MPIT)
IF (PP<>PIT)AND(PIT<>0) GOTOF FEHL1
_MM1:IF (NRC<>0)OR(NID<>0) GOTOF _MA2
NRC=1 _NRCI=1
_MA2:IF LP==0 GOTOF _MG2
SPS=SPL-RF*APP SPZ=DM1+IA*SAB-TW1*RF*APP EPZ=FPL+RF*ROP EPX=DM2+IA*SAB+TW1*RF*ROP RZP=EPX HH3=EPZ
GOTOF _MA3
_MG2:SPS=DM1-RF*APP EPX=DM2+RF*ROP
IF WI GOTOF _MP2
SPZ=SPL+IA*SAB-RF*TW1*APP EPZ=FPL+IA*SAB+RF*TW1*ROP
GOTOF _MQ2
_MP2:SPZ=SPL+IA EPZ=FPL+IA
_MQ2:RZP=EPZ HH3=EPX
_MA3:IF NRC<>0 GOTOF _MC3
_NRCI=1
N740 _MC3:_ZANF=SPS _HC1=ABS((TDEP-FAL)/SQRT(_NRCI)*TW2) II=NRC JJ=-RF
IF IANG==0 GOTOF _MA4 IF IANG>0 GOTOF _MA4 IF VARI<3 GOTOF _MA4 IF _NRCI==1 GOTOF _MA4
N750 _MB3:HH1=(SQRT(II)-SQRT(II-1))*_HC1 II=II-1 _ZANF=_ZANF+JJ*HH1 JJ=-JJ
IF II>1 GOTOB _MB3
_MA4:
IF $P_SIM GOTOF _M5304
IF ($AN_NCK_VERSION >= 201000)
IF $P_NUM_SPINDLES<_SPIZAHL
_SPIZAHL=$P_NUM_SPINDLES
ENDIF
ENDIF
KK=0 _C97_NR[0]=REP(0) _C97_AXNAM[0]=REP("")
_AXZAHL=$ON_NUM_AXES_IN_SYSTEM-1
SBLOF
FOR II=0 TO _AXZAHL
JJ=$MC_AXCONF_MACHAX_USED[II]
IF JJ<>0
IF $MA_SPIND_ASSIGN_TO_MACHAX[AXNAME("AX"<0
_C97_NR[KK]=$MA_SPIND_ASSIGN_TO_MACHAX[AXNAME("AX"<_C97_AXNAM[KK]=$MC_AXCONF_CHANAX_NAME_TAB[II] KK=KK+1
IF (KK>_SPIZAHL)
GOTOF _END_SPISUCH
ENDIF
ENDIF
ENDIF
ENDFOR
_END_SPISUCH:_C97_NR[10]=$P_MSNUM
SBLON
IF _C97[3]==1
IF ($P_ACTFRAME[_SA,RT]<>0) OR ($P_ACTFRAME[_ZA,RT]<>0) OR (NOT($AC_TRAFO==0))
GOTOF _FEHL3
ENDIF
_KSDIFF[0]=$AA_IM[_ZA]-$AA_IW[_ZA] _KSDIFF[1]=$AA_IM[_SA]-$AA_IW[_SA]
IF _INCHFAK==1
_KSDIFF[0]=_KSDIFF[0]/$MN_SCALING_VALUE_INCH _KSDIFF[1]=_KSDIFF[1]/$MN_SCALING_VALUE_INCH
ENDIF
IF LP
HH1=_C97[1]-SPS-_KSDIFF[LP]
ELSE
HH1=_C97[2]-SPS-_KSDIFF[1-LP]
ENDIF
IF $AA_S[$P_MSNUM]>0
HH1=-HH1
ENDIF
_ANGPLUS=_ANGPLUS+_C97[0]-((HH1/PP)-TRUNC(HH1/PP))*360
_M5301:IF(_ANGPLUS<360)GOTOF _M5302
_ANGPLUS=_ANGPLUS-360
GOTOB _M5301
_M5302:IF(_ANGPLUS>=0)GOTOF _M5303
_ANGPLUS=_ANGPLUS+360
GOTOB _M5302
_M5303:
ENDIF
_M5304:
IF(LP==1)
IF(IA==1)
_ALF=3
ELSE
_ALF=7
ENDIF
ELSE
IF(IA==1)
_ALF=1
ELSE
_ALF=5
ENDIF
ENDIF
II=0
_MB4:HH1=ABS(TDEP-FAL)/_NRCI
IF VARI<3 GOTOF _MC4
N760 HH1=HH1*_NRCI/SQRT(_NRCI)
IF (NRC MOD 2)==0 GOTOF _MC4 IF IANG>=0 GOTOF _MC4
ZF=-1
_MC4:SPV=NSP+360/NUMTH*II JJ=1 HH2=0
SBLOF
IF(_AKTLFON==1)
$AC_LIFTFAST=0
ENDIF
SBLON
N770 _MD4:
DEL=HH1*SQRT(JJ)
IF NRC==0 GOTOF _MJ4 IF VARI>2 GOTOF _ME4
DEL=HH1*JJ
_ME4:HH4=-IA*(SAB+DEL)
IF IANG==0 GOTOF _MF4 IF IANG<0 GOTOF _MP4
HH2=-RF*ZF*((TDEP-DEL)*TW2-_ZKOR)
GOTOF _MF4
_MP4:IF VARI<3 GOTOF _MQ4 IF JJ==1 GOTOF _MF4
N780 _ZANF=_ZANF+HH2 HH2=-RF*ZF*(SQRT(JJ)-SQRT(JJ-1))*_HC1
GOTOF _MF4
_MQ4:HH2=-RF*((NRC-JJ) MOD 2)*TW2*ABS(TDEP-FAL)/NRC
N40 _MF4:G0 G90 G60 AX[_SA]=(_ZANF+HH2)*_SAF AX[_ZA]=SPZ*_ZAF
IF(_AKTLFON==1)
IF($P_LIFTFAST==0)
GOTOF _XWEIT
ELSE
SBLOF
MSG("$80723")
SBLON
M0
STOPRE
SBLOF
MSG("")
SBLON
ENDIF
ENDIF
_XWEIT:
IF(_AKTLFON==1)
SBLOF
$AC_LIFTFAST=0
SBLON
ENDIF
IF IANG>0 GOTOF _MG4
ZF=-ZF
N41 _MG4:G91 AX[_ZA]=HH4*_ZAF
IF(_AKTLFON==1)
N42 G33 G90 AX[_SA]=HH3*_SAF AX[_ZA]=(RZP+HH4)*_ZAF IP[_SA]=PP SF=SPV+_ANGPLUS LFON DILF=ABS(HH4) LFWP ALF=_ALF
LFOF G33
IF $P_LIFTFAST
MSG("$80653")
STOPRE
GOTOF _M5311
ENDIF
ELSE
N42 G33 G90 AX[_SA]=HH3*_SAF AX[_ZA]=(RZP+HH4)*_ZAF IP[_SA]=PP SF=SPV+_ANGPLUS
N43 G0
ENDIF
N43 _M5311: G64
IF (_AKTLFON==0)
N44 G0 G64 G90 AX[_ZA]=RZP*_ZAF
JJ=JJ+1
ELSE
IF ($P_LIFTFAST==0)
N44 G0 G64 G90 AX[_ZA]=RZP*_ZAF
GOTOF _M531A
ELSE
GOTOB _MD4
ENDIF
ENDIF
_M531A:
IF (_AKTLFON==1)
STOPRE
IF ($AC_LIFTFAST==0)
N44 G0 G64 G90 AX[_ZA]=RZP*_ZAF
JJ=JJ+1
ELSE
GOTOB _MD4
ENDIF
ENDIF
IF JJ<=NRC GOTOB _MD4 IF (NID==0)AND(FAL==0) GOTOF _MMP4
_MJ4:JJ=0 HH4=RZP-IA*(SAB+TDEP)
_M5310:
IF LP==1 GOTOF _MMJ4
HH4=EPZ-IA*(SAB+TDEP)
N50 _MMJ4:G0 G90 G60 AX[_SA]=SPS*_SAF AX[_ZA]=SPZ*_ZAF
IF(_AKTLFON==1)
IF($P_LIFTFAST==0)
GOTOF _XWEITS
ELSE
SBLOF
MSG("$80723")
SBLON
M0
STOPRE
SBLOF
MSG("")
SBLON
ENDIF
ENDIF
_XWEITS:
IF(_AKTLFON==1)
SBLOF
$AC_LIFTFAST=0
SBLON
ENDIF
N51 G91 AX[_ZA]=(-IA*(SAB+TDEP))*_ZAF
IF(_AKTLFON==1)
N52 G33 G90 AX[_SA]=HH3*_SAF AX[_ZA]=HH4*_ZAF IP[_SA]=PP SF=SPV+_ANGPLUS LFON DILF=ABS(SAB+TDEP) LFWP ALF=_ALF
LFOF G33
IF $P_LIFTFAST
MSG("$80653")
STOPRE
GOTOF _M5312
ENDIF
ELSE
N52 G33 G90 AX[_SA]=HH3*_SAF AX[_ZA]=HH4*_ZAF IP[_SA]=PP SF=SPV+_ANGPLUS
N53 G0
ENDIF
N53 _M5312: G0
IF (_AKTLFON==0)
N54 G0 G64 G90 AX[_ZA]=RZP*_ZAF
JJ=JJ+1
ELSE
IF ($P_LIFTFAST==0)
N54 G0 G64 G90 AX[_ZA]=RZP*_ZAF
GOTOF _M531B
ELSE
GOTOB _M5310
ENDIF
ENDIF
_M531B:
IF (_AKTLFON==1)
STOPRE
IF ($AC_LIFTFAST==0)
N54 G0 G64 G90 AX[_ZA]=RZP*_ZAF
JJ=JJ+1
ELSE
GOTOB _M5310
ENDIF
ENDIF
IF ((JJ<=NID) AND (FAL<>0)) GOTOB _MMJ4
IF ((JJ_MMP4:II=II+1
IF (IIN60 G0 G90 G60 AX[_SA]=SPS*_SAF AX[_ZA]=SPZ*_ZAF
MSG("")
RET
FEHL1:STOPRE
SETAL(61001)
RET
FEHL2:STOPRE
SETAL(61002)
RET
_FEHL3:STOPRE
SETAL(61612)
RET
GOOD GOOD STUDY, DAY DAY UP! :)