测量空间 celiang.net     隧道超欠挖绘图
纬地横断面提取
  主页     问答     文章     函数     程式     软件     发布     招聘     求职     广告  
  导航 → 查看nys2006添加的评论 收藏分享
查看nys2006添加的评论    共 48 贴 ┋  每 50 页 ┋  1/1
   
    姓  名:nys200617-8-7 0:2 修改
 如果你只是为了这一个点的经纬度,用手机到这个点上去测一下经纬度,2楼这个公式软件计算是对的,但是展到图上就是差100米左右,这个结果在中国的这些坐标系与经纬度之间就是这样,没有太好的办法,如果是美国的UTM坐标系统坐标,与经纬度坐标之间可以转换到只差1mm,但是中国的这些坐标系统不行,如果你要把许多点展到奥维地图去,那需要只少知道三个已知点,尽量是三点所组成的三角形能包住你要展的那些点或者图形,到这三点上用手机中的奥维互动地图测一下三点的经纬度,记录下来,然后在奥维地图(电脑版)中--系统--系统设置--常用--系统坐标系--关联点转换坐标--设置--新建方案--添加--输入三个点的经纬度和对应的控制点坐标(注意CAD图中X,Y与是互换的),这样就建立了你所使用的坐标系与经纬度之间的坐标转换关系。把你的所有控制点先在CAD中画出来,保存成DXF格式,在奥维地图中--系统--导入对象--选取刚才画的图的DXF文件导入,然后就能把整个CAD图形展到奥维地图中,这个展图误差一般在10米以内,到现场去找控制点一点问题也没有。
    姓  名:nys200617-8-6 22:48 修改
 2.1、PROGRAM 3(坐标系正算) ClrText:“YUANDIAN-X=”?→C:“YUANDIAN-Y=”?→D:“FWJ=”?→U:“QISHIZHUANGHAO=”?→K:Lb1 3:“X=”?→X:“Y=”?→Y:(X-C)Cos(U)+(Y-D)Sin(U)+K→N:-(X-C)Sin(U)+(Y-D)Cos(U)→E:ClrText:“ZHUANGHAO=”:Locate 11,1,N:“PIANJU=”: Locate 8,2,E◢ ClrText:Goto 3 2.2、PROGRAM 4(坐标系反算) ClrText:“YUANDIAN-X=”?→C:“YUANDIAN-Y=”?→D:“FWJ=”?→U:“QISHIZHUANGHAO=”?→K:Lb1 3:“ZHUANGHAO=”?→N:“PIANJU=”?→E:C+(N-K)*Cos(U)-E*Sin(U)→X:D+(N-K)*Sin(U)+E*Cos(U)→Y:ClrText:“X=”:Locate 3,1,X:“Y=”: Locate 3,2,Y◢
    姓  名:'游客nys200616-9-6 11:16 修改
 不好意思,当初是编写成了函数,改一下第一行就行:(defun C:spx1 (/ changbian1 changbian2 changdu1 changdu2 changdu3 ang1 ang2 changbian2_x changbian2_y d1 d2 d3 d4 d5 d6 d7 d8),然后加载,输入SPX1就行
    姓  名:'游客nys200616-9-3 23:53 修改
 还行,检查无误
    姓  名:nys200616-8-3 23:15 修改
 复制上面的函数,打开WPS-开发工具-VB编辑器-插入-模块,在模块中粘贴上面的函数,为了长期使用最好起个文件名,保存这个文件到某个位置,在开发工具中找到:加载宏,填加这个文件,然后在插入函数对话框中找自定义函数,就可以象WPS自带的函数一样用了。
    姓  名:nys200616-7-29 10:6 修改
 把我前面发表的角度转换函数也添加进去,要不这两个语句不执行, 线路方位角_弧度 = 度分秒_弧度(起点方位角_度分秒):边桩与线路夹角_弧度 = 度_弧(边桩与线路夹角_度)。
    姓  名:nys200616-7-29 9:38 修改
 这个程序是2004年编写的,用过几个工地了吧
    姓  名:nys200616-7-29 9:13 修改
 点个12分的赞,这是我当初曲线正反算程序的基础,正算子程序显示了数学美。
    姓  名:nys200616-7-28 16:36 修改
 本人改进: 直线AB,A点坐标(x1,y1),B点坐标(x2,y2) 直线CD,C点坐标(x3,y3),D点坐标(x4,y4) 两直线的交点(x,y) k1=(y1-y2)/(x1-x2); k2=(y3-y4)/(x3-x4); x=(k1*x1-k2*x3+y3-y1)/(k1-k2); y=y1+(x-x1)*k1 下面的方法除了垂直正交直线外,其它情况都能计算,但是要注意坡比K1的输入直线在不同象限中有正负之分,直线在一、三象限时为正,二、四象限为负,在输入坡比时1:M,如果在一,三象限直接输入:M,在二,四象限时输入:-M 程序; Lb1 1:“X1=”?A:“Y1=”?B:“POB1=”?K:1/K→K:“X3=”?C:“Y3=”?D:“X4=”?E:“Y4=”?F:(D-F)/(C-E)→L:(KA-LC-B+D)/(K-L)→X:B+K(X-A)→Y:Cls:“X=”:Locate 3,1,X:Locate 3,2,Y▲Goto 1: 这个程序中(X1,Y1)是设计的坡顶点或者坡角点的(偏距,高程),(X3,Y3)和(X4,Y4)是地面上实测的两点的(偏距,高程),同时点A、点C和点D三点的里程桩号要相同。
    姓  名:nys200616-7-28 16:30 修改
 改正一下:(D-F)/(C-E)→L:
    姓  名:nys200616-7-28 15:4 修改
 A点坐标(x1,y1),B点坐标(x2,y2),C点坐标(x3,y3),D点坐标(x4,y4),两直线的交点(x,y) k1=(y1-y2)/(x1-x2),k2=(y3-y4)/(x3-x4) x=(k1*x1-k2*x3+y3-y1)/(k1-k2),y=y1+(x-x1)*k1
    姓  名:nys200616-7-28 14:19 修改
 要是用两相交直线求交点坐标的公式,通用性更强,我试了一下你的程序,只能在某个夹角范围内计算正确,不知道是不是这样。
    姓  名:nys200616-7-22 0:27 修改
 楼主你好,你的Pi=3.141592658,最后一位有误,应该是3.14159265358979,最后一位改一下,辛普森正反算函数挺好。点赞了
    姓  名:nys200616-6-22 10:21 修改
 '我把原作中变量都变成中文变量,这样好看懂,我检查了一下,计算结果正确。 Function 竖曲线精确计算2(交点高程 As Double, 交点桩号 As Double, 竖曲线半径 As Double, _ 坡比1 As Double, 坡比2 As Double, 计算点桩号 As Double) As Double Dim angle1 As Double, angle2 As Double, omiga As Double, T As Double, d1 As Double, d2 As Double Dim da As Double, d As Double, h As Double, deltah As Double angle1 = Atn(坡比1) angle2 = Atn(坡比2) omiga = angle1 - angle2 '切线长 T = 竖曲线半径 * Tan(Abs(omiga) / 2) d1 = T * Cos(angle1) d2 = T * Cos(angle2) da = 竖曲线半径 * Sin(Abs(angle1)) d = 计算点桩号 - (交点桩号 - d1) h = Sgn(omiga) * Sqr(竖曲线半径 * 竖曲线半径 - (d - da) * (d - da)) deltah = Sgn(omiga) * 竖曲线半径 * Cos(angle1) - (交点高程 - d1 * 坡比1) If 计算点桩号 < 交点桩号 - d1 Or 计算点桩号 = 交点桩号 - d1 Then 竖曲线精确计算2 = 交点高程 + (计算点桩号 - 交点桩号) * 坡比1 ElseIf 计算点桩号 > 交点桩号 - d1 And 计算点桩号 < 交点桩号 + d2 Then 竖曲线精确计算2 = h - deltah Else 竖曲线精确计算2 = 交点高程 + (计算点桩号 - 交点桩号) * 坡比2 End If End Function
    姓  名:nys200616-6-22 8:58 修改
 ;把上面的想法加上去
    姓  名:nys200616-6-22 8:56 修改
 ;把上面的想法加上去 ;添加了根据绘图比例尺绘示坡线 (defun nys_spx1 (/ changbian1 changbian2 changdu1 changdu2 changdu3 ang1 ang2 changbian2_x changbian2_y d1 d2 d3 d4 d5 d6 d7 d8 ) (setq osnapp (getvar "osmode")) (setq blc1 1000) (setq blc (getdist (strcat "\n 输入比例尺<1:1000> 1:"))) (if (= blc nil) (setq blc blc1) ) (setq kk (/ blc 1000)) (while (setq changbian1 (getpoint "\n 在坡底侧选取长边第一点:")) ;while_1函数 (command "osmode" "137") (setq changbian2 (getpoint changbian1 "\n 在坡顶线上选取垂足点:")) (setq changdu1 (* kk 2.5)) (command "osmode" "0") (setq ang1 (angle changbian2 changbian1)) (setq changbian2_x (car changbian2)) (setq changbian2_y (cadr changbian2)) (setq ang2 (- ang1 1.5707963)) (setq ang3 (+ ang1 1.5707963)) (setq changdu2 (/ changdu1 4)) (setq changdu3 (/ changdu1 2)) (setq d1 (polar changbian2 ang3 (* changdu2 1))) (setq d3 (polar changbian2 ang3 (* changdu2 2))) (setq d5 (polar changbian2 ang2 (* changdu2 1))) (setq d7 (polar changbian2 ang2 (* changdu2 2))) (setq d2 (polar d1 ang1 changdu3)) (setq d4 (polar d3 ang1 changdu1)) (setq d6 (polar d5 ang1 changdu3)) (setq d8 (polar d7 ang1 changdu1)) (setq d9 (polar changbian2 ang1 changdu1)) (command "line" d9 changbian2 "") (command "line" d1 d2 "") (command "line" d3 d4 "") (command "line" d5 d6 "") (command "line" d7 d8 "") ) ;while_1函数 (command "osmode" osnapp) (princ) )
    姓  名:nys200616-6-17 8:14 修改
 这个命令缺点没有根据绘图比例尺画示坡线,每画一个示坡线大小不一样。
    姓  名:nys200616-6-17 7:59 修改
 起点桩号就是原点桩号
    姓  名:nys200616-5-21 10:43 修改
 很好用,点赞!
    姓  名:nys200616-5-21 10:43 修改
 很好用,点赞!
    姓  名:nys200616-5-2 10:56 修改
 2016年4月29日发表的命令中多次展点不同文件中的数据时有误,2016年5月2日的更新中进行了修正,并在输入比例尺时加入了默认比例尺1:1000。
    姓  名:nys200616-4-28 17:14 修改
 26楼: tj5203000 计算结果如果与设计的差1mm左右,请确定设计是使用的近似计算公式,还是精确计算公式。
    姓  名:nys200616-4-28 17:6 修改
 Public Function 竖曲线精确计算(交点高程 As Double, 交点桩号 As Double, 竖曲线半径 As Double, _ 坡比1 As Double, 坡比2 As Double, 计算点桩号 As Double) As Double Dim TQX_OQX As Integer Dim T As Double '判断竖曲线为凸曲线或凹曲线,当坡比1-坡比2<0时为凹曲线,反之为凸曲线。 If 坡比1 - 坡比2 < 0 Then TQX_OQX = -1 Else TQX_OQX = 1 End If '切线长计算 T = Abs(竖曲线半径 * Tan((Atn(坡比1) - Atn(坡比2)) / 2)) 竖曲线精确计算 = 交点高程 - T * Sin(Atn(坡比1)) - TQX_OQX * 竖曲线半径 * Cos(Atn(坡比1)) + TQX_OQX * _ Sqr(竖曲线半径 ^ 2 - Abs(计算点桩号 - (交点桩号 - T * Cos(Atn(坡比1))) - _ TQX_OQX * 竖曲线半径 * Sin(Atn(坡比1))) ^ 2) End Function '这是我编写的,经检查在电子表格中计算结果和楼主的一样。
    姓  名:nys200616-4-28 16:27 修改
 Public Function 度化度分秒(C2 As Double, Miao_Jingdu As Integer) As String Dim FuHao As Integer, C1 As Double Dim Du As Double, Miao As Double FuHao = Sgn(C2) C1 = C2 + 0.0000000000001 * FuHao C1 = Abs(C1) Du = Int(C1) Fen = Int((C1 - Int(C1)) * 60) Miao = Round(((C1 - Int(C1)) * 60 - Int((C1 - Int(C1)) * 60)) * 60, Miao_Jingdu) 度化度分秒 = FuHao * Du & "°" & Format(Fen, "00" + Application.WorksheetFunction.Rept("0", 0)) & "′" & _ Format(Miao, "00." + Application.WorksheetFunction.Rept("0", Miao_Jingdu)) & "″" End Function
    姓  名:nys200616-4-28 16:21 修改
 Public Function 方位角计算(x1 As Double, y1 As Double, x2 As Double, y2 As Double) _ As Double If (y2 - y1 = 0) And (x2 - x1) < 0 Then 方位角计算 = 180 ElseIf (y2 - y1 = 0) And (x2 - x1) > 0 Then 方位角计算 = 0 ElseIf (y2 - y1 = 0) And (x2 - x1) = 0 Then 方位角计算 = 0 Else 方位角计算 = (3.14159265358979 * (1 - Sgn(y2 - y1) / 2) _ - Atn((x2 - x1) / (y2 - y1))) * 180 / 3.14159265358979 End If End Function
    姓  名:nys200616-4-10 16:17 修改
 加个高程标注字体高设置就更好了,参照CASS,可用绘图比例尺确定字体高。
    姓  名:nys200616-4-10 16:13 修改
 特好用的命令,我把其中文件读取的语句改了一下,这样就不用快帮助就知道数据格式了: (setq ff (open (getfiled "请选择要展点的数据文件(点号 X Y H)格式或者(点号,X,Y,H)格式的TXT文件" "" "txt" 2) "r")
    姓  名:nys200616-3-30 9:22 修改
 十二分的点赞,超赞的程序,我用缓和曲线段是一千个点的线段,标注精度很高。
    姓  名:nys200613-6-2 13:5 修改
 ;|注:此函数在图上标注已知点的X,Y坐标,标注的字体大小根据绘图比例确定。 |; (defun c:nys_zb2 (/ b k l p1 p1_x p1_y js p2 p3 p4 p5 p6 p7 m1 x n ang ang2 ang3 zb_x zb_y zb_x_l zb_y_l zb_l zb_l_l ) (setq b (getint "\n 绘图比例尺(1:?):")) (setq k (/ b 100.0)) ;k为比例因子 (command "style" "standard" "仿宋_gb2312" "0.0" "1" "0" "n" "n") ;设置字体样式 (setq osnapp (getvar "osmode")) ;提取变量osmode的值 (command "osmode" 137) ;设置变量osnap的值,可捕捉端点,节点和垂足点 (setq p1 (getpoint "\n 输入已知坐标点的坐标(结束输入:99,0):")) (setq p1_x (car p1) p1_y (cadr p1) ) (while (/= js 99) (command "osmode" 0) ;关闭对象捕捉模式 (setq p4 (getpoint p1 "\n 输入引线点:")) (setq ang (angle p1 p4)) (setq ang2 (+ 0.297038 ang)) (setq ang3 (- ang 0.297038)) (setq p2 (polar p1 ang2 (* 0.18 k))) (setq p3 (polar p1 ang3 (* 0.18 k))) ;;;四舍五入X、Y坐标。 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq x p1_x n 4 ) (setq m1 (round x n)) (setq p1_x (rtos (* 1 m1) 2 4)) ;* (* -1 m1) ;;;;;;;;;;;;;;;;;;;;;;;; (setq x p1_y n 4 ) (setq m1 (round x n)) (setq p1_y (rtos (* 1 m1) 2 4)) ;* (* -1 m1) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq ZB_X (strcat "X=" P1_Y)) ;* (setq ZB_Y (strcat "Y=" P1_X)) ;* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (setq ZB_X_L (strlen ZB_X)) (setq ZB_Y_L (strlen ZB_Y)) (IF (>= ZB_X_L ZB_Y_L) (SETQ ZB_L ZB_X_L) ) (IF (< ZB_X_L ZB_Y_L) (SETQ ZB_L ZB_Y_L) ) (setq ZB_L_L (* 0.120 (+ ZB_L 2))) (if (OR (and (<= ang 1.5707963) (>= ang 0.0000000)) (and (>= ang 4.7123889) (< ang 6.2831852)) ) (setq p5 (polar P4 0.00 (* ZB_L_L k)) p6 (polar p4 0.83 (* 0.12 k)) p7 (polar p4 1.840 (* -0.32 k)) ) ) (if (and (> ang 1.5707963) (< ang 4.7123889)) (setq p5 (polar p4 3.1415926 (* zb_l_l k)) p6 (polar p5 0.83 (* 0.12 k)) p7 (polar p5 1.840 (* -0.32 k)) ) ) (command "pline" p2 p1 p3 p1 p4 p5 "") (command "text" p6 (* 0.2 k) 0 ZB_X) (command "text" p7 (* 0.2 k) 0 ZB_Y) (command "osmode" 137) (setq p1 (getpoint "\n 输入坐标点(结束输入:99,0):")) (setq p1_x (car p1) p1_y (cadr p1) ) (setq js p1_x) ) ;“)”为"while"的另一半括号 (princ) (command "osmode" osnapp) ) ;这个程序只能标注(X,Y)
    姓  名:nys200611-3-23 20:54 修改
 这个方法在地形绘图中会看到,因为地形绘图前一般先要计算出X、Y的最大和最小值,然后放大这个区域,在执行展点命令。
    姓  名:nys200611-3-23 20:49 修改
 [hidden][hidden][hidden]我想到一个办法,在这个程序前面根据偏移点的坐标和偏移量,计算出一个可以绘出三条线的屏幕区域,用屏幕放大命令,放大这个区域,然后再执行这个程序的其它命令,就会不管什么情况都能绘出三条线。 [/hidden][/hidden][/hidden]
    姓  名:nys200611-3-23 20:38 修改
 如果隧洞长,而且体型固定,可以用AutoLisp编写隧洞断面绘制程序,我以前干过水电站的地下厂房,洞子特别多,绘断面很烦人,闲来无事,编写了有牛腿的厂房断面,城门洞断面,马蹄型断面、圆型断面,还有倒角的四方型断面,如果用全站仪测量断面,回来后输入断面桩号,粘贴断面数据,只需要半分钟到一分钟就能绘完断面,能自动画设计断面,图上标注超欠挖,统计断面点数,最大超挖量,最大欠挖,平均超挖量等数据。有好几年不用了,快都不会使了。
    姓  名:nys200611-3-23 5:30 修改
 用VBA编写如下的自定义函数:然后加载到Excel中,就可能象EXCEL自带的函数一样使用: '坐标系正转化X坐标 'c为新坐标系的原点在旧坐标系的X坐标,d为新坐标系的原点在旧坐标系的Y坐标,U为新坐标系的X轴在旧坐标系中的方位角,单位为“度”, 'A为转化点在旧坐标系中的X坐标,B为转化点在旧坐标系中的Y坐标,QD_ZH为新坐标系的原点的施工桩号。 Public Function zuobiaoxi_zhuanhua_x(C As Double, D As Double, U As Double, A As Double, B As Double, QD_ZH As Double) As Double U = U * 3.14159265358979 / 180 zuobiaoxi_zhuanhua_x = (A - C) * Cos(U) + (B - D) * Sin(U) + QD_ZH End Function '坐标系正转化Y坐标 'c为新坐标系的原点在旧坐标系的X坐标,d为新坐标系的原点在旧坐标系的Y坐标,U为新坐标系的X轴在旧坐标系中的方位角,单位为“度”, 'A为转化点在旧坐标系中的X坐标,B为转化点在旧坐标系中的Y坐标。 Public Function zuobiaoxi_zhuanhua_y(C As Double, D As Double, U As Double, A As Double, B As Double) As Double U = U * 3.14159265358979 / 180 zuobiaoxi_zhuanhua_y = -(A - C) * Sin(U) + (B - D) * Cos(U) End Function ';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; '坐标系反转化X坐标 'c为新坐标系的原点在旧坐标系的X坐标,d为新坐标系的原点在旧坐标系的Y坐标,U为新坐标系的X轴在旧坐标系中的方位角,单位为“度”, 'A为转化点在旧坐标系中的X坐标,B为转化点在旧坐标系中的Y坐标,QD_ZH为新坐标系的原点的施工桩号。 Public Function fan_zuobiaoxi_zhuanhua_x(C As Double, D As Double, U As Double, A As Double, B As Double, QD_ZH As Double) As Double U = U * 3.14159265358979 / 180 fan_zuobiaoxi_zhuanhua_x = C + (A - QD_ZH) * Cos(U) - B * Sin(U) End Function '坐标系反转化Y坐标 'c为新坐标系的原点在旧坐标系的X坐标,d为新坐标系的原点在旧坐标系的Y坐标,U为新坐标系的X轴在旧坐标系中的方位角,单位为“度”, 'A为转化点在旧坐标系中的X坐标,B为转化点在旧坐标系中的Y坐标,QD_ZH为新坐标系的原点的施工桩号。 Public Function fan_zuobiaoxi_zhuanhua_y(C As Double, D As Double, U As Double, A As Double, B As Double, QD_ZH As Double) As Double U = U * 3.14159265358979 / 180 fan_zuobiaoxi_zhuanhua_y = D + (A - QD_ZH) * Sin(U) + B * Cos(U) End Function
    姓  名:nys200611-3-23 5:22 修改
 按"solve"键下面的“X■"键就行了
    姓  名:nys200611-3-23 5:16 修改
 好东西,我收藏了
    姓  名:nys200611-3-23 5:14 修改
 另外把程序再改一下,你这个程序没有关闭“对象捕捉”,在使用程序绘图时,一定要关闭“对象捕捉”模式,如下更好一些: (defun c:sanxian() (setq os (getvar "osmode")) (setvar "osmode" 0) ;关闭“对象捕捉” (setq p1 (getpoint "输入第一点:")) (setq p3(getpoint "输入下一点:")) (setq p2 p3) (command "pline" p1 p2) (while (/= p2 nil) (setq p2 (getpoint "输入下一点:")) (command p2) ) (setq a (angle p1 p3)) (setq pt1 (polar p1 (+(/ pi 2) a) 0.4)) (setq pt2 (polar p1 (+(/ pi 2) a) -0.4)) (setvar "osmode" os) ;打开本程序运行前的“对象捕捉”模式 (command "offset" 0.4 p1 pt1 "") (command "offset" 0.4 p1 pt2 "") )
    姓  名:nys200611-3-23 5:6 修改
 这是绘图区域太大,选取指定方向时没有分清在多样线的那面造成的,如果你把绘图区域缩小到能明显分清0.4的间距时,一般就能绘出三条线来,或者把间距由0.4修改大到所在绘图区域能分辨清两线间距也能绘出三条线来
    姓  名:nys200611-3-23 4:4 修改
 是待求点到切点的近似水平距离,实际计算时就按水平距离计算也就是两点里程桩号相减的差值,编程时注意判断是在变坡点与竖曲线圆心连线的那一侧
    姓  名:nys200611-3-23 3:46 修改
 编这种程序最好看一下已经编好的程序的相同语句,照猫画虎就行。
    姓  名:nys200611-3-23 3:43 修改
 那是IF...then...esle....IFEND语句嘛,IF、Then和Else后面都肯定要有一个空格。
    姓  名:nys200611-3-23 3:39 修改
 当然底板的超欠挖的计算也要编写进去。
    姓  名:nys200611-3-23 3:35 修改
 这个程序的编写不完整,它没有整个隧洞圆心高程计算子程序(只有局部竖曲线段的高程计算),另外程序编写比较繁杂,凌乱。其实它的正算主程序是没用的,我们完全可以把"FS"、“CQW"和”CQJC"三个程序完全联成一个主程序,每次只输入放样点的X,Y,H,然后直接计算出这个点的超欠挖量来,不过这个程序也基本上建立了这种隧洞开挖计算的子程序,而且程序编写语句精练。如果我去干这种隧洞,我可以编写到你只需要带上控制点坐标,然后只有一个主程序,每次直接输入三维坐标,运行反算主程序,再运行隧洞圆心高程计算子程序,然后程序自动判断是运行"CQW"或者“CQJC",最后直接计算出超欠挖量来,
    姓  名:nys200611-3-23 2:33 修改
 我上传到这个地方了:http://good.gd/pages/FileManage.aspx?FileId=1062897
    姓  名:nys200611-3-23 2:31 修改
 我已经上传了修改好的程序,到网站指定的地方去找吧
    姓  名:nys200611-3-23 1:56 修改
 后面的三角符号不能带,要去掉,看你频繁使用“:”,应该是5800或者更好的计算器了,“=>”最好改用"IF"语句,可以改为如下: If Z>=0 And Z<10: Then 123 ->A:234->B:678->H:IfEnd: If Z>=10 And Z<20: Then 321 ->A:432->B:876->H:IfEnd: Z是里程桩号,其它可以累推。
    姓  名:nys200611-3-23 1:34 修改
 附合导线前进方向左手对应的夹角是左角,右手对应的夹角是右角,左角和右角是相对的,如果附合导线前进方向改变,左角就会变成右角,右角变成左角。如果你以导线前进方向后面的方向为起始零方向,测回法观测后盘左方向角相减得到的是近似左角。原始数据的计算方法最好是查阅一下《测量学》。
    姓  名:nys200611-3-23 1:11 修改
 麻烦你用这个重新编写一下,严格按我的程序编写吧,你的“:”用的乱七八糟。 特别感谢你,让我把自己计算器中的程序整理到了电脑中。 1.主程序(QX JS) "SHIGONG ZUOBIAO=>DADI ZUOBIAO=1, DADI ZUOBIAO => SIGONG ZUOBIAO=2"?N: "X0"?U :"Y0"?V:"S0" ?O:"F0"?G:"LS" ?H:"R0"?P:"RN"?R:?Q: 1÷P→C:(P-R)÷(2HPR)→D:180÷π→E: If N=1:Then Lbl 1:“ZHUANGHAO=”?S:“PIANJU=”?Z: Abs(S-O)→W:Prog "SUB1":Cls: "XS=":Locate 4,1,X:"YS=":Locate 4,2,Y◢ Goto 1:Cls:Goto1:IfEnd: If N=2:Then Lbl 2:”X=”?X:”Y=”?Y:X→I:Y→J:Prog "SUB2":Cls: "S=":Locate 3,1,O+W:"Z=":Locate 3,2,Z◢ Cls:Goto 2:IfEnd: 2. 正算子程序(SUB1) 0.1739274226→A:0.3260725774→B:0.0694318442→K:0.3300094782→L: 1-L→F:1-K→M: U+W(Acos(G+QEKW(C+KWD))+Bcos(G+QELW(C+LWD))+Bcos(G+QEFW(C+FWD))+Acos(G+QEMW(C+MWD)))→X: V+W(Asin(G+QEKW(C+KWD))+Bsin(G+QELW(C+LWD))+Bsin(G+QEFW(C+FWD))+Asin(G+QEMW(C+MWD))) → Y: G+QEW(C+WD)+90→ F:X+ZcosF→X:Y+ZsinF→Y: 3. 反算子程序(SUB2) G-90 →T: Abs((Y-V)cosT-(X-U)sinT)→W:0→Z: Lbl 0:Prog "SUB1": T+QEW(C+WD) → L: (J-Y)cosL-(I-X)sinL→Z: If Abs(Z)<1E-6:Then O→Z:Prog “SUB1”:(J-Y)/sin(F) →Z:Else W+Z→W:Goto 0: IfEnd: 使用说明: X0 ?线元起点的X坐标 Y0 ?线元起点的Y坐标 S0 ?线元起点里程 F0 ?线元起点切线方位角 LS ?线元长度 R0 ?线元起点曲率半径 RN ?线元止点曲率半径 Q ?线元左右偏标志(左偏Q=-1,右偏Q=1,直线段Q=0) S ?正算时所求点的里程 Z ?正算时所求点距中线的边距(左侧取负,值右侧取正值,在中线上取零) X ?反算时所求点的X坐标 Y ?反算时所求点的Y坐标
    姓  名:nys200611-3-22 23:13 修改
 很简单的数学公式编写的实在太复杂了,给大家提供两种Excel中最简单的方位角计算公式:大家可以试一下 方法一: “度”格式: =(PI()*(1 - SIGN(B3-B1) / 2) - ATAN((A3-A1) /(B3-B1)))*180/PI() 方法二:(本人编写的计算方法) 可在C1单元格中输入以下公式进行计算(“度”格式): =Degrees(Atan2(A1-A3,B1-B3)+Pi()) 注:以上公式也可在其它单元格中编写,此处只是为了后续公式的编写
  选中所有  
  分页: [1]

 
用户名称:
登陆密码:
Cookies:不保留保留
用户注册 忘记密码 
  nys2006 的分类查看
     查看问题
     查看文章
     查看软件
     查看风采
     查看信息
     查看评论
     空间博客New!
     注册信息
          
关于本站新手须知积分规则会员信息回复更新网页管理TOP返回上一页
Copyright © 2003 - 2013 测量空间】celiang.net 粤ICP备10084048号 All Rights Reserved
站务QQ:24172486┋邮箱:admin#celiang.net┋页面生成:142毫秒