AutoLISP默认字符串 10

我在学习AutoLISP的时候,想输入默认字符串,但是发现老是提示“错误:函数被取消”,却一直不得其解,(if(not(setqlayer_name(getstring"... 我在学习AutoLISP的时候,想输入默认字符串,但是发现老是提示“错误:函数被取消”,却一直不得其解,
(if (not (setq layer_name (getstring "\n Intput layer name<001>:")))
(setq layer_name "001"))
但是如果我使用的不是字符串,而是getreal,都是可以默认的,这是为什么呢??哪位大虾不吝赐教,非常感激不尽。
就是如果键盘输入的时候,是可以的,但是如果直接回车的时候,就会提示“错误:函数被取消”,而实数却是可以的呢,
(if (not (setq layer_name (getstring "\n Intput layer name<001>:")))
(setq layer_name "001")
(setq layer_name "002"))
直接敲回车来检测layer_name有没有输入,就是一直会输出“002”,说明layer_name不是nil呢,这是怎么一回事??
展开
 我来答
风雨无阻之9
2014-05-09
知道答主
回答量:5
采纳率:0%
帮助的人:2.9万
展开全部
在没有其他输入的情况下,空格 enter本身也是字符串,所以必须手动输入
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光... 点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
朱06CAD
2014-04-21 · 知道合伙人软件行家
朱06CAD
知道合伙人软件行家
采纳数:4172 获赞数:18070
高中,熟悉AutoCAD。会autolisp及VBA程序。

向TA提问 私信TA
展开全部
要默认就加一句:
(if (= layer_name nil) (setq ayer_name "001"))
if函数只对第一句话有效,对第二句话无效;
要对第二句有效的话,加一个函数progn
如:
(if (= k1 1);;如果k1等于1
(setq k2 2);;那么k2等于2(不等于1就不执行)
(setq k3 3);;不会执行(只有k1不等于1才执行)
)
(if (= k1 1);;如果k1等于1
(progn
(setq k2 2);;那么k2等于2
(setq k3 3);;那么k3等于3
)
)
仔细查看函数用法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式