您的位置:首页 » 技术交流 » 行业期刊 » 2007第2期 » 正文

AutoCAD VBA自编路灯编号应用程序简析

放大字体  缩小字体 发布日期:2012-06-29  来源:无锡市照明管理处(214001)  作者:王 维  浏览次数:2637
核心提示:本文主要介绍在城市照明工程设计时,利用AutoCAD VBA二次开发工具,找出一条利用自编程序编号的捷径,在设计中快速对城市照明设施进行编号的应用方法。

摘 要:本文主要介绍在城市照明工程设计时,利用AutoCAD VBA二次开发工具,找出一条利用自编程序编号的捷径,在设计中快速对城市照明设施进行编号的应用方法。

关键词 AutoCAD 工程文件 编号程序

目前城市照明的计算机设计一般采用AutoCAD软件,在设计过程中,技术人员会对所设计的城市照明设施进行编号,以便确定造价、编制施工预算、购置材料等。但设施的编号比较繁琐,需要一一对应,逐一编号,或者采取复制的办法,确定一个模板,再逐一修改编号数值。如果遇到设计修改、工程变更,最后的编号工作更显繁冗。针对这一问题,结合照明设计的特点,本人利用AutoCAD VBA二次开发工具,找出了一条利用自编程序编号的捷径,在设计中快速对城市照明设施进行编号。具体介绍如下:

一、建立AutoCAD VBA工程文件

选择【工具/宏/Visual Basic编辑器】进入

AutoCAD VBA的集成开发环境,如下图:


 

然后选择【文件/保存】,出现【另存为】对话框,如下图:


 

将工程文件命名为“路灯编号程序v1.0.dvb”。

二、编写AutoCAD VBA代码

在【工程资源管理器】窗口中双击“ThisDraw-ing”,系统会直接弹出代码编辑窗口,在此窗口中输入如下代码:

Dim Nums As Integer、Sub Cir( )、Nums=1。

TextHeight=ThisDrawing.Utility.GetString(0,vbCrLf & “请输入编号文字高度[2500]:”)

If TextHeight=“”Then TextHeight =2500

Dim HeadText As String

HeadText=ThisDrawing.Utility.GetString(0, vbCrLf &“请输入编号起始符号[T]:”)

If HeadText=“”Then HeadText=“T”

RETRY:

Dim PPck As Variant

Dim textobject(0) As AcadObject

Dim ppt(0 To 2) As Double: Dim Numbersl As String

On Error Resume Next

Numbersl=ThisDrawing.Utility.GetString(0,vbCrLf & “请输入编号数字(上一编号为“& Nums - 1&”)“&”[“& Nums &”]:)‘截取输入编号”

PPck=ThisDrawing.Utility.GetPoint(,“请指定路灯编号位置:”)

If Err<> 0 Then

Err.Clear

ThisDrawing.Utility.Prompt“没有指定编号位置,退出”

Exit Sub

End If

ppt(0)=PPck(0):ppt(1)=ppck(1):ppt(2)=ppck(2)’指定插入点的X、Y、Z轴坐标

If Numbersl=""Then Numbers1=Nums

Set textobject(0)=ThisDrawing.Mode1Space.AddText(HeadText&Numbersl,ppt,TextHeight)’指定文字内容、插入点、高度

Nums=Numbersl'使提示与上一编号关联

Nums=Nums+1

GoTo RETRY

End Sub

选择[文件/保存],然后退出。

三、应用实例

1.运行一个道路照明设计文件,选择[工具/加载应用程序],如下图:


 

2.选择“路灯编号程序v1.0.dvb”,选[加载],在[启动组]选项中选择[内容/添加],将此程序添加到启动组中,方便今后每次启动都自动加载此程序。

3.点[关闭]返回设计图,按“Alt+F8”出现[宏]对话框,点[运行]

4.命令行出现“请输入编号文字高度[2500]:”输入一个具体数值,默认空格,则高度为2500。(2500所代表的具体高度可根据实际由设计人员自行确定)

5.“请输入编号起始符号[T]:”输入“D”,也可以按照规范及各地方实际,输入“L”、“LD”等等编号代码,以后编号的起始符号就是所输字母,默认为“T”。

6.“请输入编号数字(上一编号为0)[1]:”常规编号从“1”开始,则打空格,默认编号为“1”,系统会自动保存本次编号的数值,下一个编号默认值为上一编号值加1。

7.“请指定路灯编号位置:”设计人员在首个设施布点旁,单击左键,则该布点旁自动显示编号“D1”;若在步骤5输入的是“LD”,则输出“LD1”。

8.重复6、7两步,设计人员可按照设计意图或编号顺序依次给各布点添加编号,编号会自动累加。

9.编号自动累加过程中,设计人员也可任意变更任意位置布点的编号。例:若编号累加至“D16”,而设计人员主观意图想要在D16位置处,变更为“D23”,则只需在第6步输入“23”即可,下一个编号从24开始,连按两次“Esc”退出程序。

通过该程序能够任意指定编号文字高度、起始字母、数值及位置。该程序在我处设计室实践运用以来,效果较好,设计人员避免了大量重复而繁琐的编号操作。

如今,AutoCAD软件应用已经在照明设计单位普及,作为一名照明设计人员如能在设计中结合本专业要求开发或应用一些简单实用的AutoCAD VBA程序,则可以有效减轻劳动强度,大大提高工作效率。

 
关键词: 微机应用
 
技术交流搜索 | | 打印 | 关闭
更多


 免责声明:
1 、本网转载作品目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
2 、凡来源注明“中国道路照明网”的所有作品,版权均属中国道路照明网,转载使用本作品请注明来源。否则本网有权追究其相关法律责任。
3 、如涉及作品内容、版权和其它问题,请在30个工作日内与本网联系,我们将在第一时间处理!
* 有关版权事宜请联系: 0519-85529633


 
推荐图文
推荐技术交流
点击排行
关于我们 | 帮助中心 | 联系我们 | 给我留言 | 诚聘英才 | 广告服务 | 网站地图
版权所有 @ 中国市政工程协会道路照明专业委员会 城市道路照明技术情报总站 本站网络实名:中国道路照明网
中国道路照明网常州采编中心 电话:0519-85529633
地址:常州市新北区衡山路6号218室 电话:0519-88162193
备案序号:京ICP备11025568号-1 .