10 PRINT "说明:1放中桩,2放边桩,3设置导线点,4-7为交点号,8输入实测距离,9设置曲线要素"
15 GOTO 100
16 PRINT "R="
17 INPUT R
18 PRINT "R=";R
19 PRINT "LS="
20 INPUT LS
21 PRINT "LS=";LS
22 PRINT "A="
23 INPUT A
24 PRINT "A=";A
25 PRINT "HA="
26 INPUT HA
27 PRINT "HA=";HA
28 PRINT "XJ="
29 INPUT XJ
30 PRINT "XJ=";XJ
31 PRINT "YJ="
32 INPUT YJ
33 PRINT "YJ=";YJ
34 PRINT "ZH="
35 INPUT ZH
36 PRINT "ZH=";ZH
37 GOTO 240
60 R=1800
61 LS=200
62 A=4.726819
63 HA=4.942389
64 XJ=2982.1
65 YJ=10019.06
66 ZH=8334.757
67 GOTO 240
70 R=1800
71 LS=200
72 A=4.942389
73 HA=4.7123599
74 XJ=3198.78
75 YJ=9093.644
76 ZH=9270.330
77 GOTO 240
100 INPUT PRO
110 IF PRO=0 THEN 10
115 IF PRO=1 THEN 620
120 IF PRO=2 THEN 1820
130 IF PRO=3 THEN 1580
140 IF PRO=4 THEN 40
150 IF PRO=5 THEN 50
160 IF PRO=6 THEN 60
170 IF PRO=7 THEN 70
180 IF PRO=8 THEN 1380
190 IF PRO=9 THEN 16
200 END
240 ZA=HA-A
250 C=ABS(ZA/2)
260 TH=(R+LS^2/24/R)*TAN(C)+LS/2-LS^3/240/R^2
270 LH=2*R*C+LS
280 EH=(R+LS^2/24/R)/COS(C)-R
290 DH=2*TH-LH
300 JD=ZH+TH
310 HY=ZH+LS
320 LY=2*C*R-LS
330 YH=HY+LY
340 HZ=YH+LS
350 QZ=HZ-LH/2
360 ZH=QZ+DH/2-TH
410 PRINT "交点:";JD
430 PRINT "缓圆点:";HY
460 PRINT "直缓点:";HZ
490 GOTO 100
500 END
620 PRINT "桩号"
625 INPUT ID
626 PRINT "桩号:";ID
630 N=1
635 MM=0
640 IF ID<ZH THEN 710
650 IF ID<HY THEN 740
660 IF ID<YH THEN 790
670 IF ID<HZ THEN 850
680 XP=XJ+(TH+ID-HZ)*COS(HA)
690 YP=YJ+(TH+ID-HZ)*SIN(HA)
700 GOTO 900
710 XP=XJ-(TH-ID+ZH)*COS(A)
720 YP=YJ-(TH-ID+ZH)*SIN(A)
730 GOTO 900
740 XO=((ID-ZH)-(ID-ZH)^5/40/R^2/LS^2)
750 YO=(ID-ZH)^3/R/LS/6
760 XP=XJ-(TH-XO)*COS(A)+YO*COS(A+SGN(ZA)*1.5708)
770 YP=YJ-(TH-XO)*SIN(A)+YO*SIN(A+SGN(ZA)*1.5708)
780 GOTO 900
790 XR=XJ+(R+EH)*COS(A+SGN(ZA)*C+SGN(ZA)*1.5708)
800 YR=YJ+(R+EH)*SIN(A+SGN(ZA)*C+SGN(ZA)*1.5708)
810 BP=(QZ-ID)/R*SGN(ZA)
820 XP=XR-R*COS(A+SGN(ZA)*C+SGN(ZA)*1.5708-BP)
830 YP=YR-R*SIN(A+SGN(ZA)*C+SGN(ZA)*1.5708-BP)
840 GOTO 900
850 XO=(HZ-ID)-(HZ-ID)^5/40/R^2/LS^2
860 YO=(HZ-ID)^3/R/LS/6
870 XP=XJ+(TH-XO)*COS(HA)+YO*COS(HA+SGN(ZA)*1.5708)
880 YP=YJ+(TH-XO)*SIN(HA)+YO*SIN(HA+SGN(ZA)*1.5708)
890 IF N=0 THEN 1240
900 I=INT(ID/1000)
910 J=(ID/1000-I)*1000
950 A$="K"+STR$(I)+"+"+STR$(J)
960 IF N=0 THEN 1240
970 DX=XP-XC
980 DY=YP-YC
990 AP=180*ATN(DY/DX)/3.1416
1000 IF DX>0 AND DY>0 THEN 1040
1010 IF DX>0 AND DY<0 THEN 1060
1020 AP=AP+180
1030 GOTO 1070
1040 AP=AP
1050 GOTO 1070
1060 AP=AP+360
1070 FA=(AP-INT(AP))*60
1080 GA=(FA-INT(FA))*60
1090 DA=INT(AP)+INT(FA)/100+INT(GA+0.5)/1000
1100 SP=SQR(DX^2+DY^2)
1110 IF N=0 THEN 2300
1120 IF N=1 AND MM=1 THEN 1135
1132 PRINT A$
1135 GOTO 1150
1150 PRINT "放线角度:";DA
1160 PRINT "放线距离:";SP
1190 PRINT "XP=";XP
1200 PRINT "YP=";YP
1210 GOTO 100
1220 IF N=0 THEN 1240
1230 END
1240 RETURN
1250 END
1380 INPUT "SD=";SD
1400 W=1
1450 IF W=0 THEN RETURN
1460 L=SP-SD
1470 IF L>0 THEN 1490
1480 IF L<0 THEN 1530
1490 WH=L*100
1510 PRINT "延长:";WH;"CM"
1520 GOTO 100
1530 XQ=L*100
1550 PRINT "缩短:";XQ;"CM"
1560 GOTO 100
1580 PRINT "测站点"
1581 INPUT CZ
1582 IF CZ>9601 THEN XC=3261.004:YC=8822.9
1583 GOTO 1630
1584 IF CZ>9499 THEN XC=3204.687:YC=9119.393
1585 GOTO 1630
1586 IF CZ>9401 THEN XC=3133.753:YC=9221.726
1587 GOTO 1630
1588 IF CZ>9199 THEN XC=3161.222:YC=9383.161
1589 GOTO 1630
1600 INPUT XC
1601 INPUT YC
1605 PRINT "后视点"
1610 INPUT XP
1620 INPUT YP
1630 N=1
1635 M=1
1640 GOTO 970
1740 XL=XC
1750 YL=YC
1780 PRINT "XL=";XL
1790 PRINT "YL=";YL
1795 GOTO 100
1800 END
1820 PRINT "桩号?"
1825 INPUT ID
1826 PRINT "桩号:";ID
1830 PRINT "左0,右1"
1835 INPUT LR
1836 PRINT "LR=";LR
1840 IF LR=1 THEN 1870
1850 PRINT "左距离"
1855 INPUT LB
1856 PRINT "左距离:";LB
1860 GOTO 1890
1870 PRINT "右距离"
1875 INPUT RB
1880 PRINT "右距离:";RB
1890 N=0
1900 GOSUB 640
1910 XA=XP
1920 YA=YP
1930 ID=ID-0.02
1940 GOSUB 640
1950 XB=XP
1960 YB=YP
1970 ID=ID+0.02
1980 GOSUB 900
1990 ZX=XB-XA
2000 ZY=YB-YA
2010 AZ=180*ATN(ZY/ZX)/3.1416
2020 IF ZX>0 AND ZY>0 THEN 2060
2030 IF ZX>0 AND ZY<0 THEN 2080
2040 AZ=AZ+180
2050 GOTO 2090
2060 AZ=AZ
2070 GOTO 2090
2080 AZ=AZ+360
2090 BZ=AZ
2100 SZ=SQR(ZX^2+ZY^2)
2110 LA=BZ+90
2120 RA=BZ-90
2130 IF LA<0 THEN LET LA=LA+360
2140 IF RA<0 THEN LET RA=RA+360
2150 IF RA>360 THEN LET LA=LA-360
2160 LX=XA+LB*COS(LA*0.0174533)
2170 LY=YA+LB*SIN(LA*0.0174533)
2180 RX=XA+RB*COS(RA*0.0174533)
2190 RY=YA+RB*SIN(RA*0.0174533)
2191 IF LR=0 THEN 2193
2192 IF LR=1 THEN 2196
2193 PRINT "LX=";LX
2194 PRINT "LY=";LY
2195 GOTO 2200
2196 PRINT "RX=";RX
2197 PRINT "RY=";RY
2200 IF LR=1 THEN 2260
2210 DX=LX-XC
2220 DY=LY-YC
2230 C$=A$+"("+"LB="+STR$(LB)+")"
2240 GOSUB 990
2250 IF LR=0 THEN 2330
2260 DX=RX-XC
2270 DY=RY-YC
2280 M$=A$+"("+"RB="+STR$(RB)+")"
2290 GOSUB 990
2300 IF LR=1 THEN 2370
2330 PRINT "放线角度:";DA
2340 PRINT "放线距离:";SP
2350 GOTO 100
2370 GOTO 2330
2470 END
本程序是我在南充绕城高速时用的,在cc800上通过,别的没试
可做为文曲星放线程序参考
转载请注明出处、作者 路桥网(www.luqiaonet.com)白黑
|
|