您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页ExcelVBA开发渠道纵断面图辅助绘图程序实践与探讨

ExcelVBA开发渠道纵断面图辅助绘图程序实践与探讨

来源:飒榕旅游知识分享网
 本文由pingtou168贡献

pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 农业大学学报2009,32(1):89~92

Journal of Xinjiang Agricultural University

文章编号:1007—8614(2009)01—0089—04 ExcelVBA开发渠道纵断面图 辅助绘图程序实践与探讨 董文明1,马英杰1,崔 龙1,孔德庸 100094)

(1.农业大学水利与土木工程学院,乌鲁木齐830052;2.中国农业大学资源与环境学院。北京 摘要:使用Excel的VBA编程功能,将设计好的数据自动的输出为Auto CAD的命令组文件(Script),在Au— toCAD里运行该命令组文件,即口r快速的绘制渠道纵断面图。使用该程序时.还可根据各项目的特点修改局部参数 和预设图框内容,直接批量生成施工图.极大程度上减化了渠道设计人员的绘图工作。 关键词: Excel;Auto

CAD;VBA编程;渠道纵断面图绘图;传统绘图方法 文献标识码:A 中图分类号:TV222.1

Practice and Discussion on

Auxiliary Drawing Routine of

Excel VBA Development Channel Profile Diagram DONG

(1.College of

Wen—min91,MA Yin-jiel,CUI Lon91,KONG De—yon92 Water

Conservancy and Civil Engineering,Xinjiang Agricultural University,Urumqi

830052;2.College of Resources and Environment Science,China Agricultural University,Beijing 100094) In this paper,it introduces finish can

Abstract: an

improved way to to help US to

canal

run

profile diagram.The in AutoCAD,can help way,with the help of VBA programs in Excel US to

make Script files which be

finish the canal profile diagrams easily when We design canals.When programing function was made

using Excel VBA,the designed data were automatically output for the commond group of Auto CAD fi les (Script),then a

channel Profile diagram could immediately be finished.When using the program,it could

con。-

be modified in accordance with the purpose of the characteristics of local map pre——set parameters and tent of the

box.Directly the working tO a

drawing could great exteat.

be produced on a

large

scale which could decrease

drawing work of channel designers Key words:

Excel;AutoCAD;VBA Programming;channel sections auxiliarydrawing;traditional ing method draw—

Excel电子表格是工程设计人员进行数据处理 的一种常用工具。特别是渠道设计者,大部分利用 Excel表格处理断面数据(地面高程、渠底高程等), 但将数据录入到AutoCAD中绘制断面图却产生了 一定的困难,采用常规的手工录入数据,绘制各条设 计线的方法,其效率和正确率都很低,一直以来,不

收稿日期:2008—10一12 基金项目:水利水电重点学科基金项目 通讯作者:马英杰.E-mail:dwm@xjau.edu.cn

少设计者在Excel和CAD之间寻求着快捷、便利的 方法,诸如:复制、粘贴或利用手工编制CAD命令 组文件,虽然取得了一定的进展,但工序烦琐,人工 参与较多,当然,目前也有不少相关软件,但由于价 格偏高或有的需要程序读取和数据转换,成图效率 低等特点,并不能真正意义上给广大的渠道设计者 万方数据 90 农业 大学学报 提供便利。笔者在长期实践工作中利用Excel的 VBA编程功能,将设计好的数据自动输出为Auto— CAD的命令组文件(Script),结合AutoCAD内部 的命令组文件。开发出一套可快速绘制渠道纵断面 图的渠道辅助绘图程序。该程序还可根据各项目的 特点修改局部参数和预设图框内容,直接批量生成 施工图。

Sheetl中第i行、第j列单元格数值 2程序编制的实现过程

在C盘(也可其它盘符,本研究以C盘编制程 序)建立“Canal”子目录,后续的CAD图、Excel表 格、程序生成文件均在此目录下。 2.1

渠道设计的Excel表格建立 在Canal目录下新建名为“渠道绘图”的Excel

1程序编制的基本原理

程序编制的基本原理主要是通过ExcelVBA编 制程序读取Excel渠道设计数据并生成AutoCAD 可以执行的命令组文件(Script)。命令组文件也称 脚本研究件,是CAD中读人并能莺复执行CAD命 令的文件(以下简称scr文件),相当于Dos系统下 的批处理文件[1]。如建立一Test.scr文件:

Text Mc 10,10 3.5 Line 15,0 15,20 90 0+000 表,默认Sheetl为当前活动表格,其第一行的1~8 列分别为“填高”、“挖深”、“设计渠顶高程”、“设计水 面高程”、“设计渠底高程”、“设计开挖高程”、“原地 面高程”和“桩号”,设计数据从第二行开始,桩号使 用“x+XXX”的格式。在表格的右边空白处,从“视 图”一“工具栏”一“控件工具箱”插入3个文本框控 件、3个标签控件和一个命令按钮控件,使用标签控 件从上至下分别标志三文本框Textboxl、Textboxl 和Textbox3为“横向比例”、“纵向比例”和“生成新 图图名”;命令按钮Caption内容为“生成绘图文 件”。 2.2实现的流程图及主要代码 2.2.1

该文件是让CAD以旋转90度单文本写入“0 +000”数字,字高3.5,居中对齐点为(10,10),再在 (15,o),(15,20)两点画直线。注意末行结束为两空 格。在CAD系统命令行键人scr并“回车”。或从菜 单“Tools”下选择“Run Script„”(中文版CAD为 “工具(T)”/“运行脚本(R)”),按系统提示选择刚 才Test.scr文件“打开”即可。 Scr文件也可以使用高级语言(如VB、VC.Net 等)来编写。本研究就是在这个基础上,使用Excel 的VBA(宏)功能编制程序,自动把Excel的表格数 据读出,并通过程序计算处理,按照渠道纵断面图绘 图的基本命令和方法组合来生成Scr文件。Excel 表单元格数据读取的方法如下代码:

Dim Value0 As 流程图

渠道纵断面制图的过程主要有两步,一是在 CAD里书写桩号、原地面高程等文字,二是绘制原 地面线、设计渠底线等各设计线,因此,制图程序实 现的核心流程首先要把每个桩号根据横向比例换算 成可计算的数字格式,第二步要自动计算成制图中 写入桩号、原地面高程等文字的横向位置;第三步是 根据桩号对应的“设计渠顶高程”“设计水面高程”、、“设 计渠底高程”、“设计开挖高程”、“原地面高程”通 过纵向比例分别换算成绘制各高程线的纵向坐标; 最后是生成SCR文件,图1是实现方法的流程图。 Double’//定义双精度变量

Value0=Sheetl.Cells(i,j).Valuel获取表 圈l

Fig.1

方法实现的核心流程图

Key flow diagram finished by the method 2.2.2主要源代码 根据流程图,本研究给出部分关键代码。以供读 者参考。代码也并不唯一,“”为代码的注释.在VBA 里足不执行的。代码写完后,按默认保存,程序顺利 万方数据 第1期

董文明.等:ExceIVBA开发渠道纵断面图辅助绘图程序实践与探讨 91

运行后,在Canal目录下生成“Draw.Scr”文件;在 CAD运行Scr命令,选择“Draw.Scr”文件,即可生 成渠道纵断面图。如程序成功运行但不能绘图,可 以用记事本打开Scr文件,对照Scr的格式要求来 查找错误并在程序中改正即可。 (1)计算设计表格数据行数的代码 以桩号列判断表中的有数据的单元格行数,包 括第一行文字行,“LineCounter”为变量Line— Counter=1 (1);”Mc”‘文本书写数字格式 Write#l,Xstake,0 坐标 Print#1,”90”;Spc(0) 。数字居中对齐基准 墩字旋转90度

Print#1,Sheetl.Cells(i,8).Text’要书写

的数字,这里为桩号 (5)生成绘制地面高程线Scr文件的源代码 同上,须要将所有第八列桩号逐一转换数字格 式.并利用与起始桩号差值换算绘地面线的X坐 标。然后根据各设计高程计算地面线、设计渠底线等 CAD绘图的X,Y坐标,以地面线为例。 Print#1,”I.AYER S” Print#1,”0” ””

While(Sheetl.Cells(IAneCounter,8).Value) <>””

LineCounter=LineCounter+1

。设置当前活动图层 ‘模板只有0图层 ’生成空行,转换 W” 。设置 Wend

(2)查找最小高程值代码 将渠顶、渠底、水面、开挖、地面高程各数据查找 最小值,并合理取整,此时可以使用公式实现,由此 可以确定制图的最小纵坐标。 MinNum—Min(Sheetl.Range(”C2”&”: G”&-I。ineCounter&.””).value) MinVertical—Format(Abs(Fix(一Min— Nurn)),”####.000”) Print#1,Spc(0); CAD命令,分号里无空格 Print#1,Spc(0); ”PLine 0,0 Pline线宽,起点(o,O) Print#1,”0.0” Print#1,”0.0” Print#1,“0,0”

‘起始线宽0.0 味端线宽0.0 1末点(0,0) Print#1,”PI。ine”相同命令,不需空行转换

For i一2 To I。ineCounter一1 。LineCounter (3)使用VBA的文件生成绘图的SCR文件

()pen”C:\Canal\Draw.Scr”For Output As #1 一1为所有数字行行数

Xscale=TextBoxl.Value

’打开文件.写入Scr数据 Close#1。关闭文件 (4)书写桩号、原地面高程等文字代码 将第八列桩号逐一转换数字格式,并利用与起 。绘图的横向 1绘图的纵向 (X)比例

Yscale—TextBox2.Value (Y)比例

Xpoint—Format((stakeN um—StartStake) 始桩号差值换算数字书写位置的X坐标,其中i是 对应行数,从2到LineCounter--1,代码以写入“桩 号”文字为例。

PlusPos=InStr(1,Sheetl.Cells(i,8).Va卜 ue,”+”,vbBinaryCompare) *1000/Xscale,”####.000”)。绘图X、Y点 计算 Ypoint=Format((Sheetl.Cells(i,7).Value— MinVertical)*1000/Yscale,”####.000”) ’二进制形式计算

“+”号位置 leftNum=Mid(Sheetl.Cells(i,8).Value,

Write#1,Xpoint,Ypoint Next k

1,PlusPos一1)“‘+”号左边数字

rightNum=Mid(Sheetl.Cells(i,8).Value, PlusPos+1) 3讨论 一直以来,不少设计者在Excel和AutoCAD 之间寻找过不少方法,付宁等利用Basic语言编制 了数据生成CAD图形文件的程序【2],孔德庸、刘水 辉[3 o

和李锐¨j等利用CAD的复制、粘贴功能对Ex— cel数据生成渠道纵断面CAD图的传统制图方法进 行了改进,此外,在其它刊物上,马章进在“Excel、 AutoCAD软件在渠道设计中的应用”、王君芳在 “Excel在CAD制图中的应用”都进行过有关手工 “‘+”号右边数字

stakeNum=leftNum*i000+rightNum 啥成可计算数字

Xscale—TextBoxl.Value 横向比例

’文字书写的X

Xstake=Format((stakeN um—StartStake) *1000/Xscale,”####.0”) 坐标计算

Print#1,Spc(0);”Text”;Spc(1);”JlI;Spc 万方数据 92

农业大学学报 2009年

编制AtuoCAD命令组文件来绘制设计线讨论,这 些制图方法共同之处就是操作麻烦,相当一部分须 要人工计算才能得到制图的数据,甚至还不能解决 桩号、设计高程等数字录入到AutoCAD的问题。 当然,现在软件层出不穷,解决纵断面图绘制的程序 也不乏之,如张冬明的ZDM和南方测绘公司的 cass7.0等,这些软件功能强大,但相对于个人设计 者来说,价格偏高。另外也有免费的软件诸如网上 比较流行的“灵宇断面”、水利软件在线的“纵断 CAD”等,但这些软件不足之处就是成图前要把Ex— cel设计数据转换成程序能读取的格式,成图之后还 须要进一步编辑,对设计者增加了额外的工作,同时 数据的转换很容易将数据搞错。 参考文献:

本程序有着开发周期短、成本低廉、便于自行修 改的优点,再者就是避免了Excel设计数据的转换 工作和成图的编辑工作,从而也避免了由于人为参 与过多带来的数据准确性差等,因此,无论对于个人 设计者,还是小型的设计企事业单位,基于ExcelV— BA开发的渠道纵断面图辅助绘图程序都是具有一 定需求意义和应用价值。 在和田地区的于田县稻田区、策勒县固拉 哈玛乡及民丰县尼雅乡3个土地整理项目的渠道初 步设计绘图工作中,近90幅A3渠道纵断面图,项 目评审前的绘图工作使用传统的绘图的方法,用了

10

d时间才把渠道纵断面图绘制完毕,评审后采用 了新改进的绘图方法仅仅用了半天,优势明显。 [1]估润民.计算机绘图原理及应用[M].北京:清华大学出版社,1995. [2]付宁.赵源清,刘越男.CAD在灌排渠道断面图绘图上的应用[J].水利科技与经济,1997,3(2):86—87. [3]孔德庸,刘水辉.渠道纵断面图传统绘图方法的改进[J].中国农村水利水电,2004。11:96—97. [4]李锐,刘洋.Excel/AutoCAD软件在渠道渠道设计中的组合应用[J].现代化农业,2006,9:32—33. [5] H

M Deitel.Visual c++.Net大学教程[M].周靖,译.北京:清

华大学出版社,2004.

[63柯昌胜.水利工程制图[M].北京:中国水利水电出版社,2005. 万方数据

ExcelVBA开发渠道纵断面图辅助绘图程序实践与探讨

作者: 作者单位: 董文明, 马英杰, 崔龙, 孔德庸, DONG Wen-ming, MA Yin-jie, CUI Long, KONG De-yong 董文明,马英杰,崔龙,DONG Wen-ming,MA Yin-jie,CUI Long(农业大学,水利与土木工程 学院,乌鲁木齐,830052), 孔德庸,KONG De-yong(中国农业大学,资源与环境学院,北京 ,100094) 农业大学学报 JOURNAL OF XINJIANG AGRICULTURAL UNIVERSITY 2009,32(1) 0次

刊名: 英文刊名: 年,卷(期): 被引用次数:

参考文献(6条) 1.陆润民 计算机绘图原理及应用 1995 2.付宁.赵源清.刘越男 CAD在灌排渠道断面图绘图上的应用[期刊论文]-水利科技与经济 1997(02) 3.孔德庸.刘水辉 渠道纵断面图传统绘图方法的改进[期刊论文]-中国农村水利水电 2004(11) 4.李锐.刘洋 Excel/AutoCAD软件在渠道渠道设计中的组合应用[期刊论文]-现代化农业 2006(09) 5.H M Deitel.周靖 Visual C++.Net大学教程 2004 6.柯昌胜 水利工程制图 2005

相似文献(10条) 1.期刊论文 谢丽霞.XIE LI-xia EXCEL在AUTO CAD绘图中的应用——以雅满苏磁海铁矿为例 -吉林地质2009,28(4) 介绍了AUTO CAD技术在矿山测量中的应用,以及野外实测后利用excel建立坐标数据组,在Auto Cad中批量辰点,从而快速地绘制出露天矿山测量所需 的露天采场现状图及各种所需断面图.

2.期刊论文 石广斌.张晓莉.牛小军 AUTO CAD 计算功能简介及应用 -水电站设计2004,20(2)

介绍了AUTO CAD求面积、几何质(形)心、质心惯性矩等部分计算功能,并举例说明这些计算功能与EXCEL等软件相结合,能够快速而精确地完成水工建 筑物稳定性等的计算. 3.期刊论文 廖新玉.阿力甫.侯伟华.LIAO Xin-yu.ALF-Nu.HOU Wei-hua 快速绘制道路横断面图的一种新方法 -测 绘科学2008,33(2) 精确、快速地绘制横断面图是道路测量人员需要解决的难点,横断面图是道路工程计算土方量的惟一依据,因此受到许多施工单位的重视.本文使用 Excel编辑Auto CAD命令的方法,使Excel处理的横断面数据、Auto CAD命令与AutoCAD绘制过程三者进行灵活链接.详细阐述了在不需要专业编程知识的情 况下,利用Auto CAD和Excel精确自动地绘制道路横断面图的一种新方法.该方法不仅简单灵活,而且能提高工作效率以及保证工作质量.

4.期刊论文 彭飞 AutoCAD和Excel在公路路线设计中的应用 -中国勘察设计2007,\"\"(5)

就AutoCAD和Excel软件如何完美地配合,使之有效地应用于公路路线设计方面,结合历年来应用AutoCAD和Excel软件的实践经验,详细地阐明了 AutoCAD和Excel软件的有机结合,摸索出一套行之有效的使用经验,并且已直接应用于公路工程设计. 5.期刊论文 储开江.潘树华.CHU Kai-jiang.PAN Shu-hua 谈Excel和AutoCAD软件在森林测绘制图中的应用 -林业 勘查设计2006,\"\"(4)

罗盘仪是林业测量常用工具之一,但野外数据的处理和森林地形图制作技术较落后.结合具体事例,详细说明用Excel软件处理测量后的野外数据和用 AutoCAD软件绘制森林地形图的过程,并打印出任意比例尺的图纸.

6.期刊论文 何兵.车林仙.HE Bing.CHE Lin-xian 基于VBA的AutoCAD图块属性提取与Excel输出 -机械管理开发 2008,23(3)

应用AutoCAD的VBA(Visual Basic for Appfication)二次开发功能,编制了属性块的属

性提取程序,并以应用实例说明了AutoCAD图块属性提取与 Excel输出,可以利用Excel强大的统计功能方便作出相关报表.

7.期刊论文 张小艳.郭翠 基于Matlab绘制原煤可选性曲线方法的研究 -工矿自动化2010,36(3)

原煤可选性是选煤厂设计的基础,通过绘制可选性曲线可以评定、预测重选效果.针对采用Excel和Auto CAD绘制可选性曲线的缺点,文章通过一个实 例详细介绍了采用Matlab绘制可选性曲线的过程,即选用合适的数学模型拟合曲线,并采用最小二乘法估计数学模型中的参数值.绘制结果表明,采用 Matlab绘制可选性曲线,绘制过程简单,拟合程度较高.

8.期刊论文 陈庆来.CHEN Qing-lai AutoCAD和Excel在振动筛质心设计和计算中的应用 -选煤技术2007,\"\"(5)

介绍了AutoCAD和Excel的某些特定功能在振动筛质心计算中的应用,给出了利用AutoCAD的面域和质量特性计算质心和应用Excel的统计计算功能计算 筛框和振动筛质心的方法和应用实例.

9.会议论文 王文军 在Auto CAD环境中实现EXCEL功能 1998

该程序是基于AUTOCAD环境下LSP语言,参照微软的EXCEL制表软件构思编成。该程序充分挖掘了LSP语方函数及内在功能,展现 了LSP语言自身的智能性。其特点是使用该程序就如同在WINDOWS中使用EXCEL那样方便,克服了AUTOCAD在制填表方面的不足 ,目前使用者均感觉效有好。

10.期刊论文 廖新玉.阿力甫·努尔买买提.侯伟华.Liao Xinyu.Alf Nu.Hou Weihua 道路纵、横断面图自动绘制的 一种新方法 -交通科技2007,\"\"(6)

绘制道路纵、横断面图是道路测绘人员一项繁重的工作,文中探讨了利用Auto CAD和Excel精确自动地绘制道路纵、横断面图的一种新方法,并以乌鲁 木齐市苏州路为例,验证这一新方法的可行性.

本文链接:http://d.g.wanfangdata.com.cn/Periodical_xjnydxxb200901021.aspx 授权使用:广东商学院图书馆(gdsxy),授权号:a14fd6b5-3ddb-4730-8fb3-9e43009a2e3c 下载时间:2010年12月5日

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务