📄 hgg.txt
字号:
PRINT "月牙肋岔管计算交点公式 R:公切球半径 A1:Ⅰ锥半顶角 A2:Ⅱ锥半顶角 A3:Ⅲ锥半顶角D:月牙梁厚度之半 D1:管壁厚之半 Q2:Ⅰ锥与Ⅱ锥轴线交角 Q1:Ⅰ锥与Ⅲ锥轴线交角 Q3:Ⅱ锥与Ⅲ锥轴线交角"
K = 3.14159265357#
R = 1910: A1 = 7 * K / 180: A2 = 8 * K / 180: A3 = 12 * K / 180: D = 64 / 2: D1 = 34 / 2: Q1 = 152 * K / 180: Q2 = 158 * K / 180: Q3 = 50 * K / 180
PRINT "R="; R; TAB(15); "A1="; A1 * 180 / K; TAB(30); "A2="; A2 * 180 / K; TAB(45); "A3="; A3 * 180 / K
PRINT "D="; D; TAB(15); "D1="; D1; TAB(30); "Q1="; Q1 * 180 / K; TAB(45); "Q2="; Q2 * 180 / K; TAB(60); "Q3="; Q3 * 180 / K
Q4 = Q2 + Q3: Q5 = Q1 + Q3: Q6 = Q1 + Q2
RA = R * (COS(A1) + TAN((Q1 + A1 + A3 - K) / 2) * SIN(A1))
RB = R * (COS(A1) + TAN((Q4 + A1 + A3 - K) / 2) * SIN(A1))
RC = R * (COS(A1) + TAN((Q2 + A1 + A2 - K) / 2) * SIN(A1))
RD = R * (COS(A1) + TAN((Q5 + A1 + A2 - K) / 2) * SIN(A1))
RE = R * (COS(A2) + TAN((Q2 + A1 + A2 - K) / 2) * SIN(A2))
RF = R * (COS(A2) + TAN((Q5 + A1 + A2 - K) / 2) * SIN(A2))
RG = R * (COS(A2) + TAN((Q3 + A2 + A3 - K) / 2) * SIN(A2))
RH = R * (COS(A2) + TAN((Q6 + A2 + A3 - K) / 2) * SIN(A2))
RI = R * (COS(A3) + TAN((Q1 + A1 + A3 - K) / 2) * SIN(A3))
RJ = R * (COS(A3) + TAN((Q4 + A1 + A3 - K) / 2) * SIN(A3))
RK = R * (COS(A3) + TAN((Q3 + A2 + A3 - K) / 2) * SIN(A3))
RL = R * (COS(A3) + TAN((Q6 + A2 + A3 - K) / 2) * SIN(A3))
B1 = ATN((RB - RA) / (RB + RA) / TAN(A1))
B2 = ATN((RD - RC) / (RD + RC) / TAN(A1))
B3 = ATN((RF - RE) / (RF + RE) / TAN(A2))
B4 = ATN((RH - RG) / (RH + RG) / TAN(A2))
B5 = ATN((RJ - RI) / (RJ + RI) / TAN(A3))
B6 = ATN((RL - RK) / (RL + RK) / TAN(A3))
C1 = (RA * (1 / TAN(A1) + TAN(B1)) - RC * (TAN(B2) + 1 / TAN(A1))) * COS(B1) * COS(B2) / SIN(B1 + B2)
C2 = (RE * (1 / TAN(A2) + TAN(B3)) - RG * (TAN(B4) + 1 / TAN(A2))) * COS(B3) * COS(B4) / SIN(B3 + B4)
C3 = (RI * (1 / TAN(A3) + TAN(B5)) - RK * (TAN(B6) + 1 / TAN(A3))) * COS(B5) * COS(B6) / SIN(B5 + B6)
C4 = C2 + D * COS(B3) / COS(K / 2 - B3 - B4)
C5 = C3 + D * COS(B5) / COS(K / 2 - B5 - B6)
RM = (RA * (1 / TAN(A1) + TAN(B1)) - C1 * TAN(B1)) * TAN(A1)
RN = (RE * (1 / TAN(A2) + TAN(B3)) - C4 * TAN(B3)) * TAN(A2)
RO = (RI * (1 / TAN(A3) + TAN(B5)) - C5 * TAN(B5)) * TAN(A3)
E1 = D * TAN(K / 2 - B3 - B4)
E2 = D * TAN(K / 2 - B5 - B6)
GR = R * (COS(A2) + TAN((Q3 + A2 + A3 - K) / 2) * SIN(A2)) - D / COS(B4 - A2) * SIN(A2)
KR = R * (COS(A3) + TAN((Q3 + A2 + A3 - K) / 2) * SIN(A3)) - D / COS(B6 - A3) * SIN(A3)
GOSUB 980
PRINT "Ⅰ锥AC线切角及小半径"
PRINT "B1="; B1 * 180 / K; TAB(30); "RA="; RA
PRINT "Ⅰ锥BC线切角及小半径"
PRINT "B2="; B2 * 180 / K; TAB(30); "RC="; RC
PRINT "Ⅱ锥BC线切角及小半径"
PRINT "B3="; B3 * 180 / K; TAB(30); "RE="; RE
PRINT "Ⅱ锥DC线切角及小半径"
PRINT "B4="; B4 * 180 / K; TAB(30); "RG="; RG
PRINT "Ⅲ锥AC线切角及小半径"
PRINT "B5="; B5 * 180 / K; TAB(30); "RI="; RI
PRINT "Ⅲ锥DC线切角及小半径"
PRINT "B6="; B6 * 180 / K; TAB(30); "RK="; RK
PRINT "C点到Ⅰ轴线距离 C1="; C1
PRINT "C点到Ⅱ轴线距离 C2="; C2
PRINT "C点到Ⅲ轴线距离 C3="; C3
PRINT "加月牙梁后C点到Ⅱ轴线距离 C4="; C4
PRINT "加月牙梁后C点到Ⅲ轴线距离 C5="; C5
PRINT "Ⅰ锥C点半径 RM="; RM
PRINT "加月牙梁后Ⅱ锥C点半径 RN="; RN
PRINT "加月牙梁后Ⅲ锥C点半径 RO="; RO
PRINT "加月牙梁后Ⅱ锥D点半径 GR="; GR
PRINT "加月牙梁后Ⅲ锥D点半径 KR="; KR
PRINT "Ⅱ锥管壁在月牙梁顶部的间隙区 E1="; E1
PRINT "Ⅲ锥管壁在月牙梁顶部的间隙区 E2="; E2
PRINT "Ⅰ锥AC展开座标,A点素线为对称轴,XZ为壁中径与外壁素线长度差,AN为展开角"
R1 = RA: B = B1: A = A1: C = C1: RZ = RM
PRINT "RA="; RA; TAB(15); "RM="; RM; TAB(30); "B1="; B1 * 180 / K; TAB(50); "A1="; A1 * 180 / K
GOSUB 5300
PRINT "Ⅰ锥BC展开座标, 大半径A点素线为对称轴"
R1 = RC: B = B2: A = A1: C = -C1: RZ = RM
PRINT "RC="; RC; TAB(15); "RM="; RM; TAB(30); "B2="; B2 * 180 / K; TAB(50); "A1="; A1 * 180 / K
GOSUB 5000
PRINT "Ⅱ锥BC展开座标, 小半径B点素线为对称轴"
R1 = RE: B = B3: A = A2: C = C4: RZ = RN
PRINT "RE="; RE; TAB(15); "RN="; RN; TAB(30); "B3="; B3 * 180 / K; TAB(50); "A2="; A2 * 180 / K
GOSUB 5300
PRINT "Ⅱ锥DC展开座标, 大半径B点素线为对称轴"
R1 = GR: B = B4: A = A2: C = -C4: RZ = RN
PRINT "GR="; GR; TAB(15); "RN="; RN; TAB(30); "B4="; B4 * 180 / K; TAB(50); "A2="; A2 * 180 / K
GOSUB 5000
PRINT "Ⅲ锥AC展开座标, 小半径A点素线为对称轴"
R1 = RI: B = B5: A = A3: C = C5: RZ = RO
PRINT "RI="; RI; TAB(15); "RO="; RO; TAB(30); "B5="; B5 * 180 / K; TAB(50); "A3="; A3 * 180 / K
GOSUB 5300
PRINT "Ⅲ锥DC展开座标, 大半径A点素线为对称轴"
R1 = KR: B = B6: A = A3: C = -C5: RZ = RO
PRINT "KR="; KR; TAB(15); "RO="; RO; TAB(30); "B6="; B6 * 180 / K; TAB(50); "A3="; A3 * 180 / K
GOSUB 5000
PRINT
PRINT "月牙梁与管外壁交点座标, 原点于C, X为CD方向, Y为弦长"
PRINT "与Ⅱ锥交点座标"
R1 = GR: B = B4: A = A2: C = C2: RZ = RN
PRINT "GR="; GR; TAB(20); "B4="; B4 * 180 / K
GOSUB 5800
PRINT
PRINT "与Ⅲ锥交点座标"
R1 = KR: B = B6: A = A3: C = C3: RZ = RO
PRINT "KR="; KR; TAB(20); "B6="; B6 * 180 / K
GOSUB 5800
END
980 R1 = RB: B = B1: A = A1: C = C1: RZ = RM
GOSUB 7000
L = L1
PRINT "L1="; L1
R1 = RD: B = B2: A = A1: C = -C1: RZ = RM
GOSUB 7000
L2 = L
PRINT "L2="; L2
R1 = RF: B = B3: A = A2: C = C4: RZ = RN
GOSUB 7000
L3 = L
PRINT "L3="; L3
R2 = GR: B = B4: A = A2: C = -C4: RZ = RN
R1 = R2 * ((1 + TAN(B) * TAN(A)) / (1 - TAN(B) * TAN(A)))
GOSUB 7000
L4 = L
PRINT "L4="; L4
R1 = RJ: B1 = B5: A = A3: C = C5: RZ = RO
GOSUB 7000
L5 = L
PRINT "L5="; L5
R2 = KR: B = B6: A = A3: C = -C5: RZ = RO
R1 = R2 * ((1 + TAN(B) * TAN(A)) / (1 - TAN(A) * TAN(B)))
GOSUB 7000
L6 = L
PRINT "L6="; L6
R1 = RB: B = B1: A = A1: C = C1: RZ = RM
GOSUB 7350
T1 = S
R1 = RD: B = B2: A = A1: C = -C1: RZ = RM
GOSUB 7350
T2 = S
R1 = RF: B = B3: A = A2: C = C4: RZ = RN
GOSUB 7350
T3 = S
R2 = GR: B = B4: A = A2: C = -C4: RZ = RN
R1 = R2 * ((1 + TAN(B) * TAN(A)) / (1 - TAN(B) * TAN(A)))
GOSUB 7350
T4 = S
R1 = RJ: B1 = B5: A = A3: C = C5: RZ = RO
GOSUB 7350
T5 = S
R2 = KR: B = B6: A = A3: C = -C5: RZ = RO
R1 = R2 * ((1 + TAN(B) * TAN(A)) / (1 - TAN(A) * TAN(B)))
GOSUB 7350
T6 = S
R1 = AR: B = B7: A = A1: N1 = 180: N2 = 0
GOSUB 7380
T7 = S
R1 = BR: B = B8: A = A2: N1 = 180: N2 = 0
GOSUB 7380
T8 = S
R1 = CR: B = B9: A = A3: N1 = 180: N2 = 0
GOSUB 7380
T9 = S
TA = T1 + T2 - T7: TB = T3 + T4 - T8: TC = T5 + T6 - T9: T = TA + TB + TC
PRINT "I 锥重量 TA="; INT(TA * 10 + .5) / 10; TAB(25); "II锥重量 TB="; INT(TB * 10 + .5) / 10; TAB(51); "III锥重量 TC="; INT(TC * 10 + .5) / 10
RETURN
5000 RW = R1 * ((1 + TAN(B) * TAN(A)) / (1 - TAN(B) * TAN(A)))
R0 = RW / SIN(A): H = RW / TAN(A): H0 = RW * TAN(B)
CA = ATN((C / RZ) / SQR(1 - (C / RZ) * (C / RZ)))
AN = K / 2 + CA
GOSUB 5600
NA = (INT(AN * 180 / K / 5) * 5 + 5) * K / 180
PRINT "NA="; NA * 180 / K
FOR AN = NA TO 190 * K / 180 STEP 5 * K / 180
IF AN = K / 2 OR AN = 3 * K / 2 OR AN = -K / 2 OR AN = -3 * K / 2 THEN 5090
QN = ATN(H / (RW * COS(AN))): GOTO 5100
5090 QN = K / 2
PRINT "90度轴线位座标"
5100 RV = R0 - SIN(QN) * SIN(B) * (RW - RW * COS(AN)) / (COS(A) * SIN(QN - B))
X = SIN(AN * SIN(A)) * RV
Y = -RV * COS(AN * SIN(A)) + RZ / SIN(A)
CC = D1 / TAN(A)
R2 = R1 + D1 / COS(B - A) * COS(B)
R3 = R2 * (1 + TAN(B) * TAN(A)) / (1 - TAN(B) * TAN(A))
R4 = R3 / SIN(A): H1 = R3 / TAN(A): H2 = R3 * TAN(B)
NR = R4 - SIN(QN) * SIN(B) * R3 * (1 - COS(AN)) / (COS(A) * SIN(QN - B)) - CC
X1 = RV - NR
PRINT "X="; INT(X * 10 + .5) / 10; TAB(16); "Y="; INT(Y * 10 + .5) / 10; TAB(31); "XZ="; INT(X1 * 10 + .5) / 10; TAB(46); "AN="; INT((AN * 180 / K) * 10 + .5) / 10; TAB(61); "RN="; INT(RV * SIN(A) * 10 + .5) / 10
NEXT AN
RETURN
5300 RW = R1 * (1 + TAN(B) * TAN(A)) / (1 - TAN(B) * TAN(A))
R0 = RW / SIN(A): H = RW / TAN(A): H0 = RW * TAN(B)
CA = ATN((C / RZ) / SQR(1 - (C / RZ) * (C / RZ)))
AN = K / 2 + CA
GOSUB 5700
NA = (INT(AN * 180 / K / 5) * 5 + 5) * K / 180
PRINT "NA="; NA * 180 / K
FOR AN = NA TO 190 * K / 180 STEP 5 * K / 180
IF AN = K / 2 OR AN = 3 * K / 2 OR AN = -K / 2 OR AN = -3 * K / 2 THEN 5390
QN = ATN(H / (RW * COS(AN))): GOTO 5400
5390 QN = K / 2
PRINT "90度轴线位座标"
5400 RV = R0 - SIN(QN) * SIN(B) * (RW - RW * COS(AN)) / (COS(A) * SIN(QN - B))
X = SIN((K - AN) * SIN(A)) * RV
Y = -RV * COS((K - AN) * SIN(A)) + RZ / SIN(A)
CC = D1 / TAN(A)
R2 = R1 + D1 / COS(B - A) * COS(B)
R3 = R2 * (1 + TAN(B) * TAN(A)) / (1 - TAN(B) * TAN(A))
R4 = R3 / SIN(A): H1 = R3 / TAN(A): H2 = R3 * TAN(B)
NR = R4 - SIN(QN) * SIN(B) * R3 * (1 - COS(AN)) / (COS(A) * SIN(QN - B)) - CC
X1 = RV - NR
PRINT "X="; INT(X * 10 + .5) / 10; TAB(16); "Y="; INT(Y * 10 + .5) / 10; TAB(31); "XZ="; INT(X1 * 10 + .5) / 10; TAB(46); "AN="; INT((180 - AN * 180 / K) * 10 + .5) / 10; TAB(61); "RN="; INT(RV * SIN(A) * 10 + .5) / 10
NEXT AN
RETURN
5600 NQ = ATN(H / (RW * COS(AN)))
VR = R0 - SIN(NQ) * SIN(B) * (RW - RW * COS(AN)) / (COS(A) * SIN(NQ - B))
X1 = SIN((AN) * SIN(A)) * VR
Y1 = -VR * COS((AN) * SIN(A)) + RZ / SIN(A)
PRINT "C点切角小半径素线圆周角及座标"
PRINT "X1="; X1; TAB(16); "Y1="; Y1; TAB(45); "AN="; 180 - AN * 180 / K
RETURN
5700 NQ = ATN(H / (RW * COS(AN)))
VR = R0 - SIN(NQ) * SIN(B) * (RW - RW * COS(AN)) / (COS(A) * SIN(NQ - B))
X1 = SIN((K - AN) * SIN(A)) * VR
Y1 = -VR * COS((K - AN) * SIN(A)) + RZ / SIN(A)
PRINT "C点切角小半径素线圆周角及座标"
PRINT "X1="; X1; TAB(16); "Y1="; Y1; TAB(45); "AN="; AN * 180 / K
RETURN
5800 R2 = R1 + D1 / COS(B - A) * COS(B)
R = R2 * ((1 + TAN(B) * TAN(A)) / (1 - TAN(A) * TAN(B)))
R0 = R / SIN(A): H = R / TAN(A): H0 = R / TAN(B)
X0 = D * TAN(B) + R2 / COS(B) + C / COS(B)
G = ((R2 / COS(B) - X0) * COS(B)) / (R2 * TAN(B) * TAN(A) - (R2 / COS(B) - X0) * SIN(B) * TAN(A) + R2)
CA = ATN((G) / SQR(1 - G * G))
AN = K / 2 + CA
GOSUB 6000
NA = (INT(AN * 180 / K / 5) * 5 + 5) * K / 180
FOR AN = NA TO K STEP 5 * K / 180
IF AN = K / 2 THEN 5910
QN = ATN(H / R / COS(AN))
GOTO 5920
5910 QN = K / 2
PRINT "90度轴线位座标"
5920 RV = R0 - SIN(QN) * SIN(B) * (R - R * COS(AN)) / (COS(A) * SIN(QN - B))
Y = RV * SIN(A) * SIN(AN)
X = -(R2 - RV * SIN(A) * COS(K - AN)) / COS(B) + X0
PRINT "X="; INT(X * 10 + .5) / 10; TAB(16); "Y="; INT(Y * 10 + .5) / 10; TAB(31); "AN="; INT((180 - AN * 180 / K) * 10 + .5) / 10; TAB(46); "RN="; INT(RV * SIN(A) * 10 + .5) / 10
NEXT AN
RETURN
6000 QN = ATN(H / R / COS(AN))
RV = R0 - SIN(QN) * SIN(B) * (R - R * COS(AN)) / (COS(A) * SIN(QN - B))
Y1 = RV * SIN(A) * SIN(AN)
X1 = -(R2 - RV * SIN(A) * COS(K - AN)) / COS(B) + X0
PRINT "X1="; X1; TAB(16); "Y1="; Y1; TAB(31); "AN="; 180 - AN * 180 / K
RETURN
7000 CA = ATN((C / RZ) / SQR(1 - (C / RZ) * (C / RZ)))
N2 = 90 / K + CA
N1 = 270 / K - CA
N3 = (N1 - N2) / 10
M1 = 0: M2 = 0
FOR N = 1 TO 9 STEP 2
AN = N2 + N1 + N3 * N
GOSUB 7200
M1 = M1 + M
NEXT N
FOR N = 2 TO 9 STEP 2
AN = N2 + N3 * N1
GOSUB 7200
M2 = M2 + M
NEXT N
AN = N1
GOSUB 7200
M3 = M
AN = N2
M4 = M
L = 1 / 3 * N3 * (M4 + M3 + 4 * M1 + 2 * M2) * SIN(A)
RETURN
7200 IF AN = 90 / K OR AN = 270 / K OR AN = -90 / K OR AN = -270 / K THEN 7230
QN = ATN(1 / TAN(A) / COS(AN))
W = 1 / (1 + QN ^ 2) * TAN(AN) / COS(AN)
GOTO 7250
7230 QN = 90 / K
W = 0
7250 U = SIN(B) * R1 * (SIN(QN) * SIN(A) + COS(QN) * W * (1 - COS(AN)))
V = COS(A) * COS(QN - B) * W
V1 = COS(A) * SIN(QN - B)
U1 = SIN(QN) * SIN(B) * R1 * (1 - COS(AN))
RW = (U * V1 - V * U1) / V1 ^ 2
RY = R1 / SIN(A) - U1 / V1
M = (RY ^ 2 + RW ^ 2) ^ (1 / 2)
RETURN
7350 CA = ATN((C / RZ) / SQR(1 - (C / RZ) * (C / RZ)))
N2 = 90 / K + CA
N1 = 270 / K - CA
7380 N3 = (N1 - N2) / 10
S1 = 0: S2 = 0
FOR N = 1 TO 9 STEP 2
AN = N2 + N3 * N
GOSUB 7550
S1 = S1 + RX
NEXT N
FOR N = 2 TO 9 STEP 2
AN = N2 + N3 * N
GOSUB 7550
S2 = S2 + RX
NEXT N
AN = N1
GOSUB 7550
S3 = RX
AN = N2
GOSUB 7550
S4 = RX
S = 1 / 6 * N3 * (S4 + S3 + S1 + 2 * S2) * SIN(A) / 10000 * 7.85 * D / 50
RETURN
7550 IF AN = 90 / K OR AN = 270 / K OR AN = -90 / K OR AN = -270 / K THEN 7230
QN = ATN(1 / TAN(A) / COS(AN))
GOTO 7590
QN = 90 / K
7590 RX = (R1 / SIN(A) - SIN(QN) * SIN(B) * R1 * (1 - COS(AN)) / (COS(A) * SIN(QN - B))) ^ 2
RETURN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -