测量程序测量代码方便实用.docx
- 文档编号:28554567
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:156
- 大小:124.79KB
测量程序测量代码方便实用.docx
《测量程序测量代码方便实用.docx》由会员分享,可在线阅读,更多相关《测量程序测量代码方便实用.docx(156页珍藏版)》请在冰豆网上搜索。
测量程序测量代码方便实用
测量程序测量代码方便实用
Functioncnx(zk,s,a,d,v)
'完整曲线直线+缓和曲线+圆曲线+缓和曲线+直线
Ifzk>=60600Andzk<=Then
'有关数据输入
jd1=60600
jd1x=
jd1y=
jd2=
jd2x=
jd2y=
ls=315
r=2400
u=1
zh=
hy=
yh=
hz=
'有关数据计算
Letpi=
yy=jd2y-jd1y
xx=jd2x-jd1x
fwj=Atn(yy/xx)
Ifyy>0Andxx<0Then
fwj=fwj+pi
EndIf
Ifyy<0Andxx<0Then
fwj=fwj+pi
EndIf
Ifyy<0Andxx>0Then
fwj=fwj+pi*2
EndIf
Iffwj>pi*2Then
fwj=fwj-pi*2
EndIf
Iffwj<0Then
fwj=fwj+pi*2
EndIf
zhx=jd1x+Cos(fwj)*(zh-jd1)
zhy=jd1y+Sin(fwj)*(zh-jd1)
zhj=fwj+u*Atn(((hy-zh)^3/(6*r*ls)-(hy-zh)^7/(336*r^3*ls^3)+(hy-zh)^11/(42240*r^5*ls^5)-(hy-zh)^15/(9676800*r^7*ls^7))/((hy-zh)-(hy-zh)^5/(40*r^2*ls^2)+(hy-zh)^9/(3456*r^4*ls^4)-(hy-zh)^13/(599040*r^6*ls^6)+(hy-zh)^17/(0*r^8*ls^8)))
hyfwj=fwj+(hy-zh)^2/(2*r*ls)*u
zhc=((hy-zh)^3/(6*r*ls)-(hy-zh)^7/(336*r^3*ls^3)+(hy-zh)^11/(42240*r^5*ls^5)-(hy-zh)^15/(9676800*r^7*ls^7))/Sin(Atn(((hy-zh)^3/(6*r*ls)-(hy-zh)^7/(336*r^3*ls^3)+(hy-zh)^11/(42240*r^5*ls^5)-(hy-zh)^15/(9676800*r^7*ls^7))/((hy-zh)-(hy-zh)^5/(40*r^2*ls^2)+(hy-zh)^9/(3456*r^4*ls^4)-(hy-zh)^13/(599040*r^6*ls^6)+(hy-zh)^17/(0*r^8*ls^8))))
hyx=zhx+Cos(zhj)*zhc
hyy=zhy+Sin(zhj)*zhc
hyj=hyfwj+u*((yh-hy)/r)/2
hyc=Sin(((yh-hy)/r)/2)*2*r
yhx=hyx+Cos(hyj)*hyc
yhy=hyy+Sin(hyj)*hyc
yhfwj=hyfwj+u*((yh-hy)/r)
hzj=yhfwj+u*((hz-yh)^2/(2*r*ls)-Atn(((hz-yh)^3/(6*r*ls)-(hz-yh)^7/(336*r^3*ls^3)+(hz-yh)^11/(42240*r^5*ls^5)-(hz-yh)^15/(9676800*r^7*ls^7))/((hz-yh)-(hz-yh)^5/(40*r^2*ls^2)+(hz-yh)^9/(3456*r^4*ls^4)-(hz-yh)^13/(599040*r^6*ls^6)+(hz-yh)^17/(0*r^8*ls^8))))
hzc=((hz-yh)^3/(6*r*ls)-(hz-yh)^7/(336*r^3*ls^3)+(hz-yh)^11/(42240*r^5*ls^5)-(hz-yh)^15/(9676800*r^7*ls^7))/Sin(Atn(((hz-yh)^3/(6*r*ls)-(hz-yh)^7/(336*r^3*ls^3)+(hz-yh)^11/(42240*r^5*ls^5)-(hz-yh)^15/(9676800*r^7*ls^7))/((hz-yh)-(hz-yh)^5/(40*r^2*ls^2)+(hz-yh)^9/(3456*r^4*ls^4)-(hz-yh)^13/(599040*r^6*ls^6)+(hz-yh)^17/(0*r^8*ls^8))))
hzx=yhx+Cos(hzj)*hzc
hzy=yhy+Sin(hzj)*hzc
hzfwj=yhfwj+u*((hz-yh)^2/(2*r*ls))
'直线计算
Ifzk>=jd1Andzk<=zhAndv=1Then
cnx=jd1x+Cos(fwj)*(zk-jd1)+Cos(fwj)*s+Cos(fwj+a*pi/180)*d
EndIf
Ifzk>=jd1Andzk<=zhAndv=2Then
cnx=jd1y+Sin(fwj)*(zk-jd1)+Sin(fwj)*s+Sin(fwj+a*pi/180)*d
EndIf
'第一条缓和曲线计算
Ifzk>zhAndzk l=zk-zh x=l-l^5/(40*r^2*ls^2)+l^9/(3456*r^4*ls^4)-l^13/(599040*r^6*ls^6)+l^17/(0*r^8*ls^8) y=l^3/(6*r*ls)-l^7/(336*r^3*ls^3)+l^11/(42240*r^5*ls^5)-l^15/(9676800*r^7*ls^7) j=Atn(y/x) c=y/Sin(j) zj=l^2/(2*r*ls) Ifzk>zhAndzk cnx=zhx+Cos(fwj+u*j)*c+Cos(fwj+u*zj)*s+Cos(fwj+u*zj+a*pi/180)*d EndIf Ifzk>zhAndzk cnx=zhy+Sin(fwj+u*j)*c+Sin(fwj+u*zj)*s+Sin(fwj+u*zj+a*pi/180)*d EndIf EndIf '圆曲线计算 Ifzk>=hyAndzk<=yhThen l=zk-hy j=(l/r)/2 zj=2*j c=Sin(j)*2*r Ifzk>=hyAndzk<=yhAndv=1Then cnx=hyx+Cos(hyfwj+u*j)*c+Cos(hyfwj+u*zj)*s+Cos(hyfwj+u*zj+a*pi/180)*d EndIf Ifzk>=hyAndzk<=yhAndv=2Then cnx=hyy+Sin(hyfwj+u*j)*c+Sin(hyfwj+u*zj)*s+Sin(hyfwj+u*zj+a*pi/180)*d EndIf EndIf '第二条缓和曲线计算 Ifzk>yhAndzk l=hz-zk x=l-l^5/(40*r^2*ls^2)+l^9/(3456*r^4*ls^4)-l^13/(599040*r^6*ls^6)+l^17/(0*r^8*ls^8) y=l^3/(6*r*ls)-l^7/(336*r^3*ls^3)+l^11/(42240*r^5*ls^5)-l^15/(9676800*r^7*ls^7) j=Atn(y/x) c=y/Sin(j) zj=l^2/(2*r*ls) fj=zj-j Ifzk>yhAndzk cnx=hzx+Cos(hzfwj+pi+(-u)*j)*c+Cos(hzfwj+(-u)*zj)*s+Cos(hzfwj+(-u)*zj+a*pi/180)*d EndIf Ifzk>yhAndzk cnx=hzy+Sin(hzfwj+pi+(-u)*j)*c+Sin(hzfwj+(-u)*zj)*s+Sin(hzfwj+(-u)*zj+a*pi/180)*d EndIf EndIf EndIf '结束 '完整曲线直线+缓和曲线+圆曲线+缓和曲线+直线 Ifzk>=Andzk<=Then '有关数据输入 jd1='交点1的桩号 jd1x='交点1的X坐标 jd1y='交点1的Y坐标 jd2='交点2的桩号 jd2x='交点2的X坐标 jd2y='交点2的Y坐标 ls=335'缓和曲线长 r=3000'圆曲线半径 u=-1'转向(左转为负,右转为正) zh='直缓点桩号 hy='缓圆点桩号 yh='圆缓点桩号 hz='缓直点桩号 '有关数据计算 Letpi= yy=jd2y-jd1y xx=jd2x-jd1x wj=Atn(yy/xx) Ifyy>0Andxx>0Then fwj=wj EndIf Ifyy>0Andxx<0Then fwj=wj+pi EndIf Ifyy<0Andxx<0Then fwj=wj+pi EndIf Ifyy<0Andxx>0Then fwj=wj+pi*2 EndIf Iffwj>pi*2Then fwj=fwj-pi*2 EndIf Iffwj<0Then fwj=fwj+pi*2 EndIf zhx=jd1x+Cos(fwj)*(zh-jd1) zhy=jd1y+Sin(fwj)*(zh-jd1) zhj=fwj+u*Atn(((hy-zh)^3/(6*r*ls)-(hy-zh)^7/(336*r^3*ls^3)+(hy-zh)^11/(42240*r^5*ls^5)-(hy-zh)^15/(9676800*r^7*ls^7))/((hy-zh)-(hy-zh)^5/(40*r^2*ls^2)+(hy-zh)^9/(3456*r^4*ls^4)-(hy-zh)^13/(599040*r^6*ls^6)+(hy-zh)^17/(0*r^8*ls^8))) hyfwj=fwj+(hy-zh)^2/(2*r*ls)*u zhc=((hy-zh)^3/(6*r*ls)-(hy-zh)^7/(336*r^3*ls^3)+(hy-zh)^11/(42240*r^5*ls^5)-(hy-zh)^15/(9676800*r^7*ls^7))/Sin(Atn(((hy-zh)^3/(6*r*ls)-(hy-zh)^7/(336*r^3*ls^3)+(hy-zh)^11/(42240*r^5*ls^5)-(hy-zh)^15/(9676800*r^7*ls^7))/((hy-zh)-(hy-zh)^5/(40*r^2*ls^2)+(hy-zh)^9/(3456*r^4*ls^4)-(hy-zh)^13/(599040*r^6*ls^6)+(hy-zh)^17/(0*r^8*ls^8)))) hyx=zhx+Cos(zhj)*zhc hyy=zhy+Sin(zhj)*zhc hyj=hyfwj+u*((yh-hy)/r)/2 hyc=Sin(((yh-hy)/r)/2)*2*r yhx=hyx+Cos(hyj)*hyc yhy=hyy+Sin(hyj)*hyc yhfwj=hyfwj+u*((yh-hy)/r) hzj=yhfwj+u*((hz-yh)^2/(2*r*ls)-Atn(((hz-yh)^3/(6*r*ls)-(hz-yh)^7/(336*r^3*ls^3)+(hz-yh)^11/(42240*r^5*ls^5)-(hz-yh)^15/(9676800*r^7*ls^7))/((hz-yh)-(hz-yh)^5/(40*r^2*ls^2)+(hz-yh)^9/(3456*r^4*ls^4)-(hz-yh)^13/(599040*r^6*ls^6)+(hz-yh)^17/(0*r^8*ls^8)))) hzc=((hz-yh)^3/(6*r*ls)-(hz-yh)^7/(336*r^3*ls^3)+(hz-yh)^11/(42240*r^5*ls^5)-(hz-yh)^15/(9676800*r^7*ls^7))/Sin(Atn(((hz-yh)^3/(6*r*ls)-(hz-yh)^7/(336*r^3*ls^3)+(hz-yh)^11/(42240*r^5*ls^5)-(hz-yh)^15/(9676800*r^7*ls^7))/((hz-yh)-(hz-yh)^5/(40*r^2*ls^2)+(hz-yh)^9/(3456*r^4*ls^4)-(hz-yh)^13/(599040*r^6*ls^6)+(hz-yh)^17/(0*r^8*ls^8)))) hzx=yhx+Cos(hzj)*hzc hzy=yhy+Sin(hzj)*hzc hzfwj=yhfwj+u*((hz-yh)^2/(2*r*ls)) '直线计算 Ifzk>=jd1Andzk<=zhAndv=1Then cnx=jd1x+Cos(fwj)*(zk-jd1)+Cos(fwj)*s+Cos(fwj+a*pi/180)*d EndIf Ifzk>=jd1Andzk<=zhAndv=2Then cnx=jd1y+Sin(fwj)*(zk-jd1)+Sin(fwj)*s+Sin(fwj+a*pi/180)*d EndIf '第一条缓和曲线计算 Ifzk>zhAndzk l=zk-zh x=l-l^5/(40*r^2*ls^2)+l^9/(3456*r^4*ls^4)-l^13/(599040*r^6*ls^6)+l^17/(0*r^8*ls^8) y=l^3/(6*r*ls)-l^7/(336*r^3*ls^3)+l^11/(42240*r^5*ls^5)-l^15/(9676800*r^7*ls^7) j=Atn(y/x) c=y/Sin(j) zj=l^2/(2*r*ls) Ifzk>zhAndzk cnx=zhx+Cos(fwj+u*j)*c+Cos(fwj+u*zj)*s+Cos(fwj+u*zj+a*pi/180)*d EndIf Ifzk>zhAndzk cnx=zhy+Sin(fwj+u*j)*c+Sin(fwj+u*zj)*s+Sin(fwj+u*zj+a*pi/180)*d EndIf EndIf '圆曲线计算 Ifzk>=hyAndzk<=yhThen l=zk-hy j=(l/r)/2 zj=2*j c=Sin(j)*2*r Ifzk>=hyAndzk<=yhAndv=1Then cnx=hyx+Cos(hyfwj+u*j)*c+Cos(hyfwj+u*zj)*s+Cos(hyfwj+u*zj+a*pi/180)*d EndIf Ifzk>=hyAndzk<=yhAndv=2Then cnx=hyy+Sin(hyfwj+u*j)*c+Sin(hyfwj+u*zj)*s+Sin(hyfwj+u*zj+a*pi/180)*d EndIf EndIf '第二条缓和曲线计算 Ifzk>yhAndzk l=hz-zk x=l-l^5/(40*r^2*ls^2)+l^9/(3456*r^4*ls^4)-l^13/(599040*r^6*ls^6)+l^17/(0*r^8*ls^8) y=l^3/(6*r*ls)-l^7/(336*r^3*ls^3)+l^11/(42240*r^5*ls^5)-l^15/(9676800*r^7*ls^7) j=Atn(y/x) c=y/Sin(j) zj=l^2/(2*r*ls) fj=zj-j Ifzk>yhAndzk cnx=hzx+Cos(hzfwj+pi+(-u)*j)*c+Cos(hzfwj+(-u)*zj)*s+Cos(hzfwj+(-u)*zj+a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测量 程序 代码 方便 实用