给排水设计给排水CAD软件开发实例
((=nn24)(abg5))
((=nn23)(abg6))
((=nn22)(abg7))
((=nn21)(abg8))
((=nn34)(abg9))
((=nn33)(abg10))
((=nn32)(abg11))
((=nn31)(abg12))
((=nn44)(abg13))
((=nn43)(abg14))
((=nn42)(abg15))
((=nn41)(setqwhil1nil))
);cond)
)));progn;if;while;defun
(defunabg1()
(while(setqp1(getpoint″输入起点″))
(initget1)
(setqs1(getreal″标高值:″))
(setqp2(polarp108))
(setqp3(polarp2(/pi4)3.2))
(setqp4(list(+(carp2)0)(+(cadrp2)2.9)))
(if(=s10)(setps2″%%p0.00″)(setqs2(rtoss122)))
(command″line″p1″@14<0″″″″line″p3p2
″@3.2<135″″@12.8<0″″″
″text″p42.80s2)));……
b.atl.lsp程序及注解
为11-44格规定功能,即每一格对应一个子函数
主程序BGBZ结束
定义abg1子函数
标高符号起点
不接受空值
标高值
计算各点位置
标高为0时加“±”
画标高符号
写标高值comma
nd
while;defun-abg1a
bg2~abg15子函数省略
(defunC:TL()
(setqatllistniltlsld″atla″tlsldn″1″whil1t)
(setqtlpath″/cad/atl″)
(promtp″\n给排水图例程序
—BERIS″)
(whilewhil1
(command″vslide″(strcattlpath″atl″tlsldn))
(initget1)
(setqpp(getpoint″\n请连续点取图例,并点取〈确定〉″))
(setqh(getvar″viewsize″))
(setqpcen(getvar″viewctr″))
图例绘制主程序
赋初始值
图例图块路径
提示
当whil1为真执行下面程序调出幻灯(幻灯名由三个变量连接而成,图2为第一页)
不接受空值
以下内容同标高标注程序
(setqpmax(getvar″vsmax″))
(setqpmin(getvar″vsmin″))
(setqw(*(/(-(carpmax)(carpmin))
(-cadrpmax)(cadrpmin)))h))
(setqpp0(list(-(carpcen)(*w0.44))
(-(cadrpcen)(*h0.26))))
(setqpp1(list(+(carpcen)(*w0.44))
(+(cadrpcen)(*h0.44))))
(setqdx(/(*w0.88)4)d 《给排水设计给排水CAD软件开发实例(第3页)》