首页 Excel工程测量编程图解教程

Excel工程测量编程图解教程

举报
开通vip

Excel工程测量编程图解教程Excel工程测量编程图解教程 Excel 本教程结合图片,简洁易懂,特别适合测量人员,或者Excel爱好者、工程设计者、工程技术人员学习。 作者:本科学历,修工程专业, Excel运用级别—上级,编程爱好度—炽热。 如果您对Excel编程感兴趣,您一定了解CASIO4500,4800,4800P,5800。然而可叹的是,一代一代更新,容量却没有突出的改进,编程语言也是字母或者数字类。智能手机的崛起,掀起测设业的新潮流。她的大容量,她的完美的Excel功能,使我们的渴望已久的梦想得以实现。您从此不用面对繁杂的...

Excel工程测量编程图解教程
Excel工程测量编程图解教程 Excel 本教程结合图片,简洁易懂,特别适合测量人员,或者Excel爱好者、工程设计者、工程技术人员学习。 作者:本科学历,修工程专业, Excel运用级别—上级,编程爱好度—炽热。 如果您对Excel编程感兴趣,您一定了解CASIO4500,4800,4800P,5800。然而可叹的是,一代一代更新,容量却没有突出的改进,编程语言也是字母或者数字类。智能手机的崛起,掀起测设业的新潮流。她的大容量,她的完美的Excel功能,使我们的渴望已久的梦想得以实现。您从此不用面对繁杂的字母数字标志,不用担心忘了某个标志是说什么意思,您只需在电脑上把程序编好,然后拷入手机,只差您在现场潇潇洒洒的指点屏幕了。这时你才会感叹:测量啊,1加1是那么的简单,傻瓜都会~所以学好Excel编程,淋漓尽致发挥其应用平台,才是我们的初衷。 所以熟练掌握Excel编程,是您顺利工作轻松完成任务的得力助手。如果你读完本教程,你很可能马上设计出,计算精确、功能强大的程序。进而掌握兼容断链、长链、直线、圆曲线、缓和曲线、回旋曲线、竖曲线;包括中边桩坐标正算,坐标反算,中桩高程计算,边桩高程计算,以及强大的逐桩坐标计算,还有独具特色的隧道掌子面HDR放样法等等的编程技巧。除了电脑版,您还可以对界面略作改变,称为手机版,要仔细调整单元格幅度,使其刚好适合手机屏幕,并且字迹清晰,便于输入,界面一目了然。当然输入参数提示语您也可以DIY。 一、电脑版Excel工程测量编程方法: 首先,根据Excel内置函数,设计正算反算等的工作表,不要另建工作薄,在同一个工作薄内多建立工作表,如果一个不够,就新建第二个第三个。。。。。。,因为Excel各个工作表之间可以互相嵌套,因此不用担心你一条1000公里的铁路段,哎呀Excel表不够用,这点是不必要的担心。 然后,用心调整界面,尤其是计算面板,她直接面向你,供你输入数据,因此应调整好单元格大小字体颜色,以及注释说明,做到美观大方,使用性强。最后在实用阶段,最好把表格保护一下,避免误操作,使主程序区被破坏,引起不必要的损失。 1、程序文件夹:(不要被容量吓坏了哦,25916,CASIO4500,4800,4800P,5800容量当然不够。不要担心,现在的有的智能手机内置容量14G~) 编好的手机版,电脑版最好放在同一文件夹里,便于查找和编辑。 2、封面制作方法: 可以使用插入图片,增强程序的美观,字体可以使用插入艺术字,然后调整其矢量。以作出自己的作品为目的,然后给你的程序提一个有创意的名字。并对你的作品做一介绍。 3、坐标正算面板设计: 用蓝色表示需要你输入的实测数据,用绿色表示计算结果,用黄色或者红色表示主程序区不能随意乱动的。这样醒目不易混淆,很直观。 4、坐标反算面板设计: 反算编程的同时,应该把放样的数据计算也设计出来,因为我们反算的目的 往往是为了放样而行,或者是为了和设计数据作比较。 如果有断链,就设计出一个分块,用来直观地查看你的里程在断链的什么位置。 5、计算高程面板的设计: 要考虑到横坡的放样。 6、逐桩坐标高程的设计: 首先把构造物的里程考虑进去,这个可以在逐桩坐标里根据其桩号,计算坐标和高程。一边在放样时使用和查看。 然后设计间距,即逐桩坐标打印页面的桩号间距。 7、逐桩坐标高程一览的设计: 设计这个时不用太费事了,先做个主表,然后用打印表嵌套之。主表最好保 护一下,隐藏起来,打印表可以不保护,因为打印时可能需要调整其大小。 8、曲线设置面板的设计: 最好分为三块,设置断链、设置平曲线、设置竖曲线。程序设计的所有参数 设置,均集中在这里。 9、主程序工作表设计方法:电脑版的最好隐藏一下,不至于由于不小心动了程 序的不改动的部分,造成前功尽弃。 辅助表: a主点推算: b正算1: c正算2: d反算0: e反算1: f反算2: g逐桩a: h逐桩b: i逐桩1: j逐桩2: k高程0: l辅助: 二、智能手机版Excel工程测量编程 方法: 这个要简单的多了,先把电脑版的调整一下,可以去掉逐桩坐标的版块,因为手机版主要为了现场使用,然后调整界面大小,刚好适应手机屏幕为准。 1坐标正算的设计: 2坐标反算的设计: 3高程计算的设计: 4其它: 三、手机版隧道掌子面放样法程序设 计方法: 好了,夜很深了。眼皮开始打架了。就写到这里吧,希望本文对你 熟练掌握Excel有很大帮助。 利用VBA程序语言绘制公路纵断面图 大 | 打印 发布: 2007-11-06 10:01 作者: 网友搜集 来源: 字体: 小 中 路桥吾爱网络搜集 查看: 452次 评论: 0条 好评: 0分 语音播报本网页内容: 摘要:VBA作为一个集成的开发环境,能够使AutoCAD数据与其它的VBA应用程序,如Microsoft Excel软件,直接共享,实现无缝连接,交换数据。本文介绍如何利用VBA编程建立AutoCAD2000与Excel2000的通信,实现数据交换,快速绘制公路纵断面地面线。 关键词:公路纵断面设计 地面线 VBA AutoCAD与Excel的通信 1 前言 纵断面设计图是道路纵断面设计的主要成果,也是道路设计的重要技术文件之一。在纵断面设计图上有两条主要的线:一条是地面线,它是根据中线上各桩点的高程而点绘的一条不 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf 的折线,反映了沿着中线地面的起伏变化;另一条是设计线,它是经过技术上、经济上以及美学上等多方面比较后定出的一条规则形状的几何线。 公路设计中,在没有专业设计软件辅助的情况下,绘制公路纵断面图是很繁琐的事,需要进行大量的、重复的操作,既劳神,又容易出错。特别在公路外业勘测阶段,需要在短时间内将所测量的中桩高程转化成纵断面图上的地面线,才可以进行路线纵坡设计,分析测量成果(选线)是否合理。 如何快速绘制公路纵断面地面线呢, 答案 八年级地理上册填图题岩土工程勘察试题省略号的作用及举例应急救援安全知识车间5s试题及答案 是:利用Microsoft Excel、AutoCAD都提供的VBA功能,编制程序进行绘制,即把Microsoft Excel表格中的桩号、地面高程等信息读取出来,在AutoCAD文件里以文字、线条的方式写出来,就 可绘出中桩地面线。 2 VBA简介 Visual Basic for Application(VBA)是Microsoft面向最终用户的应用软件编程语言。它最早出现于Microsoft的Excel和Project中,如今VBA已成为VB和所有Office产品的组件。常用的绘图软件AutoCAD也已支持VBA作为二次开发工具。 VBA最大特点和最大优点是利用面向对象(OOP)的ActiveX Automation技术,使语言的引擎在技术上与开发环境分离。它的功能在很大程度上依赖于它的客户显露的Automation接口。同时,由于VBA是基于ActiveX Automation技术,它可以使用任何Automation技术的应用程序共同工作。 基于AutoCAD的VBA应用程序就是高级程序语言的计算功能与AutoCAD的绘图功能结合,使用VBA程序语句来控制对AutoCAD图形的操作。 VBA作为一个集成的开发环境,它提供了高质量的用户化编程能力,能够使AutoCAD数据与其它的VBA应用程序,如Microsoft Excel软件,直接共享,实现无缝连接,交换数据非常方便。 3 工作机理分析 在Microsoft Excel中,与表对应的对象是工作表(Sheet或Worksheet),与每一个表格方格对应的对象是单元格区域(range),它可以仅包括一个单元格(cell),也可以由多个单元格合并而成。工作表对象中的cells属性,在单元格的选择方面可以达到与range相同的效果,它是以行(row)和列(gol)作为参数的,对于行和列的选择可以采用变量的形式。在本例中,可设定工作表(Worksheet)的每一行第一列(cells(i,1))为中桩桩号,每一行第二列(cells(i,2))为对应的地面高程。 在AutoCAD中,没有与表对应的对象,但可以根据表中前后桩号定义水平距离,根据地面高程定义垂直距离,将表中数据理解为线条与文字对象的集合。这样,通过读取Microsoft Excel文件中的最小对象-单元格区域(cells(i,j))的主要信息,利用VBA建立AutoCAD与Excel的通信,然后在AutoCAD文件里指定的图层、位置画线条,书写文字。通过循环,遍历所有单元格区域(cells(i,j)),边读边写,最终完成纵断面地面线的绘制及桩号、地面高程的书写。 4 具体实现方法 4.1 在AutoCAD中创建Excel应用程序 要编写存取Excel的应用程序,必须通过VBA将Excel中的对象能够让用户使用,这就需要参考 Excel对象的数据库。其步骤如下: 4.1.1 打开AutoCAD的VBA编辑器(命令:VBAIDE); 4.1.2 选择"工具"\"引用"项,在弹出的"引用"对话框的"可使用的引用"列表框内,选择"Microsoft Excel 8.0 Object Library"项; 4.1.3 单击"确定"按钮; 4.1.4 接下来使用下列代码可创建完整的应用程序对象实例: Dim Excel As Excel.Application '激活要与之通信的Excel应用程序 On Error Resume Next Set Excel = GetObject(, "Excel.Application") If Err <> 0 Then Set Excel = CreateObject("Excel.Application") End If 4.2 读入坐标点画地面线 4.2.1 设定工作表(Worksheet)的每一行第一列(cells(i,1))为中桩桩号,每一行第二列(cells(i,2))为对应的地面高程。由于公路路线纵断面图水平方向比例为1:2000,垂直方向比例为1:200,故读入时,y坐标应乘以10倍。 4.2.2 以(0,0,0)为原点,以桩号里程为x坐标,以10倍所对应的地面高程为y坐标,0为z坐标,定义某一桩号对应的地面点坐标;然后循环读取各里程桩号数据信息,定义各桩号所对应的地面点坐标;最后以直线段连接各地面点坐标,则为地面线。 4.2.3 下述代码可读入Excel数据信息画地面线 Dim i As Integer Dim lineobj As AcadLine Dim sPnt(0 To 2) As Double Dim ePnt(0 To 2) As Double '读入坐标画地面线 Worksheets("sheet1").Activate i = 3 '由第三行起 Do Until cells(i, 1).value = "" If cells(i + 1, 1) = 0 Then Exit Do End If sPnt(0) = cells(i, 1).value sPnt(1) = 10 * cells(i, 2).value sPnt(2) = 0 ePnt(0) = cells(i + 1, 1).value ePnt(1) = 10 * cells(i + 1, 2).value ePnt(2) = 0 Set lineobj = ThisDrawing.ModelSpace.AddLine(sPnt, ePnt) i = i + 1 Loop 4.3 桩号及高程的写入 4.3.1 定义文字的插入位置 以桩号里程为x坐标,0为y坐标,0为z坐标,确定文字的插入点。 4.3.2 以单行文字形式创建桩号及高程文字,定义文字的 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 、字体、高度、倾斜角度。插入后的文字应逆时针旋转90度。 4.4 辅助网格线的绘制 4.4.1 辅助网格线能较为直观地表示桩号及地面高程的对应关系,有助于纵坡设计; 4.4.2 以桩号里程为x坐标,0为y坐标,0为z坐标,确定网格线第一点;以桩号里程为x坐标,10倍所对应的地面高程为y坐标,0为z坐标,确定网格线第二点;两点连线,则为网格线。 5 实例 5.1 运行AutoCAD2000程序; 5.2 打开AutoCAD的VBA编辑器(命令:VBAIDE); 5.3 创建成下面的过程及代码,并运行之: Sub ZDM() Dim Excel As Excel.Application Dim ExcelSheet As Object Dim ExcelWorkbook As Object Dim i As Integer Dim lineobj As AcadLine Dim klineobj As AcadLine Dim sPnt(0 To 2) As Double Dim ePnt(0 To 2) As Double Dim kPnt(0 To 2) As Double Dim hPnt(0 To 2) As Double Dim ksPnt(0 To 2) As Double Dim kePnt(0 To 2) As Double Dim dmPnt(0 To 2) As Double Dim textObj As AcadText Dim txtStr As String Dim insPnt As Variant Dim txtHeight As Double Dim layObj As AcadLayer Dim newLayer As AcadLayer Set layObj = ThisDrawing.Layers.Add("标注") Set layObj = ThisDrawing.Layers.Add("地面线") Set layObj = ThisDrawing.Layers.Add("网格线") Dim atTxtobj As AcadTextStyle Set atTxtobj = ThisDrawing.ActiveTextStyle atTxtobj.fontFile = "c:\windows\fonts\simfang.ttf" '创建Excel应用程序 On Error Resume Next Set Excel = GetObject(, "Excel.Application") If Err <> 0 Then Set Excel = CreateObject("Excel.Application") End If '打开Excel表 ExcelName = InputBox("路径:") Excel.Workbooks.Open ExcelName '表格不可见 Excel.Visible = False '读入坐标点画地面线 Worksheets("sheet1").Activate i = 3 Do Until cells(i, 1).value = "" If cells(i + 1, 1) = 0 Then Exit Do End If sPnt(0) = cells(i, 1).value sPnt(1) = 10 * cells(i, 2).value sPnt(2) = 0 ePnt(0) = cells(i + 1, 1).value ePnt(1) = 10 * cells(i + 1, 2).value ePnt(2) = 0 Set newLayer = ThisDrawing.Layers("地面线") ThisDrawing.ActiveLayer = newLayer newLayer.Color = acWhite Set lineobj = ThisDrawing.ModelSpace.AddLine(sPnt, ePnt) If cells(i, 2) = "" Then lineobj.Delete i = i + 1 Loop '画辅助网格线及插入数据 i = 3 Do Until cells(i, 1).value = "" '画辅助网格线 ksPnt(0) = cells(i, 1).value: ksPnt(1) = 0: ksPnt(2) = 0 kePnt(0) = cells(i, 1).value: kePnt(1) = 10 * cells(i, 2).value: kePnt(2) = 0 dmPnt(0) = cells(i, 1).value: dmPnt(1) = 48: dmPnt(2) = 0 Set newLayer = ThisDrawing.Layers("网格线") ThisDrawing.ActiveLayer = newLayer newLayer.Color = acGreen Set klineobj = ThisDrawing.ModelSpace.AddLine(ksPnt, kePnt) '插入桩号 Set newLayer = ThisDrawing.Layers("标注") ThisDrawing.ActiveLayer = newLayer newLayer.Color = acCyan a = cells(i, 1).value b = Int(a / 1000) c = Format((a - b * 1000), "000.000") 'd = a - Int(a) E = "+" + Format(c, "000.000") If c = 0 Then E = "K" + LTrim(Str(b)) txtStr = E txtHeight = 4 textObj.Rotation = 3.14159 / 2 insPnt = ksPnt Set textObj = ThisDrawing.ModelSpace.AddText(txtStr, insPnt, txtHeight) If cells(i, 2) = "" Then textObj.Delete '插入地面高程 txtStr = Format(cells(i, 2).value, "###0.##0") txtHeight = 4 textObj.Rotation = 3.14159 / 2 insPnt = dmPnt Set textObj = ThisDrawing.ModelSpace.AddText(txtStr, insPnt, txtHeight) i = i + 1 Loop ZoomAll '该语句用来等待查看显示结果 MsgBox "按'确定'键将关闭Excel的运行~" '保存传过来的数据 ExcelWorkbook.Close ExcelWorkbook.Save '关闭Excel应用程序 Excel.Application.Quit '删除Excel应用程序实例 Set Excel = Nothing End Sub 5.4 运行上述代码后,将会弹出窗口,提示输入Excel文件的路径;输入后回车,就可以生成纵断面地面线,可以进行路线纵坡设计。 5.5 本程序需要Microsoft Excel 2000和AutoCAD2000运行环境,编译后通过。 6 结束语 6.1 在经过综合分析、反复比较定出设计纵坡之后,可以确定各变坡点及其高程、竖曲线要素。在上述代码中,加入合适的词句,可以完整地绘制公路纵断面设计图。 6.2 公路工程设计中,经常遇到许多类似的大量的、重复的、有逻辑性的操作,只要合理利用VBA,发挥其强大的功能,实现AutoCAD与Excel应用程序的无缝连接,快速交换数据,就可以在短时间内完成所需的设计工作,达到事半功倍的效果。
本文档为【Excel工程测量编程图解教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_574951
暂无简介~
格式:doc
大小:967KB
软件:Word
页数:25
分类:生活休闲
上传时间:2017-10-19
浏览量:31