首页 autocad 在管线测量中的应用

autocad 在管线测量中的应用

举报
开通vip

autocad 在管线测量中的应用 收稿日期:2004-09-26 Oct.,2005 Vol.3,No.5 2005年 10月 第 卷第 5期 中图分类号:P258;P209 文献标识码:B 文章编号:1672-4623(2005)05-0060-02 地 理 空 间 信 息 GEOSPATIAL INFORMATION !"#$%!& 和’()*+的,-!技术在管线竣工测量中的应用 杨友生!, 张汉春!, 彭江华" (1.广州市城市规划勘测设计研究院, 广东 广州 510060; 2.湖北省测绘局 质检站, 湖北 武汉 430071...

autocad 在管线测量中的应用
收稿日期:2004-09-26 Oct.,2005 Vol.3,No.5 2005年 10月 第 卷第 5期 中图分类号:P258;P209 文献标识码:B 文章编号:1672-4623(2005)05-0060-02 地 理 空 间 信 息 GEOSPATIAL INFORMATION !"#$%!& 和’()*+的,-!技术在管线竣工测量中的应用 杨友生!, 张汉春!, 彭江华" (1.广州市城市规划勘测 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 研究院, 广东 广州 510060; 2.湖北省测绘局 质检站, 湖北 武汉 430071) 摘 要: 对 cti+,- .t/01ti/2控制的技术进行简要的说明。 讨论从工作实践的角度使用34 , 通过利用56c,7 和 .t/8 9 的 cti+,-对象模型, 在 .t/8 9中创建与56c,7的通信的方法, 分析 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 格读取工作机理及具体实现方法。 关键词: 管线竣工测量; 34 ; 交换数据 A""#$%&’$() (* +,- ./01 $) -2’(3-4 &)1 56708 ’( 9$"08$)0 :2;<0= !"#$ !%&’()*+,- ./"0$ /1*2(&*,- 340$ 561*+(&17 (1. Guanzhou Urban Planning Design & Survey Research Institute, Guangzhou 510060, China; 2. Quality Testing Station, Hubei Bureau of Surveying and Mapping, Wuhan 430071, China) ->/’;?7’@ The control technique of ActiveX Automation is briefly introduced. A method of communication to Excel in AutoCAD by using Excel and ActiveX model was created. The working principle of reading and writing for Excel table and its implementation methods were provided. A0= B(;1/@ pipe survey; VBA; data exchange 近10年来, 用AutoCAD程序与其他应用软件交换 数据时, 其输入、 输出机制均为 ASCII文本文件, 使 用逗号或TAB分界符来区分数据, 很难相连通并无法 在相互之间直接传递信息。 由于向市规划局提交的高 压走廊竣工测量数据成果需要Excel格式文件, 因此 笔者采用AutoCAD为平台, 以VBA为编程工具, 成功 的应用ActiveX技术进行了二次开发, 实现了Auto- CAD与Excel的信息交换。 AutoCAD是AutoDesk公司生产的 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 绘图软件, 是CAD市场的主流产品, 功能十分强大, 是测量工程 人员的常用软件之一。 AutoDesk公司从R14版以后, 提供了VBA语言接口,采用了ActiveX Automation技术, 大大地提高了系统开发效率、 健壮性、 易维护性。 AutoCAD提供的ActiveX Automation对象模型十分 有用 , 使得Microsoft的Access、 Excel、 Word等其他 VBA软件, 可以方便地访问AutoCAD, 可以方便地使 用VB、 VC、 Delphi等多种面向对象的高级开发语言, 而不再局限于AutoLisp、 C及C++系列语言 。 同时 , AutoCAD 实现了面向对象的开发技术 , 它通过加载 ActiveX/COM类型库 , 登录其他Windows应用程序 (如Microsoft Excel 和 Word等), 对象用户可以操纵 所有的AutoCAD对象和Excel等对象, 实现与其他程 序的数据共享。 ( )*+,- 的.+/01,2对象模型 Microsoft Excel 在当今世界上的电子表格应用软 件产品中占有绝对的统治地位, 它支持ActiveX Automa- tion, 用户可以通过其内嵌的VBA语言控制Microsoft Excel 的整个操作过程。 最常用的对象有下列几个: 1) Application对象。 Application是Excel的最顶层 对象 (即Excel本身), 是VBA应用程序的运行环境, 其他对象均为它的子对象; 2) WorkBooks (WorkBook) 对象 。 一个Work- Book对象实际上就是一个Excel文件, Excel应用程序 可以同时打开或创建多个文件, 它们被保存在Work- Books集合对象中, 可以通过索引号或名称访问集合 中的任何一个工作簿, 例如: 下列语句激活WorkBooks集合中的第一个工作 簿, 使其成为当前工作簿: WorkBooks(1).Activate 下列语句激活WorkBooks集合中的Mybook.xls工作 簿, 使其成为当前工作簿: WorkBooks("Mybook.xls"). Activate 3) Worksheets (WorkSheet) 对象。 每个工作簿 对象上可以有多个工作表WorkSheet, 它们被保存在 WorkSheets集合对象中。 在默认情况下, Excel的当前 工作簿上有名为Sheet1、 Sheet2、 Sheet3的3个工作表, 并且Sheet1为当前工作表。 如果想使Sheet2成为当前 工作表, 可使用下列语句: Worksheets("Sheet2").Activate: 4) Range对象。 该对象用来指定工作表上的区域。 将单元格A1的值赋给单元格A5的语句,说明如下: Worksheets ("Sheet1").Range ("A5").Value=Work- sheets("Sheet1").Range("A1").Value 上述语句将Sheet1工作表上的A1 (第1行第1列) 单元格中的值, 赋给Sheet1工作表上的A5 (第5行第1 列) 单元格。 再如: Worksheets("Sheet1").Range("a1:d26").Select 上述语句将单元格A1和D26构成的区域选中, 它 的效果与我们平时用鼠标在屏幕上将A1:D26区域上 的单元格进行刷黑选择是一样的。 5) Cells属性。 工作表对象中的Cells属性, 在单 元格的选择方面可以达到与Rang相同的效果, 它是 以行Row和列Gol作为参数的, 例如: '将单元格A1的值赋给单元格A5 Worksheets ("Sheet1").Cells (5,1).Value =Worksheets ("Sheet1").Cells(1,1).Value 上面语句即将第1行第1列 (A1) 单元格内的值, 赋给第5行第1列 (A5) 单元格。 ! "#$%&"’ 的"($)*+,对象模型 AutoCAD是目前最为流行的工程图形处理软件, 以层次结构组织对象。 既可作为服务程序也可作为客 户程序。 1) Application对象。 它是顶层对象 (即AutoCAD 本身), 其他对象均为Application对象的子对象。 在 Application对象下面是Preferences (优先设置) 和Doc- ument (文档) 对象, 通过Preferences对象可以对Au- toCadTools>Preferences菜单项中的几乎每一个选项进 行访问和修改, 以获取或改变AutoCAD的优先设置。 2) Document对象。 它是控制AutoCAD图形文件 的直接对象, 代表某一个装入的CAD图形文件 (一般 设为当前激活的文件)。 Document对象下面有Mod- elSpace (模型空间) 和PaperSpace (图纸空间) 对象 及Blocks (块 )、 Layers (层 )、 Linetype (线形 )、 Plot (出图)、 Selectionsets (选择集)、 Views (视图)、 U- tility (功能) 等一系列对象 (集合), 其含义与Auto- CAD中相似。 对非图形实体 , 如层 (Layer)、 线形 (Linetype) 等的访问则通过访问Layers、 LineTypes等 集合类型的子对象来实现。 Utility对象使用户在Au- toCAD命令行与CAD交互成为可能, 通过它可以处理 整型、 浮点型、 字符型等用户输入, 还可以接受点 (Point) 或角 (Angle) 等AutoCAD的特殊量。 3) Model Space对象。 是当前图形文件中图形实 体, 如直线、 圆、 多义线等的集合, 每个实体即是一 个对象, 可通过属性和方法改变实体或生成新实体。 集合类型的对象可以使用VBA中所有的集合操作方法。 4) 图形对象 。 它分别包含在 Blocks、 Mod- elSpace、 PaperSpace之中,它提供了完整的三维处理功 能 ,包括3DFace (表面模型 )、 3DPoly (三维多义线 )、 3DSolid (实体模型), 这样用户可以轻松地实现三维 模型。 还有直线、 圆弧、 文本和尺寸等。 - 在"#$%&"’中创建与./(+0的通信 首先, 打开AutoCAD的VBA编辑器。 然后, 选择 "工具" W "引用" 项, 在弹出的 "引用" 对话框的 "可使用的引用" 列表框内, 选择 "Microsoft XYcel Z.[ \]^ect Li]rary" 项 , 并单击 "确定" 按钮 。 接 下来, 使用下列代码就可创建完整的应用程序对象实 例: Dim XYcelApp as \]^ect '激活要与之通信的 XYcel应用程序 \n Xrror Resume _eYt Set XYcelApp=Get\]^ect (, " XYcel.Application") ‘f Xrra>[ Then Set XYcelApp=Create\]^ect (" XYcel.Applica- tion") '创建XYcel应用程序实例 MsgBoY " 请打开一个XYcel测量数据文件!" XYit Su] Xnd ‘f 注意Get\]^ect和Create\]^ect函数的区别。 当一个 XYcel程序已经在运行时, 前者可以马上创建XYcel应用 程序的实例, 这样不会出现2个XYcel应用程序对象实 例, 这将有效地节省系统资源的开销。 如果当前XYcel 没有运行, Get\]^ect函数将出错, 紧接着Xrr将捕获错 误, 并运行Create\]^ect函数创建一个XYcel应用程序实 例, 所以在具体使用时, 这2个函数最好都不要省略。 1 表格读取工作机理分析及具体实现方法 1) 表格读取工作机理分析 。 在Microsoft XYcel 中, 通过对Work]ook、 Worksheet、 range、 cell的循 环, 实现对数据的全部读取。 在AutoCAD中 , 定义AcadPolygonMesh的对象 , 通过对 Cell值的不同组合, 形成高压走廊的塔位图形 数据。 2) 根据XYcel数据绘制CAD图件。 读取Microsoft XYcel文件中的Cell对象的Value和文字, 然后在Auto- CAD文件里指定图层、 位置画线条, 书写文字。 通过 循环, 遍历所有单元格区域 (Range), 边读边写, 即 可获得整个表格信息, 最终完成高压走廊测量数据的 图形绘制。 绘制过程中, 采用 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 的图层、 线条、 文 字、 颜色及其相关属性。 Pu]lic XYcelSheet As \]^ect Pu]lic Row_um As ‘nteger …… \ption XYplicit Su] drawb main () Dim mesh\]^ As AcadPolygonMesh Dim tYt\]^ As AcadTeYt …… Set XYcelSheet = XYcelApp.Work]ooks ( 1) . Worksheets (1) …… ptbhs (1) = XYcelSheet.Cells (Row_um, 1c) ThisDrawind.ActieeLayer = ThisDrawing.Layers (" Towbpnt") Set mesh\]^ = ThisDrawing.ModelSpace. Add3DMesh (4, 4, point1) Str1 = XYcelSheet.Cells (Row_um, 2) …… 杨友生等!!"#$%!&和 ’()*+的 ,-!技术在管线竣工测量中的应用第 卷第 5期 · 61· (上接第59页) 1) 生成表格。 程序先将表格中相应的单元格自 动合并, 生成一个错开的土方统计表, 如图5所示。 在C列中插入公式, 求出相邻两个断面的平均面积, 在E列中插入公式, 求出分段土石方。 以上工作的主 要代码如下: Sub tabulation 1(ByVal X As Integer) '合并单 元格 Range("a" & X & ":" & "a" & X + 1).MergeCells = True …… End Sub Sub tabulation2 (ByVal X As Integer) '插入相 应的公式 Range ("c" & X & ":" & "c" & X + 1).Formu- laR1C1 = "=(R[-1]C[-1]+R[1]C[-1])/2" Range ("e" & X & ":" & "e" & X + 1).Formu- laR1C1 = "=RC[-1]*RC[-2]" …… End Sub 2) 将数据读到表格中。 先打开总文件, 读取断 面编号和断面面积填入到表格中的相应栏中, 表格就 会自动计算出分段土石方和每一页的土石方小计。 如 图5所示 Open path+" tel.txt" For Input As #1 '打开文件 …… Input #1, date1, date2 '读取数据 Range ("a" & X & ":" & "a" & X + 1).Value = date1 '断面编号 Range ("b" & X & ":" & "b" & X + 1).Value = date2 '断面面积 3) 最后将每页的小计累计后得出总土石方。 如 果个别断面的间距不相等, 则可以直接改动间距。 ! 结 语 经过荆江大堤第三期加固工程、 汉江加固工程、 引江济汉工程等多项工程的应用, 实践证明, 该方法 与传统的断面测量方法相比, 不仅提高了速度, 节约 了成本, 减轻了劳动强度, 更重要的是提高了精度、 避免了测记等错误。 参考文献 !"# 李长勋,$%&’ ()* +,)程序开发技术!-#. 北京:国防工业 出版社,/001 !2# 吴目成,吴秉柔.精彩+34%56 ,5437 890程序设计!-#. 北京:科 学出版社,2002 !:# 李青岳,陈永奇.工程测量学(修订版)!-#. 北京:测绘出版 社,1995 !1# 仵 浩,齐燕杰. +34%56 ,5437 串口通讯工程开发实例导航 !-#. 北京:人民邮电出版社,2003 !;# 张树兵,戴 红,陈 哲. +34%56 ,5437 <.0入门与提高!-#. 北 京:清华大学出版社,1999 作者简介: 吴立军 (1963-), 男, 高级讲师, 主要从事数字 化成图的教学和研究。 图5 土方统计表格 ThisDrawing.ActiveLayer = ThisDrawing.Layers (" TowYtxt") Set txtObZ = ThisDrawing.ModelSpace.AddText (str1[ ptYe[ height) …… \hile ExcelSheet.Cells (Row]um[ 1).Value ^_ Empty Call readYdata ThisDrawing.ActiveLayer = ThisDrawing.Layers (" TowYpnt") Set meshObZ = ThisDrawing.ModelSpace.Add3D Mesh (i[ Z[ point1) ThisDrawing.ActiveLayer = ThisDrawing.Layers (" lineYcent") Set lineObZ = ThisDrawing.ModelSpace.AddLine (ptYs[ ptYhs) …… Row]um = Row]um + 1 \end Set acad = ]othing MsgBox (" Excel向acad绘图完成!") End Sub 本代码在Microso‘t \indows9a、 Excel 2bbb和Au- toCAD R2bbb环境下, 编译通过。 运行效果良好, 而 且可进行不同视图变换分析。 参考文献 !=# 二代龙震工作室.)%&’()* > 数据库整合运用实作!-#.北 京:电子工业出版社,2002 !2# 王 珏.用+,)开发)%&’(5?2000应用程序!-#.北京:人民 邮电出版社,2002 作者简介: 杨友生 (1969-), 男, 工程师, 从事测绘产品质量 检验工作。 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 地理空间信息 200;年· 62 ·
本文档为【autocad 在管线测量中的应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_587206
暂无简介~
格式:pdf
大小:225KB
软件:PDF阅读器
页数:3
分类:
上传时间:2010-08-27
浏览量:36