|
经典图书 大部分人在计算三针测量M值时都有一个误区,当螺旋角≥3°的多线螺纹和大部分梯形螺纹都不能
用普通的三针测量M值公式计算,应用渐近法计算。
以下是VB原代码,我无偿提供给大家使用。
Private Sub Command2_Click()
Dim j, tt, a, b, e, c, cc, x, Y, ccc, u, uu, U1, m, X2, y2 As Single
t = Val(txtt.Text)
n = Val(txtn.Text)
d2 = Val(txtd2.Text)
d0 = Val(txtd0.Text)
r = Val(txtr.Text)
j = 3.1415926
tt = Format(((r / 2) / 180) * j, "0.000000")
a = Format(Cos(tt), "0.000000")
b = Format(Sin(tt), "0.000000")
e = Format(Tan(tt), "0.000000")
u = 0.5 * ((d2 / a) - (t / (2 * b)) + d0 * (1 / e))
x = u * a + (j * d0 * u * b) / (Sqr(4 * j ^ 2 * u ^ 2 + (n * t) ^ 2))
Y = -((n * t * d0) / (2 * Sqr(4 * j ^ 2 * u ^ 2 + (n * t) ^ 2)))
cc = (j / (n * t)) * ((t / 2) - (d2 * e) - ((2 * j * d0 * u * a) / (Sqr((4 * j ^ 2 * u ^ 2) + (n * t) ^ 2))))
c = -(Y / x) - ((2 * j * u * b) / (n * t))
ccc = cc - c
U1 = -((n * t * ccc) / (2 * j * b))
uu = u + U1
X2 = uu * a + (j * d0 * uu * b) / (Sqr(4 * j ^ 2 * uu ^ 2 + (n * t) ^ 2))
y2 = -((n * t * d0) / (2 * Sqr(4 * j ^ 2 * uu ^ 2 + (n * t) ^ 2)))
m = Format(2 * Sqr(X2 ^ 2 + y2 ^ 2) + d0, "0.000")
Text102 = Format(Atn((t * n) / (j * d2)) * 180 / j, "0.000")
txtm.Text = Str(m)
End Sub |
|