发布企业信息

为AUTOLISP建立缺省输入函数

作者:吕希银  信息来源:吕希银  2006-1-26

字体大小:  网友评论  进入论坛  

使用LISP编程时,常常需要用户回答一些参数,为了提高工作效率,希望能用回车代替某个特定输入即缺省值。有时需要依上一次的输入值为本次的缺省输入(如:宽度、角度、距离等),这时就需要用全局变量保存上一次输入值提供缺省输入。例如,若欲将上次输入的宽度值作为缺省输入可使用下述函数:(if(notwidth)(setqwidth0。...
使用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标准函数一样供其它函数调用。
分页:
Google


推荐图文

广告

机械热点图文

  • 数控车床加工编程典型实例分析2
  • 内螺纹车削加工——数控车床编程实例42
  • 子程序编程方法-数控车床编程实例36
  • 塑料模具动画演示

机械风云人物

Copyright © 2004 51base.com Inc. All rights reserved.

无忧基地 版权所有│粤ICP备06098418号│XHTML | CSS

客服:+86-755-2212 2202 工作时间:周1~5 10点~16点

感谢中国网络提供带宽支持

《网络营销技巧》