⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hgg.txt

📁 岔管展形bas代码。在Qbasic下运行。
💻 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 + -