初学者问题,关于lisp做类似圆/圆弧命令的选项
www.dimcax.com
初学者问题,关于lisp做类似圆/圆弧命令的选项
各位大侠,刚学lisp,想做个命令,其中要像cad画圆这样,命令后是"提示指定点,[或者三点(3p)...]"这样的选项。
因为这个等待输入里,一个类型是getpoint,另外一个是getkworld,"if"试了n次,都不知道怎么做出来,cad里面有好多这样的选项,寻大家帮忙。
谢谢!
见3楼
d
没人回答?
d
大概是这样:
(setq ws(strcase(getstring "\n画圆c\画弧a\画直线l:")))
(cond
((= ws "c")
;准备画圆
)
((= ws "a")
;准备画弧
)
((= ws "l")
;准备画直线
)
(t
(alert "输入错误,请重新输入关键字.")
)
)
;
供参考
d
谢谢回复
我想做的是选项里一个是指定点,或者是选关键字.如下面autocad的命令提示
命令: _arc指定圆弧的起点或[圆心(c)]:
此时要么在cad屏幕上点一个点,即getpoint函数;要么在命令行里选关键字c,进入指定圆心的步骤,即getkworld函数.
这个过程怎么实现呢?
d
(initget "3p exit")
(setq a (getpoint "指定点或 [三点(3p)/退出(x)] <退出>: "))
(cond
((vl-consp a)
(alert "用户拾取了点")
)
((= a "3p")
(alert "用户输入了 3p ")
)
((or (= a "exit") (not a))
(alert "用户输入了 exit 或点执行了 enter ")
)
)
d
多谢5楼答复,试了下,可以用
看样子还得继续学习啊,以为用条件语句就好做了呢.
谢谢!