如何在ty之后强制进入
你好我正在编写一个自动lisp脚本,从对象中绘制引线以指向其他项目(请参阅下面脚本的一部分)。我想知道是否有任何方法,在我按下“Y”(是)后,以避免需要点击回车键,因此程序要求我输入“连接到:”。我会感谢你的帮助。非常感谢。
(setq ldr2“Y”)
(同时(=ldr2“Y”)
;-- 获取引导点并绘制它
(setq pt1(获取点ip“\n连接到:”)
(setq pt2(极性ip(角度ip pt1)0.1625))--这是BOM表圆上的pt
(命令“_line”pt2 pt1”)
;-- 请另一位领导
(initget“Y”)
(setq ldr2(getkword“\N您需要额外的领导者吗?(是/否):”) 为什么不使用默认值,这样用户只需点击回车键? 可以这样指定默认值:
(or ldr2 (setq ldr2 "Yes"))
(initget "Yes No")
(setq temp (getkword (strcat "\nDo you need an extra leader? (Y/N) <" ldr2 ">: ")))
(or (not temp) (setq ldr2 temp)))
检查getkword这是你想要的
引用lisp手册
(initget 1“Yes No”)
(setq x(getkword“选择是或否”))
我认为这个例子可以给出两个答案Y v's Y,我认为在“Yes”中的大写字母使它起作用,如果你添加其他单词作为小写,它们可能不会像你所想的那样起作用。 一些变化:
(initget "Yes No")
(setq return (cond ((getkword "\nQuestion: Yes/No/<Yes>:"))
("Yes")))
(INITGET 0 "Yes No")
(OR (SETQ return (GETKWORD "\nAre you sure? < Yes >: "))
(SETQ return "Yes")
)
(DEFUN c:Yesno (/ return)
(initget "Yes No")
(cond ((getkword "\nQuestion: Yes/No/<Yes>:"))
("Yes"))
) 我更喜欢该场景的/=测试
大卫 一些好例子^^
但他们不记得最后输入的选项。。。 李,我用了你的代码,但如果我决定不再有任何领导者,我在输入“N”后仍然必须按enter键。我想要的是使“Y”或“N”成为函数的自动值,因此它将其视为“响应加回车”,而无需每次输入“Y”或“N”时都按回车键。
我意识到这一点,但我怀疑在这种情况下你能否避免撞到enter。 为什么不这样使用while语句:
(while (setq pt1 (getpoint ip "\nConnect to: "))
(setq pt2 (polar ip (angle ip pt1) 0.1625))
(command "_line" pt2 pt1 ""))
页:
[1]
2