利用autolisp 和dcl实现动态插入

利用autolisp 和dcl实现动态插入

ID:12906838

大小:30.50 KB

页数:11页

时间:2018-07-19

利用autolisp 和dcl实现动态插入_第1页
利用autolisp 和dcl实现动态插入_第2页
利用autolisp 和dcl实现动态插入_第3页
利用autolisp 和dcl实现动态插入_第4页
利用autolisp 和dcl实现动态插入_第5页
资源描述:

《利用autolisp 和dcl实现动态插入》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、利用AutoLISP和DCL实现动态插入作者:轶名 来源:网络 类别:AutoLISP、VLISP、VBA/ActiveX开发技术 日期:2002.04.29 今日/总浏览:8/485  〖利用AutoLISP和DCL实现动态插入〗   笔者所在单位采用AutoCAD作为绘图平台进行工程设计和开发,在工程绘图过程中,经常会用到明细表的生成,如果明细表很多则需要一条一条地画出,这样将大大降低绘图效率,为了能实现一次可将明细表画出并准确插入到标题栏上,笔者在工作中尝试用AutoLISP语言和DCL对话框

2、实现上了上述功能,从而大大提高了绘图效率。命令运行时,系统将出现提示对话框。  用户只要输入明细表的起、止序号和比例,确认后即可将所需的标准明细表自动画出,并插入到标题栏的准确位置。  画明细表的LISP程序如下:  ;画明细表外边框及各横线:  (defundrawl()  (setvar″cmdecho″0)  (setvar″osmode″0)  (command″layer″″m″″lll″″c″red″″)  (setqinp(getpoint″请输入明细表插入点(右下角):″))  

3、(setqnum1(atoiaa))  (setqnum2(atoibb))  (while(>num1num2)  (alert″输入错误(结束序号必须大于起始序号),要重新输入起始序号和结束序号,请按回车键重新调用对话框。″)  (exit))  (setqnum(+1(-num2num1)))  (setqx(atofab))  (if(not*x)(setq*x1))  (setqptx2(carinp))  (setqptx1(-(carinp)180.0))  (setqn0) 

4、 (setqp1(polarinppi180))  (setqp2(polarp1(/pi2)(+10.0(*8num))))  (setqp3(polarp20180))  (setqpty0(+10.0(cadrinp)))  (setqp4(listptx1pty0))  (setqp5(listptx2pty0))  (setqscal(/(getvar″dimtxt″)5))  (command″pline″inp″w″(*0.7scal)(*0.7scal)p1p2p3″c″″″line

5、″p4p5″)  (while(>numn)  (setqn(+1n))  (setqpy(*8n))  (setqpty(+pypty0))  (setqpt1(listptx1pty))  (setqpt2(listptx2pty))  (command″line″pt1pt2″)))  ;画明细表内竖线:  (defuncon()  (setqptx1(+8.0(-(carinp)180)))  (setqptx2(+50.0(-(carinp)180)))  (setqptx3(+90.0(

6、-(carinp)180)))  (setqptx4(+98.0(-(carinp)180)))  (setqptx5(+140.0(-(carinp)180)))  (setqptx6(+160.0(-(carinp)180)))  (setqptx7(+150.0(-(carinp)180)))  (setqpty1(cadrinp))  (setqpty2(+pty0(*8num)))  (setqptl1(listptx1pty1))  (setqptl2(listptx1pty2))  (

7、setqptl3(listptx2pty1))  (setqptl4(listptx2pty2))  (setqptl5(listptx3pty1))  (setqptl6(listptx3pty2))  (setqptl7(listptx4pty1))  (setqptl8(listptx4pty2))  (setqptl9(listptx5pty1))  (setqptl10(listptx5pty2))  (setqptl11(listptx6pty1))  (setqptl12(listpt

8、x6pty2))  (setqptl13(listptx7pty0))  (setqptl14(listptx7pty2))  (command″line″ptl1ptl2″"  ″line″ptl3ptl4″"  ″line″ptl5ptl6″"  ″line″ptl7ptl8″"  ″line″ptl9ptl10″"  ″line″ptl11ptl12″"  ″line″ptl13ptl14″"))  ;添加明细表表头及书写序号:  (defunte()v(get

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。