初学者问题,关于lisp做类似圆/圆弧命令的选项
本帖最后由 作者 于 2009-1-3 15:20:56 编辑 <br /><br /> <p>各位大侠,刚学lisp,想做个命令,其中要像CAD画圆这样,命令后是"提示指定点,[或者三点(3P)...]"这样的选项。</p><p>因为这个等待输入里,一个类型是getpoint,另外一个是getkworld,"IF"试了N次,都不知道怎么做出来,CAD里面有好多这样的选项,寻大家帮忙。</p><p>谢谢!</p><p>见3楼</p> <p>没人回答?</p><p></p> <p>大概是这样:</p><p>(setq ws(strcase(getstring "\n画圆C\画弧A\画直线L:")))<br/>(cond<br/> ((= ws "C")<br/> ;准备画圆<br/> )<br/> ((= ws "A")<br/> ;准备画弧<br/> )<br/> ((= ws "L")<br/> ;准备画直线<br/> )<br/> (t<br/> (alert "输入错误,请重新输入关键字.")<br/> )<br/>)<br/>;<br/>供参考<br/></p> 本帖最后由 作者 于 2009-1-3 15:18:31 编辑 <br /><br /> <p>谢谢回复</p><p>我想做的是选项里一个是指定点,或者是选关键字.如下面AutoCAD的命令提示</p><p><font color="#0000ff" style="BACKGROUND-COLOR: #cccccc;">命令: _arc指定圆弧的起点或[圆心(C)]:</font></p><p>此时要么在CAD屏幕上点一个点,即getpoint函数;要么在命令行里选关键字C,进入指定圆心的步骤,即getkworld函数.</p><p>这个过程怎么实现呢?</p> <p>(initget "3P eXit")<br/>(setq a (getpoint "指定点或 [三点(3P)/退出(X)] <退出>: "))<br/>(cond<br/> ((vl-consp a)<br/> (alert "用户拾取了点")<br/> )<br/> ((= a "3P")<br/> (alert "用户输入了 3P ")<br/> )<br/> ((or (= a "eXit") (not a))<br/> (alert "用户输入了 eXit 或点执行了 ENTER ")<br/> )<br/>)</p><p></p> <p>多谢5楼答复,试了下,可以用</p><p>看样子还得继续学习啊,以为用条件语句就好做了呢.</p><p>谢谢!</p>
页:
[1]