




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
给排水设计(全文)PGE\*MERGEFORMTPGE\*MERGEFORMT1给排水设计(全文)全文共1页,当前为第1页。给排水设计给排水设计(全文)全文共1页,当前为第1页。1用户幻灯菜单简介用户幻灯菜单(下文简称幻灯菜单)是在utoCD平台上开发的一种高效有用的用户图形界面,由幻灯和相应的utoLISP有用程序组成。其功能及用法类似于utoCD的图标菜单。调用时幻灯菜单屏幕上出现一幅幻灯,幻灯显示不同图形界面,由幻灯和相应的utoCD有用程序组成。其功能及用法的功能区域,每个区域对应相应的功能,用鼠标点取即可调用该功能。
幻灯菜单可以用于开发本部门使用的工具软件或是商业化的CD软件,可以大大提高开发效率以及设计绘图速度。
下面以我院开发的标高标注程序为例介绍幻灯菜单的功能:在commnd:状态下从下拉菜单中点取“标高标注1”后屏幕上出现如图1所示幻灯,用鼠标在某一标高种类格中点击后幻灯消逝,恢复前一图面,在提示行中提示“请输入起点”,给点后又提示:“标高值”,输入数值后自动按选择的种类画好标高符号并写好标高值;然后重复提示“请输入起点”标注下一个,回车则回到图1幻灯重复使用,点EXIT退出。
2幻灯菜单的特点
幻灯菜单可以实现utoCD的图标菜单的各项功能,并且有如下优点:
.制作、修改效率高。制作图标菜单时,要实现的功能数与幻灯数及菜单项的数量相同。而制作一个幻灯菜单只需要作一个幻灯,幻灯数量大幅减少,修改也容易得多。
给排水设计(全文)全文共2页,当前为第2页。b.使用效率高。为了提高软件效率,尽量减少击键次数是今后软件的进展方向。幻灯菜单可以将多种形式的选择以图形形式直观地显示出来,以供选择。以标高标注为例,以前的方法是先问标高符号形式,再问方向,而使用幻灯菜单只需点取一次即可。
c.界面美观,制作灵活多样,使用方便。幻灯菜单在一幅幻灯中划分的功能区数量不限,并且可以根据需要制作成方格、横格、竖格、扇型格、圆环格等多种形式,甚至可以达到可编程序对话框的很多功能。
d.适用性强,移植方便。幻灯菜单适用于R9.0版以上的各种中、西文utoCD版本。使用幻灯菜单时,由于它包含在用DS或utoLISP等语言编制的程序中,所以只要能运行程序即可调出幻灯菜单,版本升级时不必改变新的菜单文件。而图标菜单的菜单项必须逐条加入到新的菜单文件中。
e.可以作成定型模块重复使用,从而大大提高编程效率。
3幻灯菜单的制作
幻灯菜单的原理是:将utoCD绘图区分为若干规则的图形区域,每一区域可以对应一组功能,在程序调用幻灯菜单时,要求用户根据需要在某一图形区域中选取一点,然后程序自动计算出该点所在的区域位置,从而调用所对应的程序功能。
点的定位是幻灯菜单制作编程的关键所在,以矩形格幻灯菜单为例,其步骤是:
.猎取下列utoCD系统变量:
给排水设计(全文)全文共3页,当前为第3页。viewsize-当前绘图区高,用绘图单位计算;
viewctr-当前绘图区中心点坐标值;
vsmx、vsmin-虚拟屏幕的左下角及右上角点坐标值,可以用来求绘图区宽高比,从而求出绘图区宽度。
b.根据横向和竖向分格数,求出每格的宽和高。
c.由点的坐标值分别求出点所在格的横向和竖向序号。
d.横向和竖向序号连接即可获得该格的区域代码。
后文将给出我院开发的标高标注和图例绘制两个实例,以下程序均在utoCDR10至13各版本下顺利运行,并已非常成熟。需要指出的是,为了简化程序,突出重点,删去了一些诸如容错或装饰性的语句,但不影响程序运行。
4实例一———标高标注程序
由程序bg.lsp和幻灯文件cdl.sld文件组成,使用说明已在前面叙述,标题7给出bg.lsp程序清单及注解
bg.lsp程序包括主程序bg和15个标高标注子函数,子函数bgl至bg15类似,本文只列出bgl子函数程序。
5实例二———图例绘制软件本软件由用户在6页幻灯菜单中连续选取图例,给出一个插入图例的左上角点后,程序自动将所选择的图例按顺序逐项向下排列连续绘出。软件由utoLISP程序tl.lsp和6页幻灯以及近百个图块组成。幻灯文件为tl1~tl6.sld。图块名为tlbc.dwg,tl为前缀,代表幻灯页序号,为1~6;b代表幻灯菜单左右代码,左面为1,右面为2;c代表幻灯菜给排水设计(全文)全文共4页,当前为第4页。单中上下序号,分别为1~8。
本软件设计的核心思想是通过点的定位计算出的所对应的图例图块名,然后插入图例,多重选择由表处理语句来完成。本文中第7节的b部分给出tl.lsp中与幻灯菜单有关的程序清单及注解。后面还有几个子函数,由于篇幅有限本文不详细列出程序,只做简单介绍:
lstsld子函数对幻灯名字符串进行运算,求出上一页幻灯名;
nextsld子函数对幻灯名字符串进行运算,求出下一页幻灯名;
setnil子函数对各变量(必须包括whill)赋空值,并退出程序:
setok子函数对被选择的图例表进行处理,并逐项连续插入图例。
6小结
.标高标注程序是利用幻灯菜单调出相应的标高标注子程序。
b.图例程序是利用幻灯菜单给图例名称赋值,然后运用字符串处理和表处理技术求得图例名称的列表,从而连续逐项插入被选中的图例。
c.图例幻灯菜单分两个大区,上面是图例区,下面是幻灯菜单的操作区,可见幻灯菜单能做成复杂高效的菜单。
7程序清单
.bg.lsp程序及注解;
给排水设计(全文)全文共5页,当前为第5页。(defunC:BGBZ()
(setqwhil1t)
(whilewhil1)
(commnd″vslide″″cd1″)
(if(setqpp(getpoint″请点取标高种类″))
(progn
(redrw)
(setqh(getvr″viewsize″)
pcen(getvr″viewsize″)
pmx(getvr″vsmx″)
pmim(getvr″vsmin″)虚拟屏幕左下角)
(setqw(*(/(-(crpmx)(crpmin))
(-(cdrpmx)(cdrpmin)))h))
(setqpp0(list(-(crpcen)(/w3))
(-(cdrpcen(
/h3))))
(setqpp1(list(+(crpcen)(/w3))
(+(cdrpcen)(/h3))))
(setqdx(/w6)dy(/h6))
(setqlx(crpp)ly(cdrpp))
(setqplx(crpp0)ply(cdrpp0))
(setplx(-lxplx)ly(-lyply))
给排水设计(全文)全文共6页,当前为第6页。(setpx(fix(1+(/(-pxpx0)dx))))
(setqy(fix(1+(/(-pypy0)dy))))
(setqnn(strct(itox)(itoy)))
(cond((=nn14)(bg1))
((=nn13)(bg2))
((=nn12)(bg3))
((=nn11)(bg4))
主程序BGBZ开始
设whil1值为真
当whil1为真时执行下列程序
显示幻灯在幻灯菜单中选点
重画恢复原画面
绘图区高
绘图区中心点
虚拟屏幕右上角
共猎取系统变量
求绘图区宽
有效区左下角,(有效区宽和高占绘图宽和高的三分之二)
有效区右上角
每格宽和高
PP点的X和Y坐标
左下角点坐标
给排水设计(全文)全文共7页,当前为第7页。PP点和PP0点X和Y坐标差;
X方向格序号
Y方向格序号
将X和Y连接
多项选择条件函数
nn=13时运行be2子函数
((=nn24)(bg5))
((=nn23)(bg6))
((=nn22)(bg7))
((=nn21)(bg8))
((=nn34)(bg9))
((=nn33)(bg10))
((=nn32)(bg11))
((=nn31)(bg12))
((=nn44)(bg13))
((=nn43)(bg14))
((=nn42)(bg15))
((=nn41)(setqwhil1nil))
);cond)
)));progn;if;while;defun
(defunbg1()
(while(setqp1(getpoint″输入起点″))
给排水设计(全文)全文共8页,当前为第8页。(initget1)
(setqs1(getrel″标高值:″))
(setqp2(polrp108))
(setqp3(polrp2(/pi4)3.2))
(setqp4(list(+(crp2)0)(+(cdrp2)2.9)))
(if(=s10)(setps2″%%p0.00″)(setqs2(rtoss122)))
(commnd″line″p1″@14<0″″″″line″p3p2
″@3.2<135″″@12.8<0″″″
″text″p42.80s2)));……
b.tl.lsp程序及注解
为11-44格规定功能,即每一格对应一个子函数
主程序BGBZ结束
定义bg1子函数
标高符号起点
不接受空值
标高值
计算各点位置
标高为0时加“±”
画标高符号
写标高值commnd
while;defun-bg1
bg2~bg15子函数省略
给排水设计(全文)全文共9页,当前为第9页。(defunC:TL()
(setqtllistniltlsld″tl″tlsldn″1″whil1t)
(setqtlpth″/cd/tl″)
(promtp″\n给排水图例程序
—BERIS″)
(whilewhil1
(commnd″vslide″(strcttlpth″tl″tlsldn))
(initget1)
(setqpp(getpoint″\n请连续点取图例,并点取〈确定〉″))
(setqh(getvr″viewsize″))
(setqpcen(getvr″viewctr″))
图例绘制主程序
赋初始值
图例图块路径
提示
当whil1为真执行下面程序调出幻灯(幻灯名由三个变量连接而成,图2为第一页)
不接受空值
以下内容同标高标注程序
(setqpmx(getvr″vsmx″))
(setqpmin(getvr″vsmin″))
给排水设计(全文)全文共10页,当前为第10页。(setqw(*(/(-(crpmx)(crpmin))
(-cdrpmx)(cdrpmin)))h))
(setqpp0(list(-(crpcen)(*w0.44))
(-(cdrpcen)(*h0.26))))
(setqpp1(list(+(crpcen)(*w0.44))
(+(cdrpcen)(*h0.44))))
(setqdx(/(*w0.88)4)dy(/(*h0.7)8))
(setqpx(crpp)py(cdrpp))
(setqpx0(crpp0)py0(cdrpp0))
(if(<pypy0)(dq2)(dq1))))
(defundq1()(if(<px(crpcen))
(setqorb″1″)
(setqorb″2″))
(setqxh(fix(1+(/(-pypy0)dy))))
(setqblknme
(strct″tl″tlsldnorb(itoxh))))
(defundq2()
(setqxh1(fix(1+(/(-pxpx0)dx))))
(cond((=xh11)(lstsld))
((=xh12)(nexts
ld))
((=xh13)(setnil))
给排水设计(全文)全文共11页,当前为第11页。((=xh14)(setok))))
(de
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 急诊科室团队建设与合作计划
- 重要会议活动保安风险评估与控制计划
- 行业洞察的总结与实施策略计划
- 工作计划规划
- 酒店行业保安服务的发展方向计划
- 激励学生积极参与计划
- 加强财务文化建设促进部门协作计划
- 定期库房盘点的实施计划
- 持续改进与生产计划的结合
- 学校幼儿园课程安排计划
- 礼仪与教化 课件-2023-2024学年高中美术湘美版(2019)美术鉴赏
- 新生儿早期基本保健课件
- 采矿学课程设计砚北煤矿新井设计全套图纸
- 第19章-城市设计课件
- 人事管理管理制度
- 大型储罐计算书
- 2022-2023学年广东省广州市荔湾区统考初三第一次模考数学试题含解析
- 针对本项目售后服务方案
- 2022年桂林电子科技大学高等学历继续教育学士学位英语考试真
- 新人教版七至九年级英语单词表 汉译英(含音标)
- 新固废法课件PPT
评论
0/150
提交评论