欢迎来到天天文库
浏览记录
ID:11673576
大小:66.00 KB
页数:6页
时间:2018-07-13
《autolisp 绘制三维螺旋楼梯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、AutoLISP绘制三维螺旋楼梯 一、〖说明〗 本例程能够绘制建筑中的三维螺旋楼梯。根据指定的参数:圆心点、梯级高、最窄梯级宽、楼梯宽度、扶手高、底板厚度和层高,程序将自动计算并绘制出以3dface和tabsurf组成的三维螺旋楼梯模型。程序能在R12至R14版的AutoCAD中运行。二、〖安装〗 将"程序代码"一节的文本裁剪下来,保存成名为"3DSP.LSP"的文本文件;将这个文件拷贝到AutoCAD的系统目录中。三、〖使用〗 在AutoCAD命令行键入:(load"3dsp")然后执行:3
2、dsp,按程序中的提示操作即可。(程序中的提示已改为中文,若需要英文提示可自行修改提示字符串或跟我联系)四、〖程序代码〗;;;begain3dsp.lsp(defundtr(r)(*r(/pi180.0)))(defunrtd(r)(*r(/180.0pi)))(defun3dsp_err(s)(if(not(members(list"consolebreak""Functioncancelled""quit/exitabort")))(princ(strcat"3DSPError:"s)))(i
3、fcmd(setvar"cmdecho"cmd))(ifbli(setvar"blipmode"bli))(ifcla(setvar"clayer"cla))(ifos1(setvar"osmode"os1))(princ))(defunspinfo(/ht);staircaseparameter(setqcp(getpoint"螺旋梯圆心点:")lp(getpointcp"首级内圆起始点:")riser(getdist"梯级高:")step(getdist"内圆最窄梯级宽:")wid
4、e(getdist"楼梯宽度:")hrl(getdist"扶手高:")thi(getdist"底板厚度:")ht(getdist"层高:")case(fix(/htriser))riser(/htcase)ls(sqrt(+(exptriser2)(exptstep2)))a(/riserls);sinAb(/stepls);cosAclp));endSPINFO(defunspcalc(/os1)(setqos1(getvar"osmode"))(initget"LRBN")(set
5、qans(getkword"选择扶手(L)左/(R)右/(B)双边/(N)无:"))(if(notans)(setqans"N"))(setqblksp(open"blksp.lst""r"))(if(not(equalblkspnil))(setqblk(read-lineblksp)))(if(equalblknil)(setqblk"sp1")(setqblk(strcat"sp"(itoa(1+(atoi(substrblk3)))))))(setqr(distancecplp))(set
6、qang(/stepr));determinestheangleofthestep(setqac(anglecplp))(setqrp(polarlpacwide)lp1(list(carlp)(cadrlp)riser)lp4(list(carrp)(cadrrp)riser)count0elriseralang)(setqdiag(+acang))(setqlp2(list(car(polarcpdiagr))(cadr(polarcpdiagr))riser)lp3(list(car(polar
7、cpdiag(+rwide)))(cadr(polarcpdiag(+rwide)))riser)lh(polarcp(+ac(/ang2))(+r(/wide15)));leftbottomhrllh1(list(carlh)(cadrlh)(+(caddrlh)riser))lh2(list(carlh1)(cadrlh1)(+(caddrlh1)hrl));lefttophrlsht(polarcpdiag(+r(/wide15)))shb(polarcpac(+r(/wide15)))sh1(
8、list(carshb)(cadrshb)(+(caddrshb)(+hrl(/riser2))))sh2(list(carsht)(cadrsht)(+(caddrsht)hrl(*riser1.5))))(setqtlp(list(carlp)(cadrlp)(-(caddrlp)(/thib)))tl1(list(carlp2)(cadrlp2)(-(caddrlp2)(/thib)))trp(list(carrp)(cadrrp)(-(caddr
此文档下载收益归作者所有