您现在的位置: 首 页 > 教程文档 > cad教程 > 为AUTOLISP建立缺省输入函数

    为AUTOLISP建立缺省输入函数


作者:heizi 日期:2007-05-21
    

使用LISP编程时,常常需要用户回答一些参数,为了提高工作效率,希望能用回车代替某个特定输入即缺省值。此时,在程序中增加一个判断可使变量得到缺省回答。
如:
   (setqwidth(getreal″inputwidth:″))
   (if(nullwidth)(setqwidth0.3));回车置width的值为0.3。
   有时需要依上一次的输入值为本次的缺省输入(如:宽度、角度、距离等),这时就需要用全局变量保存上一次输入值提供缺省输入。例如,若欲将上次输入的宽度值作为缺省输入可使用下述函数:
   (if(notwidth)
   (setqwidth0.3);第一次依03为缺省值)
   (princ″\inputwidth:″)
   (princ″\n
   (princwidth)
   (princ″:″);显示提示信息
   (setqw1(getrea1))
   (if(notw1)
   (setqw1width)
   (setqwidthw1);用全局变量保存当前输入值
   (princw1)
   )
   函数的执行结果是:第一次执行时依宽度03为缺省值,提示信息为:inputwidth:,给定新的输入值后如05,下一次依宽度05为缺省提示值,提示信息为:inputwidth:。
   在一般情况下,还可通过建立缺省处理函数,加快程序处理速度,减少编码。如:
   (defundefal(strval)
   (setqglobaval)
   (princ(strcatstr″
  (princgloba)
(princ″″)
(setqvar(getreal))
  (if(notvar)
(setqvargloba);用缺省值作为输入
)
(princvar)
  )
   这是一个有参函数,它将输入的实数作为返回值。当按(defal″inputwidth″0.5)调用时提示信息为:inputwidth:。该函数能按str的提示缺省输入实数(由val给定)类值(如:角度、距离等),加入到ACADLSP文件中即可像LISP标准函数一样供其它函数调用。


    
1)本站所有资源需要用迅雷下载,请确保您已经安装迅雷软件,下载迅雷  2)资源如需解压密码,密码为:www.coolsc.com 或者www.sooogl.com

设为首页    |    加入收藏    |    广告服务    |    联系我们    |    网站地图    |    网站搜索
百度大联盟认证绿色会员
QQ交流群:1792001(已满) 17383087(已满) 29910201(已满) 53365200 13287661 58115297
酷素材----为您搜集最有效的设计类素材 ©版权所有
本站所有资源,都来自互联网。如有版权问题请联系我们删除!本站资源用于学习交流,请勿用于商业。 !
诚邀友情链接,联系qinzhen_jeh#tom.com(把#替换成@)