利用ExcelVBA程序计算曲线坐标
更新时间:2023-05-10 17:18:01 阅读量: 实用文档 文档下载
Excel 是大家很熟悉的办公软件,相信大家在工作中经常使用。本文利用Excel VBA 编制程序计算铁路缓和曲线的坐标,并将计算坐标转化为任意平面坐标系下的坐标,最后转化全站仪可识别的文件格式,从而实现了曲线坐标计算和现场放样的一体化。
利用ExcelVBA程序计算曲线坐标
张卫庭高强
(中铁济南勘察设计咨询院有限公司山东
济南
250022)
【摘要】Excel是大家很熟悉的办公软件,相信大家在工作中经常使用。本文利用ExcelVBA编制程序计算铁路缓和曲线的坐标,并将计算坐标转化为任意平面坐标系下的坐标,最后转化全站仪可识别的文件格式,从而实现了曲线坐标计算和现场放样的一体化。
【关键词】ExcelVBA;曲线要素;坐标转化;全站仪
1.曲线坐标计算
计算曲线坐标,难免要把角度转化为EXCEL
所识别的弧度来计算,为此首先要做的是角度转化为弧度。打开Excel,按Alt+F11即进入VBAIDE,在菜单上依次点击[插入]->[模块],然后输入如下代码
1.1角度转化为弧度
如下图,新建一个窗体,在窗体上添加文本、
命令等控件,分别存放已知曲线要素。在命令按钮“计算”的代码中加入如下主要代码:
xHZ=T(1+cosγ)yHZ=±Tsinγ
1.2.2程序的实现
’
PublicConstpi=3.14159265359PublicFunctionDEG(nAsDouble)
DimAAsDouble,BAsDouble,CAsDouble,DAsDouble,EAsDouble,FAsDouble,GAsDouble,KAAsDouble
D=Abs(n)+0.000000000000001F=Sgn(n)A=Int(D)
B=Int((D-A)*100)C=D-A-B/100
DEG=F*(A+B/60+C/0.36)*pi/180EndFunction
1.2曲线坐标计算
1.2.1计算曲线坐标的公式加入缓和曲线后的铁路曲线示意图(见右图)
坐标系的建立主要取决于控制点的情况。如果控制点是为测设曲线而布设的,则坐标系一般采用ZH—XY坐标系统
①ZH~HY段曲线点的坐标根据缓和曲线方程计算:
xA=lA-
lA40R2l0
3
7
5
lAlA
-yA=±
0336R3l0
"
#%%%%%$%%%%%&
PrivateSubCommandButton1_Click()
DimbjAsSingle,pjAsString,loAsSingle,iAsIntegerDimzjhAsInteger,gsAsInteger'标志加号的位置DimxsdAsInteger'小数点位置
DimtdzxAsSingle'将hz里程加直线长结果赋予该变量DimzxzdlcAsString'终点里程DimzczjhAsIntegerDimdyzxAsString
DimdyzxjhAsInteger'曲线后第一里程加号DimwsgsAsInteger'DimyqgsAsInteger
bj=Val(TextBox1.Text):pj=TextBox2.Text:lo=Val(TextBox3.Text)
Worksheets(1).Select
Worksheets(1).Cells(2,4)=Round(lo/2-(lo^3/(240*bj^2)),3)
Worksheets(1).Cells(2,5)=Round(lo^2/(24*bj),3)
Worksheets(1).Cells(2,1)=Round(Worksheets(1).Cells(2,4)+(bj+Worksheets(1).Cells(2,5))*Tan((dfmzhd(pj))/2),3)
Worksheets(1).Cells(2,2)=lo+bj*dfmzhd(pj)
Worksheets(1).Cells(2,2)=Round(Worksheets(1).Cells(2,2),3)
Worksheets(1).Cells(2,3)=Round((bj+Worksheets(1).Cells(2,5))/(Cos(dfmzhd(pj)/2))-bj,3)
Worksheets(1).Cells(2,6)=dzdfm(90*lo/(pi*bj))WithWorksheets(1).Cells
.HorizontalAlignment=xlCenter.VerticalAlignment=xlBottom.WrapText=False.Orientation=0EndWith
Worksheets(1).Range("a1:g10").ColumnWidth=12'UserForm1.Hide
'zhlc=Application.InputBox("ZH点里程:","请输入",,,,,,1+2)
Worksheets(1).Cells(4,1)="桩号":Worksheets(1).Cells(4,2)="X(N)坐标":Worksheets(1).Cells(4,3)="Y(E)坐标":Worksheets(1).Cells(4,4)="附注"
With
Worksheets(1).Range("a4:e4").Cells
当曲线右偏时yA坐标为正,左偏时yA坐标为负。②HY~YH段曲线点的坐标为:
xB=RsinαB+m
yB=±[R(1-cosαB)+p]
式中αB=KB-KHY+β0,曲线右偏时yB坐标为正,左偏时yB坐标为
负。
’
③YH~HZ段曲线点在以HZ点为原点,以HZ点切线为X轴,交点至HZ方向为正向的测量坐标系(HZ—X'Y')下的坐标为
x=-lC-'C
lClC
-y'C=±
0336R3l0
!lC40R2l0
5
"
7
3
"
'C'C
HZHZ
#%%%%%$%%%%%&
式中,lC为C点到缓和曲线起点的曲线长;按里程增加方向,当曲线右偏时y'C坐标为正,左偏时y'C坐标为负。
根据坐标平移、旋转公式,将YH~HZ段曲线点的坐标换算到ZH—XY坐标系下,为
xcosγ=(()y-sinγ
CCsinγ
cosγxx
+(**+*yy
式中,γ为两坐标系X轴间的夹角,其与线路转向角的关系是:γ=
αZ或γ=-αY;xHZ、yHZ为HZ点在ZH—XY下的坐标,且为
822
Excel 是大家很熟悉的办公软件,相信大家在工作中经常使用。本文利用Excel VBA 编制程序计算铁路缓和曲线的坐标,并将计算坐标转化为任意平面坐标系下的坐标,最后转化全站仪可识别的文件格式,从而实现了曲线坐标计算和现场放样的一体化。
●
.HorizontalAlignment=xlCenter.VerticalAlignment=xlBottom.WrapText=False.Orientation=0.Font.Size=12.Font.Bold=True.Font.Italic=True.Font.ColorIndex=3EndWith
1.2.3结果显示单击计算按钮,在EXCEL下显示结果如下:
调入全站仪现场放样,这样既方便又简洁。
Leica全站仪文件格式中,以21.324开头的表示水平角,以22.324开头的表示竖直角,以81..00开头的表示X坐标,以82..00开头的表示Y坐标,其它格式可参考仪器说明书来确定。知道了仪器文件的格式含义,就可以把坐标和高程转化为仪器可识别的格式。主要代码如下:
IfWorksheets(1).Cells(sjgs+4,4)=""Then
txt.WriteLine"*11"&Format(sjgs,"0000")&"+"&补零(Worksheets(1).Cells(sjgs+4,1))&""&"21.324+"&"0000000000000000"&""&"22.324+"&"0000000000000000"&""&"31..00+"&"0000000000000000"&""&"51..1.-"&"000000000000+000"&""&"81..00"&添加号(Trim(Worksheets(1).Cells(sjgs+4,3)))&""&"82..00"&添加号(Worksheets(1).Cells(sjgs+4,2))&""&"83..00+"&"0000000000000000"
Else
txt.WriteLine"*11"&Format(sjgs,"0000")&"+"&补零(Worksheets(1).Cells(sjgs+4,1))&""&"21.324+"&"0000000000000000"&""&"22.324+"&"0000000000000000"&""&"31..00+"&"0000000000000000"&""&"51..1.-"&"000000000000+000"&""&"81..00"&添加号(Trim(Worksheets(1).Cells(sjgs+4,3)))&""&"82..00"&添加号(Worksheets(1).Cells(sjgs+4,2))&""&"83..00"&添加号(Worksheets(1).Cells(sjgs+4,4))&""&"31..00+000000000000767488..10+000000000000138533..10+0000000000001847"
EndIf
上述仪器格式在LeicaTC1800及LeicaTCR1101都可以识别读取数据,在现场放样中直接从仪器调出要放样的数据,省去了许多现场计算和记录的手续。
2.坐标转化
2.1数学公式上述生成的坐标为以ZH点为坐标原点,ZH点到JD的切线为X轴,垂直该切线为Y轴坐标系下的各点坐标,如何转化为任意坐标系下的坐标呢?具体如下:
坐标转化数学公式:X=xcosθ+ysinθ+x0
4.结束语
由于VBA与Excel2003结合得非常紧密,因此Excel2003提供的各个功能都可以直接使用VBA操作。在Excel2003中使用VBA其益处在于:首先,它可以将大量的、尤其是重复的操作记录为一个VBA程序,用户则只需利用一个简单的菜单命令或工具栏按钮就可实现复杂操作的自动化;其次,它可以通过控制Excel2003对象,在一个工作表中灵活地控制其它工作表、数据表或文档,从轻松实现不同工作表之间的交互;最后,利用VBA编辑器中提供的丰富的控件设置,用户还可以创建自己的VBA应用程序,从而实现一个企业级的信息控制系统。科
Y=ycosθ-xsinθ+y0
式中X,Y为转化后的坐标;x,y为原坐标;θ为新坐标X轴相对于旧坐标X轴的旋转角;x0、y0为旧坐标原点在新坐标系下的坐标。
2.2主要实现代码
DimkAsInteger
Dimyhzb,yhqdAsInteger'HZ以后的坐标Fork=5To(9+2*n+yhqd+yhzd)
Worksheets(2).Cells(k,2)=Round(Worksheets(1).Cells(k,2)*Cos(dfmzhd(TextBox2.Text))+Worksheets(1).Cells(k,3)*Sin(dfmzhd(TextBox2.Text))+Val(TextBox1.Text),3)
Worksheets(2).Cells(k,3)=Round(Worksheets(1).Cells(k,3)*Cos(dfmzhd(TextBox2.Text))-Worksheets(1).Cells(k,2)*Sin(dfmzhd(TextBox2.Text))+Val(TextBox3.Text),3)
Nextk
3.生成全站仪格式文件
将上述生成的坐标,如果转化为仪器可识别的文件,就可以直接
●
【参考文献】
[1]Excel2000中文版VBA开发实例指南,电子工业出版社,2000年8月.[2]铁道工程,中国铁道出版社,2000年3月.[3]测量学原理,中国林业出版社,2002年10月.
作者简介:张卫庭(1974.7—),男,大学本科(学士),中铁济南勘察设计咨询院有限公司工程师,主要从事铁路工程专业。
[责任编辑:翟成梁
]
●
(上接第821页)件)加入Lynx中的场景,并根据飞机校靶的运动特点,设置其相应参数,生成缺省的视景仿真文件.adf文件。用MFC通过调用Vega函数库,通过引入.adf文件并编写代码,采集识别外部信号,对飞机校靶过程进行交互控制,最后生成实时应用程序,实现飞机校靶仿真,为部队飞机校靶提供了较好的方法。经教学试用,能够很好提高地勤人员对飞机校靶的操作熟练程度。科
【参考文献】
[1]李云华,虚拟现实技术综述[J].重型机械科技,2004(4).
[2]柴毅,史晶晶,冯大龙.基于Vega的航天发射场视景仿真系统实现[J].计算机仿真,2007,6(63-65).
[3]龚卓蓉.Vega程序设计[M].北京:国防工业出版社,2002,8.[4]龚卓蓉.lynx图形界面[M].北京:国防工业出版社,2008,8.
作者简介:王建军(1966—),男,汉族,河南人,硕士研究生,副教授,研究方向是装备训练虚拟现实。
张勤安(1965—),男,汉族,河南人,硕士研究生,高级工程师,研究方向是火力控制。
和麦成(1967—),男,汉族,河南人,硕士研究生,高级工程师,研究方向是装备监造。
[责任编辑:张慧]
823
正在阅读:
利用ExcelVBA程序计算曲线坐标05-10
《赢在中国》马云语录02-10
如何顺利提高物业费收取情况07-30
2017年常州市中考数学试题含答案解析07-05
“宅一生”是个悲剧,请战胜社交恐惧症02-10
箱梁预制施工技术方案03-03
技术交底(底板模板)09-23
这一生有你就足够了11-03
管理系统中计算机应用复习03-22
咨询公司项目经理培训之如何进行文案管理09-06
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 坐标
- 曲线
- ExcelVBA
- 利用
- 计算
- 程序
- 汐子中学初二历史下学期教学工作总结
- 井下人员定位系统管理制度
- 无限极享优乐净水器4-3+活水到家
- 2010平安夜文艺晚会主持稿
- 中小型制造企业的ERP系统应用战略
- 六年级语文上口语交际一
- CH03椭圆方程差分法CH3.1-3.7
- 公考行测资料分析—小数与分数转化表_国考联考省考
- Zoo Coffee商业报告
- 美国大学转学申请常见问题
- 某工程主体总承包施工组织设计-187DOC
- 联合型企业物流设备与作业标准化研究
- 第21章 人工流产综合征的护理
- 08高一物理第六章曲线运动测试卷-新课标
- 全球免费开放的电子图书馆
- 利用甲壳胺和海藻酸钠处理染整废水
- 幼儿教师实习工作总结范文精选
- 2012年河南省普通高校招生本科二批院校平行投档分数线(文科)
- 20世纪美国现实主义文学
- 驻马店市中级人民法院执行驻马店市地方税务局稽查局申请执行驻马