![]() |
初学者问题,关于lisp做类似圆/圆弧命令的选项
初学者问题,关于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楼答复,试了下,可以用 看样子还得继续学习啊,以为用条件语句就好做了呢. 谢谢! |
| 所有的时间均为北京时间。 现在的时间是 05:35 AM. |