给排水设计给排水CAD软件开发实例
【摘要】本文介绍了用户幻灯菜单及功能和开发方法,并给出了标高标注和图例绘制程序的开发方法以及程序注解。
1用户幻灯菜单简介用户幻灯菜单(下文简称幻灯菜单)是在AutoCAD平台上开发的一种高效实用的用户图形界面,由幻灯和相应的AutoLISP实用程序组成。其功能及用法类似于AutoCAD的图标菜单。调用时幻灯菜单屏幕上出现一幅幻灯,幻灯显示不同图形界面,由幻灯和相应的AutoCAD实用程序组成。其功能及用法的功能区域,每个区域对应相应的功能,用鼠标点取即可调用该功能。
幻灯菜单可以用于开发本部门使用的工具软件或是商业化的CAD软件,可以大大提高开发效率以及设计绘图速度。
下面以我院开发的标高标注程序为例介绍幻灯菜单的功能:在command:状态下从下拉菜单中点取“标高标注1”后屏幕上出现如图1所示幻灯,用鼠标在某一标高种类格中点击后幻灯消失,恢复前一图面,在提示行中提示“请输入起点”,给点后又提示:“标高值”,输入数值后自动按选择的种类画好标高符号并写好标高值;然后重复提示“请输入起点”标注下一个,回车则回到图1幻灯重复使用,点EXIT退出。
2幻灯菜单的特点
幻灯菜单可以实现AutoCAD的图标菜单的各项功能,并且有如下优点:
a.制作、修改效率高。制作图标菜单时,要实现的功能数与幻灯数及菜单项的数量相同。而制作一个幻灯菜单只需要作一个幻灯,幻灯数量大幅减少,修改也容易得多。
b.使用效率高。为了提高软件效率,尽量减少击键次数是今后软件的发展方向。幻灯菜单可以将多种形式的选择以图形形式直观地显示出来,以供选择。以标高标注为例,以前的方法是先问标高符号形式,再问方向,而使用幻灯菜单只需点取一次即可。
c.界面美观,制作灵活多样,使用方便。幻灯菜单在一幅幻灯中划分的功能区数量不限,并且可以根据需要制作成方格、横格、竖格、扇型格、圆环格等多种形式,甚至可以达到可编程序对话框的很多功能。
d.适用性强,移植方便。幻灯菜单适用于R9.0版以上的各种中、西文AutoCAD版本。使用幻灯菜单时,由于它包含在用ADS或AutoLISP等语言编制的程序中,所以只要能运行程序即可调出幻灯菜单,版本升级时不必改变新的菜单文件。而图标菜单的菜单项必须逐条加入到新的菜单文件中。
e.可以作成定型模块重复使用,从而大大提高编程效率。
3幻灯菜单的制作
幻灯菜单的原理是:将AutoCAD绘图区分为若干规则的图形区域,每一区域可以对应一组功能,在程序调用幻灯菜单时,要求用户根据需要在某一图形区域中选取一点,然后程序自动计算出该点所在的区域位置,从而调用所对应的程序功能。
点的定位是幻灯菜单制作编程的关键所在,以矩形格幻灯菜单为例,其步骤是:
a.获取下列AutoCAD系统变量:
viewsize-当前绘图区高,用绘图单位计算;
viewctr-当前绘图区中心点坐标值;
vsmax、vsmin-虚拟屏幕的左下角及右上角点坐标值,可以用来求绘图区宽高比,从而求出绘图区宽度。
b.根据横向和竖向分格数,求出每格的宽和高。
c.由点的坐标值分别求出点所在格的横向和竖向序号。
d.横向和竖向序号连接即可获得该格的区域代码。
后文将给出我院开发的标高标注和图例绘制两个实例,以下程序均在AutoCADR10至13各版本下顺利运行,并已非常成熟。需要指出的是,为了简化程序,突出重点,删去了一些诸如容错或装饰性的语句,但不影响程序运行。
4实例一———标高标注程序
由程序abg.lsp和幻灯文件acdl.sld文件组成,使用说明已在前面叙述,标题7a给出abg.lsp程序清单及注解
abg.lsp程序包括主程序abg和15个标高标注子函数,子函数abgl至abg15类似,本文只列出abgl子函数程序。
5实例二———图例绘制软件本软件由用户在6页幻灯菜单中连续选取图例,给出一个插入图例的左上角点后,程序自动将所选择的图例按顺序逐项向下排列连续绘出。软件由Au toLISP程序atl.lsp和6页幻灯以及近百个图块组成。幻灯文件为atl1~atl6.sld。图块名为atlabc.dwg,atl为前缀,a代表幻灯页序号,为1~6;b代表幻灯菜单左右代码,左面为1,右面为2;c代表幻灯菜单中上下序号,分别为1~8。
本软件设计的核心思想是通过点的定位计算出的所对应的图例图块名,然后插入图例,多重选择由表处理语句来完成。本文中第7节的b部分给出atl.lsp中与幻灯菜单有关的程序清单及注解。后面还有几个子函数,由于篇幅有限本文不详细列出程序,只做简单介绍:
lastsld子函数对幻灯名字符串进行运算,求出上一页幻灯名;
nextsld子函数对幻灯名字符串进行运算,求出下一页幻灯名;
setnil子函数对各变量(必须包括whill)赋空值,并退出程序:
setok子函数对被选择的图例表进行处理,并逐项连续插入图例。
6小结
a.标高标注程序是利用幻灯菜单调出相应的标高标注子程序。
b.图例程序是利用幻灯菜单给图例名称赋值,然后运用字符串处理和表处理技术求得图例名称的列表,从而连续逐项插入被选中的图例。
c.图例幻灯菜单分两个大区,上面是图例区,下面是幻灯菜单的操作区,可见幻灯菜单能做成复杂高效的菜单。
- 1招标师考试教材在哪儿可以下载
- 2滚轧直螺纹钢筋机械连接技术在桥梁高墩施工中的应用
- 3造价员工程计价实务(安装)高分突破题(1)
- 4[大连]铜锣湾某广场建筑方案
- 5[北京]博物馆工程施工质量创优汇报PPT120页(鲁班奖 钢结构安装动画)
- 62015年一级建造师《公路》:路基冲刷防护工程
- 7西汉公路某合同段(实施)施工组织设计
- 8路基地面排水设置截水沟施工要求有哪些
- 9一级建造师复习资料:工程保修程序
- 10钢结构工程施工质量验收规范·附录B紧固件连接工程检验项目
- 11[新加坡]某新工设计集团多媒体演示汇报
- 12水闸金属结构安装工程主反轨拼接规定?
- 13室内抹灰及粉刷特点是什么?
- 14全国墙材革新宣传工作会召开 陕西工作被表扬
- 15【硕士】建筑外墙保温技术的应用研究
- 16一级建造师复习资料:通信线路工程确定施工顺序
- 17水泥混凝土路面接缝及裂缝防水密封材料简介
- 18价格信息库管理分系统
- 19安全工程师考试《安全生产管理知识》考前辅导(7)
- 20兰渝铁路广安南站主体工程基本完工
- 21污水处理厂扩建工程施工组织设计
- 22中铁二十局集团二公司青荣项目栖霞制梁场成功架设首榀箱梁
- 232015年一级建造师《工程经济》每日一练(9.29)
- 24东北振兴重大项目已投资3820亿
- 25根据《计量法》,关于计量器具使用的说法,正确的是什么
- 262008年咨询工程师《方法与实务》习题1
- 27公路工程安全管理方法及应用研究
- 28【硕士】防腐涂料用聚氨酯-环氧树脂复合乳液的研究
- 29郑徐客专二分部墩身工程全部完工
- 30建筑机械理性回归创意大赛燃起了一把暖火
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼