大佬们问个问题

import numpy as np
import matplotlib.pyplot as plt
import math
import matplotlib.ticker as mticker

def jiankaixian(m,z,x,n): # m:模数,z:齿数,x:变位系数,n:均布多少个点
    m=m 
    z=z
    alpha=math.radians(25);  #压力角
    ha=1; c=0.25; x=x;       #齿顶高系数;顶隙系数;变位系数
    r= z * m / 2           #分度圆半径
    ra=r+(ha+x)*m    #齿顶圆半径
    rf=r-(ha+c-x)*m  #齿根圆半径
    rb=r * np.cos(alpha)  #基圆半径
    p=np.pi*m;           #齿距
    s=p/2+2*x*m*np.tan(alpha);#齿厚
    theta1 = np.tan(np.arccos(rb/r)) - np.arccos(rb/r)
    theta2 = s/(2*r)

    #第1段 渐开线
    alphaK =np.linspace(0, np.arccos(rb/ra), n)    #分割点数

    thetaK=np.tan(alphaK)-alphaK - theta1 -theta2 ;  #极坐标系角度
    rK=rb/np.cos(alphaK)   #极坐标系半径
    global alpha1
    alpha1=np.arccos(rb/rK)
    xx = rK *np.cos(thetaK)  #转为直角坐标系
    yy = rK *np.sin(thetaK) 
    yy_fu = -yy            #关于x轴对称
    xx = xx-xx[0]          #平移到坐标原点

    return xx,yy_fu


xx,yy = jiankaixian(1.5,20,0,3000) # 换曲线时这个函数记得换


plt.plot(xx,yy)
plt.show()
讨论数量: 3

稍微排版下吧

1年前 评论
ping1_1 (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!