问题描述
根据给出的模数m 齿数z 厚度b 使用C语言生成AutoCAD Script脚本绘制出齿轮图形
注意事项
- 本脚本中除参数需要用实际数值代替掉以外格式不允许发生任何改动(空格也不行),否则大概率会造成无法运行。
- 在AutoCAD中使用SCRIPT时需要关闭动态输入(F12)将输入坐标变为绝对坐标,需要关闭对象捕捉(F3),否则会因不可抗力而导致图形畸变。
- 脚本中出现的粗实线、细实线、尺寸线为对应的图层名称,可根据自己的配置进行修改,但需要注意附近的空格。
- 脚本中的空格极其重要,在运行时会起到类似回车的作用,因此要特别注意每一句中有几个空格,尤其是每一句代码的最后,有些是不需要额如CIRLCE指令,有些需要一个如LINE、LAYER指令,有些需要两个到三个。
- 脚本中的某些指令的运行跟高版本(我的是2018)中的指令会有些许不同,如LAYER指令,在指令框中直接运行只能打开图层管理器,而在脚本中运行时则可以更换图层,经查阅官方给的资料后发现是指令有些许改动,同名的老版本指令只需在指令前添加“-",如-LAYER,就可以使用老版本中的指令。
齿轮参数
/* 参数 */
齿顶高ha ha=m
齿根高hf hf=1.25m
齿高h h=ha+hf=1.25m
分度圆直径d d=mz
齿顶圆直径da da=d+2ha=m(z+2)
齿根圆直径df df=d-2hf=m(z-2.5)
齿厚b
中心距a a=(d1+d2)/2=m(z1+z2)/2
压力角A=20,变位系数O=0,齿高系数T=1,齿顶隙系数B=0.25,过度圆弧系数=0.38
基圆半径rb=mz/2*cos(A)
齿顶圆半径rt=mz/2+m*(T+O)
齿根圆半径rf=mz/2-m*(T+B-O)
已知齿顶圆da=220,齿数z=20,求出模数m=10,分度圆直径d=200,基圆半径rb=93.97,齿根圆df=175
//切线角度
theta_k = 360/(z*2)
//对称线角度
theta_m = 360/(z*4)
//切线长度
l = PI*rb*2/(2*z)
//过渡圆半径
mid_r = 0.38*m
//第四点
theta_4=theta_k*da/2*sin(acos(rb*2/da))/l
//渐开线上四点
x_1 = -(rb*sin(theta_k)-l*cos(theta_k))
y_1 = rb*cos(theta_k)+l*sin(theta_k))
x_2 = -(rb*sin(2*theta_k)-2*l*cos(2*theta_k))
y_2 = rb*cos(2*theta_k)+2*l*sin(2*theta_k)
x_3 = -(rb*sin(3*theta_k)-3*l*cos(3*theta_k))
y_3 = rb*cos(3*theta_k)+3*l*sin(3*theta_k)
x_4 = -(rb*sin(theta_4)-theta_4/theta_k*l*cos(theta_4))
y_4 = rb*cos(theta_4)+theta_4/theta_k*l