autolisp程序设计技巧

autolisp程序设计技巧

ID:9639574

大小:49.50 KB

页数:2页

时间:2018-05-04

autolisp程序设计技巧_第1页
autolisp程序设计技巧_第2页
资源描述:

《autolisp程序设计技巧》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、AUTOLISP程序设计技巧  俗话说熟能生巧,在长期从事AUTOLISP程序设计的实践中,我总结出(当然也参考了其他朋友的经验)了部分编程技巧,仅供大家参考!  1)加载程序之前应先判断文件是否已经被加载  在调用用户自己定义的函数之前,应先将包含该函数的文件调入内存(LOAD文件).但如果每次调用前都加载该程序,则会浪费很多时间.因此判别文件是否已经调入内存,则是非常重要的,这种用法在菜单文件十分普遍  ..  [RECTAN](if(notrectan)(loadles2));(rectan);  ..  在文件内同样可以实现同样的检测  2)抑制函数运行后返回nil  在一个Au

2、tolisp函数运行结束后,它常会在命令行上返回一个nil,令人遗憾。其实只要我们问在该函数的最后一行加上(PRINC)语句后,即可抑制nil的产生。  当然如果对需要一个结果的函数,则不可采用此法。  3)几个自动执行函数  a)加载自动执行函数  定义  (defuns::startup()...)  一旦该函数在acad.lsp函数中定义,在autocad启动时,就会自动加载该函数.  b)存盘自动执行函数  定义  (defunS::save()....)  该函数与(s::startup)相似,在存储文件时将会被自动执行.例如:在保存文件时,对被保存文件生成备份文件等,就可能需

3、要此功能文件  c)退出时自动执行文件定义  (defuns::exit()...)  4)怎样判断两个实数相等  对于计算出来的实数,即使真的相等,但对计算机来说,其往往不是绝对相等(如2.00与2.000就不等).因此判断其相等就需要采用差值方法  (equalexpr1expr2[FUZZ])  其中任选项FUZZ指定表达式EXPR1EXPR2的最大允许差值.即如果实际差值小于FUZZ,则判断结果为真,反之为假.  (if(equalab0.001)(promptThesenumbersareequal)(promptThesenumbersarenotequal))  5)取系统

4、的环境变量  对编制自己的系统来说,最好将自己的所有编制程序集中在自己独立的目录下,如acadlisp等.然后在将该目录添加到ACAD环境中.  在自己编制的程序中,为了确保所要调用函数或文件在AUTOCAD的搜索路径下,就需要判断自己编制的程序目录是否在ACAD环境内.此时就要用(getnev)函数  如(setqnev(getenvacad))  其将返回ACAD系统环境,如C:\ACAD\SUPPORT;C:\ACAD\FONTS;C:\ACAD\LISP——..,。

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

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

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