|
楼主 |
发表于 2016-5-8 22:50:50
|
显示全部楼层
creo优化行星齿轮优化升级关系式
/* 1、参考行星齿轮和内齿圈计算
/*II初定速比输入
/*Za为设定的太阳轮齿数输入
/*Zg1为优化参考行星齿轮齿数
/*Zb1为优化参考内齿圈齿数
solve
Za+Zg1=Zb1-Zg1 /*同心度条件方程
ZB1=(ii-1)*Za /*速比方程
ceil((Za+Zb1)*cos(beta)/n,0) = (Za+Zb1)*cos(beta)/n /*装配条件
for Zg1,ZB1 /*参考行星轮和内齿圈齿数计算值
zg11=floor(zg1) /*取整
zb11=floor(zb1) /*取整
/* 2、内齿圈微调判断
if 内齿圈微调 == no /*设定是否微调内齿圈齿数
zab=za+zb11
modn=mod(zab,n) /*按照装配条件取余
if modn !=0
if modn >=2
zb=zb11+(n-modn)
zab=za+zb
modn=mod(zab,n)
else
if modn ==1
zb=zb11-modn
zab=za+zb
modn=mod(zab,n)
endif
endif
else
zb=zb11
endif
else
zab=za+zb
modn=mod(zab,n)
if modn !=0
if modn >=2
zb=zb+(n-modn)
zab=za+zb
modn=mod(zab,n)
else
if modn ==1
zb=zb11-modn
zab=za+zb
modn=mod(zab,n)
endif
endif
endif
endif
/* 3、行星齿轮微调判断
if 行星轮微调 == no
if zb<zb11
zg=zg11-1
else
zg=zg11
endif
endif
/* 4、根切优化
if 根切优化==yes
if xa<xamin /* xa太阳轮变位系数;xamin太阳最小变位系数
xa= xa + dataxa /* dataxa 太阳轮变位系数增量初始值
endif
if XG:0<xgmin /* 行星轮变位系数
DATAA=DATAA+0.01 /*如果太阳轮和行星轮之间的变位系数和不能满足XG:2<XGMIN,需要增加中心距
ENDIF
endif
/* 5、按给定中心距优化
if 定中心距==yes /*开启定中心距优化
滑动率目标优化=no /*关闭按滑动率给你目标值优化程序
滑动率优化=no /*关闭按滑动率优化程序
根切优化=yes /*为了防止齿轮有根切现象,首先要开启根切优化程序
IF HDL1:4>HDL1:6
XA=XA+DATAXA
ENDIF
IF HDL1:4<HDL1:6
XA=XA-DATAXA
endif
IF HDL1:4==HDL1:6
XA=XA-0.0
endif
endif
/* 6、滑动率优化
if 滑动率优化==yes
根切优化=yes
if XG:0>=xgmin & xa>=xamin
IF HDL1:4>HDL1:6
XA=XA+DATAXA
ENDIF
IF HDL1:4<HDL1:6
XA=XA-DATAXA
endif
IF HDL1:4==HDL1:6
XA=XA-0.0
endif
IF HDL1:4>HDL1:6
DATAA=DATAA-DATAAA
ENDIF
IF HDL1:4<HDL1:6
DATAA=DATAA+DATAAA
ENDIF
IF HDL1:4<HDL1:6
DATAA==DATAA-0.0
ENDIF
endif
endif
/* 7、滑动率目标优化:按给定的滑动率值做为目标,优化齿轮
if 滑动率目标优化==yes
滑动率优化=yes
if HDL1:4>滑动率目标值 & HDL1:6>滑动率目标值
DATAA=DATAA+DATAAA
endif
if HDL1:4<滑动率目标值 & HDL1:6<滑动率目标值
DATAA=DATAA-DATAAA
endif
if HDL1:4==滑动率目标值 & HDL1:6==滑动率目标值
DATAA=DATAA-0.00
endif
ENDIF
/* 8、设定优化目标达到锁定
if 滑动率差值<=滑动率差值目标
定中心距 = no
滑动率优化=no
endif
/* 9 细节优化:设定滑动系数合理值
/* if 细节优化==yes
/* 滑动率目标优化=yes
/* endif
/* 10、给设计中心距赋值
A=APG + DATAA
/*11、判断齿轮根切状况
xamin=hax:4-(ZD:4*(sin(ALPHA:4))^2)/2 /*太阳轮齿轮最小变位系数计算
if X:4 >= xamin
根切1 = "太阳轮齿轮不根切"
else
根切1 = "太阳齿轮根切"
endif
xgmin=hax:6-(ZD:6*(sin(ALPHA:6))^2)/2 /*行星齿轮最小变位系数计算
if X:6 >= xbmin
根切1 = "行星齿轮不根切"
else
根切1 = "行星齿轮根切"
endif
/* 12、传动比条件判断
I= ZB/ZA+1 /*速比
IF ZB==(i-1)*Za
CDBTJ="传动比条件可行"
else
CDBTJ="传动比条件不可行"
endif
if Zg==(Zb-Za)/2
dxdtj="同心条件可行"
else
dxdtj="同心条件不可行,采用角变位"
endif
/* 13、装配条件判断及优化
if modn==0
zptj="装配条件可行"
else
zptj="装配条件不可行"
if zb > zb11
zb = zb-1
endif
if zb<zb11
zb=zb+1
endif
endif
/*14、相邻条件
IF 2*A*SIN(180/N)>da:6
zbxltj = "满足相邻条件"
else
zbxltj = "不满足相邻条件"
n=n-1
endif
/* za==zg变位系数分配
if za==zg
xa=xx:4/2
endif
/* 15、防止行星齿轮数量为负值问题出现
if n<=0
n=10
endif
/* 16、用到的一些参数
Azbzg=(Zb-Zg)*m/cos(beta)/2 /* 行星轮和内齿圈理论中心距
Azazg=(ZA+ZG)*M/COS(BETA)/2 /* 太阳轮和行星轮理论中心距
Apg=(AZBZG+AZAZG)/2 /* 理论中心距平均值
DATAI=ABS(I-II)/I*100 /* 速比误差率
太阳轮滑动率=HDL1:4
行星轮滑动率=HDL2:4
滑动率差值=abs(太阳轮滑动率-行星轮滑动率)
/* 16、传递设计参数值
MN:4=M
MN:6=M
M:0=M
X:4=XA
X:6=X1:4
XG:0=X1:4
Z:4=ZA
Z1:4=ZG
Z:6=ZG
Z1:6=ZA
ZG:0=ZG
ZB:0=ZB
A1:4=A
A1:6=A
A:0=A
BETA:4=BETA
BETA:6=BETA
BETA:0=BETA
CCC:4=CCC
CCC:6=-CCC
CCC:0=-CCC
B:0=B
B:6=B
B:4=B
p27:2=n
d17:2=A*2
|
|