找回密码
 注册
查看: 1367|回复: 16

[原创] creo优化行星齿轮优化升级关系式

[复制链接]
发表于 2016-4-24 17:39:32 | 显示全部楼层 |阅读模式
本帖最后由 西山住客 于 2016-4-25 21:49 编辑

/*计算行星轮和内齿圈参考值
/*Za为设定的太阳轮齿数
/*Zg1为优化参考行星齿轮齿数
/*Zb1为优化参考内齿圈齿数

I= ZB/ZA+1             /*速比
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)      /*取整


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)
endif


if 行星轮微调 == no
        if zb<zb11
        zg=zg11-1
        else
        zg=zg11
        endif
endif

xamin=hax:0-(ZD:0*(sin(ALPHA:0))^2)/2              /*太阳轮齿轮最小变位系数计算
if X:0 >= xamin
根切1 = "太阳轮齿轮不根切"
else
根切1 = "太齿轮根切"
endif


xgmin=hax:2-(ZD:2*(sin(ALPHA:2))^2)/2              /*行星齿轮最小变位系数计算
if X:2 >= xbmin
根切1 = "行星齿轮不根切"
else
根切1 = "行星齿轮根切"
endif



IF ZB==(i-1)*Za
        CDBTJ="传动比条件可行"
else
        CDBTJ="传动比条件不可行"
endif

if Zg==(Zb-Za)/2
        dxdtj="同心条件可行"
else
        dxdtj="同心条件不可行,采用角变位"
endif

ZAZB1=ZA+ZB
nn=FLOOR((Zazb1)/n,0)
nnn=Zazb1/n

if nn==nnn
        zptj="装配条件可行"
else
        zptj="装配条件不可行"
endif

IF 2*A*SIN(180/N)>da:2
        zbxltj = "满足相邻条件"
else
        zbxltj = "不满足相邻条件"
        n=n-1
endif

if za==zg
        xa=xx:0/2
endif


if n<=0
        n=10
endif

AZBZG=(Zb-Zg)*m/cos(beta)/2
APG=(AZBZG+A:0)/2
DATAI=ABS(I-II)/I*100

A=APG + DATAA


MN:0=M
MN:2=M
M:4=M


X:0=XA
X:2=X1:0
XG:4=X1:0


Z:0=ZA
Z1:0=ZG
Z:2=ZG
Z1:2=ZA
ZG:4=ZG
ZB:4=ZB

A1:0=A
A1:2=A
A:4=A


BETA:0=BETA
BETA:2=BETA
BETA:4=BETA

太阳轮滑动率=HDL1:0
行星轮滑动率=HDL2:0
滑动率差值=DATAHDL:0



CCC:0=CCC
CCC:2=-CCC
CCC:4=CCC:2

B:4=B
B:2=B
B:0=B

D0=A
P13=N

游客,如果您要查看本帖隐藏内容请回复

发表于 2016-4-26 20:29:31 | 显示全部楼层
http://bbs.chinade.cc/redirect. ... 698&fromuid=156

回复 支持 反对

使用道具 举报

发表于 2016-4-27 08:24:46 | 显示全部楼层
谢谢谢谢谢谢谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-5-8 22:50:50 | 显示全部楼层

creo优化行星齿轮优化升级关系式

2.gif

/* 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

回复 支持 反对

使用道具 举报

发表于 2016-5-10 13:55:54 | 显示全部楼层
进来学习一下
回复 支持 反对

使用道具 举报

发表于 2016-5-10 18:00:06 | 显示全部楼层
看看,有什么
回复 支持 反对

使用道具 举报

发表于 2016-5-22 20:49:42 | 显示全部楼层
点赞来了,西山辛苦了
回复 支持 反对

使用道具 举报

发表于 2016-6-14 20:33:30 | 显示全部楼层
这个真nb哦
回复 支持 反对

使用道具 举报

发表于 2016-8-14 20:43:45 | 显示全部楼层
齿轮白痴想大神学习了额
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

本站无意传播任何侵权软件与信息,部分资源为网友搜集或发布,仅供学习和研究使用,请支持正版。站内所发布的资源,如有侵犯你的权益,请联系我们,本站将立即改正或删除。

QQ|Archiver|手机版|小黑屋|联系我们|中华设计论坛 ( 苏ICP备20023187号-1

GMT+8, 2024-9-20 10:32

Powered by Discuz! X3.5

© 2006-2024 Daliang Team.

快速回复 返回顶部 返回列表