快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

为AUTOLISP建立缺省输入函数

    使用LISP编程时,经常需要用户回答一些参数,为了提高工作效率,希望能用回车代替某个特定输入即缺省值。此时,在程序中增加一个判定可使变量得到缺省回答。

    如:(setqwidth(getreal″inputwidth:″))

    (if(nullwidth)(setqwidth0.3));回车置width的值为0.3.有时需要依上一次的输入值为本次的缺省输入(如:宽度、角度、距离等),这时就需要用全局变量保存上一次输入值提供缺省输入。例如,若欲将上次输入的宽度值作为缺省输入可使用下述函数:(if(notwidth)

    (setqwidth0.3);第一次依03为缺省值)

    (princ″inputwidth:″)

    (princ″n(princwidth)

    (princ″:″);显示提示信息(setqw1(getrea1))

    (if(notw1)

    (setqw1width)

    (setqwidthw1);用全局变量保存当前输入值(princw1))

    函数的执行结果是:第一次执行时依宽度03为缺省值,提示信息为:inputwidth:,给定新的输入值后如05,下一次依宽度05为缺省提示值,提示信息为:inputwidth:。

    在一般情况下,还可通过建立缺省处理函数,加快程序处理速度,减少编码。如:(defundefal(strval)

    (setqglobaval)

    (princ(strcatstr″(princgloba)

    (princ″″)

    (setqvar(getreal))

    (if(notvar)

    (setqvargloba);用缺省值作为输入)

    (princvar))

    这是一个有参函数,它将输入的实数作为返回值。当按(defal″inputwidth″0.5)调用时提示信息为:inputwidth:。该函数能按str的提示缺省输入实数(由val给定)类值(如:角度、距离等),加入到ACADLSP文件中即可像LISP标准函数相同供其它函数调用。


返回类别: AuotoCAD教程
上一教程: 没有了
下一教程: CAD中自动画管线图的LISP程序

您可以阅读与"为AUTOLISP建立缺省输入函数"相关的教程:
· Auto CAD中点的四种输入方式
· 在AutoCAD中迅速输入特别字符
· 用字符映射表在AutoCAD中迅速输入特别字符
· AutoCAD中特别符号的输入方式
· 在AutoCAD中输入上下标文字
    微笑服务 优质保证 索取样品