给排水设计给排水CAD软件开发实例
nbsp;
setnil子函数对各变量(必须包括whill)赋空值,并退出程序:
setok子函数对被选择的图例表进行处理,并逐项连续插入图例。
6小结
a.标高标注程序是利用幻灯菜单调出相应的标高标注子程序。
b.图例程序是利用幻灯菜单给图例名称赋值,然后运用字符串处理和表处理技术求得图例名称的列表,从而连续逐项插入被选中的图例。
c.图例幻灯菜单分两个大区,上面是图例区,下面是幻灯菜单的操作区,可见幻灯菜单能做成复杂高效的菜单。
7程序清单
a.abg.lsp程序及注解;
(defunC:BGBZ()
(setqwhil1t)
(whilewhil1)
(if(setqpp(getpoint″请点取标高种类″))
(progn
(redraw)
(setqh(getvar″viewsize″)
pcen(getvar″viewsize″)
pmax(getvar″vsmax″)
pmim(getvar″vsmin″)虚拟屏幕左下角)
(setqw(*(/(-(carpmax)(carpmin))
(-(cadrpmax)(cadrpmin)))h))
(setqpp0(list(-(carpcen)(/w3))
(-(cadrpcen(
/h3))))
(setqpp1(list(+(carpcen)(/w3))
(+(cadrpcen)(/h3))))
(setqdx(/w6)dy(/h6))
(setqlx(carpp)ly(cadrpp))
(setqplx(carpp0)ply(cadrpp0))
(setplx(-lxplx)ly(-lyply))
(setpx(fix(1+(/(-pxpx0)dx))))
(setqy(fix(1+(/(-pypy0)dy))))
(setqnn(strcat(itoax)(itoay)))
(cond((=nn14)(abg1))
((=nn13)(abg2))
((=nn12)(abg3))
((=nn11)(abg4))
主程序BGBZ开始
设whil1值为真
当whil1为真时执行下列程序
显示幻灯在幻灯菜单中选点
重画恢复原画面
绘图区高
绘图区中心点
虚拟屏幕右上角
共获取系统变量
求绘图区宽
有效区左下角,(有效区宽和高占绘图宽和高的三分之二)
有效区右上角
每格宽和高
PP点的X和Y坐标
左下角点坐标
PP点和PP0点X和Y坐标差;
X方向格序号
Y方向格序号
将X和Y连接
多项选择条件函数
nn=13时运行abe2子函数
((=nn24)(abg5))
((=nn23)(abg6))
((=nn22)(abg7))
((=nn21)(abg8))
((=nn34)(abg9))
((=nn33)(abg10))
((=nn32)(abg11))
((=nn31)(abg12)) 《给排水设计给排水CAD软件开发实例(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/143834.html
setnil子函数对各变量(必须包括whill)赋空值,并退出程序:
setok子函数对被选择的图例表进行处理,并逐项连续插入图例。
6小结
a.标高标注程序是利用幻灯菜单调出相应的标高标注子程序。
b.图例程序是利用幻灯菜单给图例名称赋值,然后运用字符串处理和表处理技术求得图例名称的列表,从而连续逐项插入被选中的图例。
c.图例幻灯菜单分两个大区,上面是图例区,下面是幻灯菜单的操作区,可见幻灯菜单能做成复杂高效的菜单。
7程序清单
a.abg.lsp程序及注解;
(defunC:BGBZ()
(setqwhil1t)
(whilewhil1)
(command″vslide″″acd1″)
(if(setqpp(getpoint″请点取标高种类″))
(progn
(redraw)
(setqh(getvar″viewsize″)
pcen(getvar″viewsize″)
pmax(getvar″vsmax″)
pmim(getvar″vsmin″)虚拟屏幕左下角)
(setqw(*(/(-(carpmax)(carpmin))
(-(cadrpmax)(cadrpmin)))h))
(setqpp0(list(-(carpcen)(/w3))
(-(cadrpcen(
/h3))))
(setqpp1(list(+(carpcen)(/w3))
(+(cadrpcen)(/h3))))
(setqdx(/w6)dy(/h6))
(setqlx(carpp)ly(cadrpp))
(setqplx(carpp0)ply(cadrpp0))
(setplx(-lxplx)ly(-lyply))
(setpx(fix(1+(/(-pxpx0)dx))))
(setqy(fix(1+(/(-pypy0)dy))))
(setqnn(strcat(itoax)(itoay)))
(cond((=nn14)(abg1))
((=nn13)(abg2))
((=nn12)(abg3))
((=nn11)(abg4))
主程序BGBZ开始
设whil1值为真
当whil1为真时执行下列程序
显示幻灯在幻灯菜单中选点
重画恢复原画面
绘图区高
绘图区中心点
虚拟屏幕右上角
共获取系统变量
求绘图区宽
有效区左下角,(有效区宽和高占绘图宽和高的三分之二)
有效区右上角
每格宽和高
PP点的X和Y坐标
左下角点坐标
PP点和PP0点X和Y坐标差;
X方向格序号
Y方向格序号
将X和Y连接
多项选择条件函数
nn=13时运行abe2子函数
((=nn24)(abg5))
((=nn23)(abg6))
((=nn22)(abg7))
((=nn21)(abg8))
((=nn34)(abg9))
((=nn33)(abg10))
((=nn32)(abg11))
((=nn31)(abg12)) 《给排水设计给排水CAD软件开发实例(第2页)》