- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
冯世明等:基于VBA断面图生成程序的探讨与开发 363
基于VBA断面图生成程序的探讨与开发
冯世明1,刘 洋2
(1.长春市测绘院,吉林长春130021;2.长春市3维工程勘测有限责任公司。吉林长春130026)
摘要:本文通过对工程测量中断面图生成现状和VBA二次开发语言的描述,详细论述了VBA断面图开
发的过程和关键代码的编写,对于用VBA进行CAD的二次开发学习和个性化断面图自动生成具有一
定的指导意义。
关键词:AutoCAD;VBA;面状库文件;断面图
0引言
随着数字测绘的发展,尤其是基础建设项目的增加,纵横断面测量成为工程建设中必须进行的
内容之一‘1|,目前,断面图形成方法大致有两种,一是现成的数字测图软件所有功能如CASS,SCS
等,二是自己单位编制的断面图形成软件。这两种方法都有一定的局限性:第一种断面图形成的内
容和格式都是固定的,内容简单;第二种格式只适合本行业要求。所以掌握一种断面图形成方法,定
制自己需要的断面图形成格式和内容,既可大大缩短工作时间,也可提高t作效率,具有一定的现实
意义。
1设计思路
在测量过程中,断面数据直接由外业采集,主要有以下几种方法:一是外业直接采集里程和高
程;二是外业采集坐标和高程;三是从图上采集坐标和断面数据。为此,在断面图设计时一定得考虑
数据的格式转换功能,其中包括坐标转换成断面数据文件等。断面图形成采用AutoCAD自带语言
VBA进行开发,其流程大致包括数据准备、数据转换、断面图形成以及断面图修改等几个部分。
2程序的设计与实现
2。1 VBA介绍
VBA的—个关键特征是与微软的一些产品可以相互转化,它是一种自动化语言,它可以使常用的程序
自动化,可以创建自定义的解决方案,与AutoCAD提供的其他二次开发技术相比,它具有超出其他Auto-
CAD
APl环境的许多优点。主要包括速度运行快,编程环境随AutoCAD一起安装,所以更易于使用。另
外,在Windows互操作性上和程序员基础上都具有相当大的优越性[2J。
2.2 VBA环境下断面图生成程序的过程
2.2.1 工程的建立
默认情况下,初次打开此对话框,工程列表中已经包含了一个工程。如果工程列表为空,单击[新建]
按钮,就能在当前图形中新建一个名称为ACADProject的全局工程。
为]对话框。在对话框的保存位置下拉列表中指定工程文件的保存目录,然后单击[保存]。
3)在[工程]列表中选择ACADProject,单击[VisualBasic编辑器]按钮,进入AutoCADVBA的集
成开发环境。在VBA集成开发环境的左侧,设有[工程资源管理器]和[属性]窗口,[工程资源管理
器]中显示了当前打开的工程名称,以及该工程的文件结构。在属性窗El中将工程名称改为断面生
第十届东北三省测绘学术与信息交流会论文集
成‘3|。
2.2.2工程控制按钮
1)单击[插Ⅳ用户窗体]新建一个窗体,将其名称改为frmMain。
File。MuhiLine属性设置为Ture。
3)添加标准对话框控件。在工具栏的空白区单击右键,从弹出的快捷菜单中选择[附加控件]
Common
菜单项,系统弹出[附加控件]对话框。从可用控件列表中选择Microsoft Control,ve.
Dialog
sion
6.0的选项,单击[确定]按钮。
名称为comDlg。
5)添加宏。选择[插Ⅳ模块]菜单项,在当前工程中插入一个标准模块,添加下面的语句:
Optionexplicit
Publicsub
comdialog()
frmMain.show
endsub
2.2.3主要模块程序代码的编写及实例效果
1)断面数据录入模块代码
With
comDlg
.DialogTitle=”选择文本文件”
.Filter=”文本文件(幸.txt)I木.txtI所有文件(掌.幸)I幸.木”
.InitDir=
文档评论(0)