本人自己编写的APDL语言进行齿轮建模,欢迎大家指正。
!第一步 初始化ansys环境
finish
/CLEAR
/BATCH
/TITLE,The Process of creating Gear Parametric Modeling
!第二步 定义几何尺寸参数
!MULTIPRO,'START',5 !通过多参数输入对话框进行赋值
!*cset,1,3,z,'Number of teeth;',52 !齿数
!*cset,4,6,m,'Model number(mm);',5 !模数
!*cset,7,9,b,'Tooth width(mm);',15 !齿宽
!*cset,10,12,ha,'Addendum coefficient(mm);',1 !齿顶高系数
!*cset,13,15,c,'Headspace coefficient(mm);',0.25 !顶隙系数
!MULTIPRO,'end'
!*IF,_BUTTON,EQ,1,THEN
!/EOF
!*ENDIF
z=52
m=5
b=15
ha=1
c=0.25
ang=360/z !每齿的圆心角
rf=(z-2*ha-2*c)*m/2 !齿根圆半径
ra=(z+2*ha)*m/2 !齿顶圆半径
r1=m*c !齿根圆倒角半径
rb=m*z*cos(3.14159/9)/2
inva=0.014904 !渐开线函数值
*AFUN,RAD
pi=Acos(-1)
*DIM,X,,22 !定义两个数组用来定义生成的点
*DIM,Y,,22
af=Acos(rb/rf)
invaf=tan(af)-af
Gamaf=pi/(2*z)-(invaf-inva) !计算齿根圆齿厚对应的圆心角
x(1)=rf*cos(Gamaf) !计算齿根圆坐标值
y(1)=rf*sin(Gamaf)
*DO,i,1,11
!ri=rf+r1+i-1
ri= rf+r1+(ra-(rf+r1))*(i-1)/10
i=i+1
ai=Acos(rb/ri) !计算任意圆对应的压力角
invai=tan(ai)-ai
Gamai=pi/(2*z)-(invai-inva) !任意圆对应齿厚圆心角
x(i)=ri*cos(Gamai)
y(i)=ri*sin(Gamai)
*ENDDO
!第三步 利用参数创建几何模型
/PREP7
*DO,i,1,12 !生成渐开线齿廓上的关键点
K,i,x(i),y(i)
*ENDDO
K,13,ra,0 !生成齿顶圆上的关键点
BSPLN,12,13 !连线生成齿顶圆
BSPLN,12,11,10,9,8,7 !样条拟合生成齿廓
BSPLN,7,6,5,4,3,2
BSPLN,2,1
LCOMB,2,3,0
LCOMB,2,4,0 !由几段样条生成一条齿廓
CYL4,,,108.75,0,rf,ang/2 !生成一个圆环
ADELE,1 !删除生成的圆环面
LDELE,3 !删除一条与齿廓相连的线
LSTR,7,1
LSTR,2,13
LFILLT,2,3,r1,, !对齿根圆进行倒角
AL,ALL !形成一个齿形面
!下面对生成的网格和面通过镜像复制方式
WPCSYS,-1,0 !工作平面恢复到总体坐标系的原点
CSYS,4 !激活当前坐标系为工作平面坐标系
ARSYM,Y,ALL,,,,0,0
CSYS,1 !激活当前坐标系为柱坐标系
CM,GEAR1,AREA !创建面组:包含齿形面
AGEN,52,GEAR1,,,,ANG,,,0 !绕Y轴旋转复制生成3个齿形面
AADD,ALL !所有面相加
!下面对生成的三个齿形面进行拉伸
WPCSYS,-1,0 !工作平面恢复到总体坐标系的原点
CSYS,4
CM,GEAR2,AREA !创建面组:包含所有创建的面
VEXT,GEAR2,,,0,0,b,, !拉伸面组,生成实体
/VIEW,1,1,1,-1 !改变视角
!第四步 划分单元网格模型
ET,1,SOLID186 !定义单元类型
MSHAPE,1,3d !指定为3D结构
CM,VGEAR,VOLU !创建实体组:包含所有创建的实体
VMESH,VGEAR
SAVE