[求助]第一天学习LISP遇到的初级问题,大家帮帮忙
<p></p><p>程序如下</p><p>(defun c:ctt (/ pa pb pc pd pe ww)<br/>(setvar "cmdecho" 0)<br/>(setq pa (getpoint "\n 输入圆心:"))<br/>(setq ww (getdist pa "\n 半径:" ))<br/>(command "circle" pa ww)<br/>(setq pb (polar pa (* pi 1.5) ww))<br/>(setq pc (polar pa 0 ww))<br/>(setq pd (polar pa (/ pi 2) ww))<br/>(setq pe (polar pa pi ww))<br/>(command "line" pb pd "")<br/>(command "line" pc pe "")<br/>(prin1)<br/>)</p> <p>试了一下,好像没什么问题。你关闭对象捕捉试试。</p> <p>添加代码,把绘图的时候把对象关掉就可以了。</p><p>(defun c:ctt (/ pa pb pc pd pe ww)<br/>(setvar "cmdecho" 0)<br/>(setq oldos (getvar "osmode"));获取原对象捕捉设置<br/>(setq pa (getpoint "\n 输入圆心:"))<br/>(setq ww (getdist pa "\n 半径:" ))<br/>(setvar "osmode" 0);关闭对象捕捉<br/>(command "circle" pa ww)<br/>(setq pb (polar pa (* pi 1.5) ww))<br/>(setq pc (polar pa 0 ww))<br/>(setq pd (polar pa (/ pi 2) ww))<br/>(setq pe (polar pa pi ww))<br/>(command "line" pb pd "")<br/>(command "line" pc pe "")<br/>(setvar "osmode" oldos);恢复对象捕作设置<br/>(prin1)<br/>)</p><p>我在测试的时候一个很奇怪的问题就是,输入数字时有时候顺序会乱。比如,我想输入32,虽然先输的是3,但是输2的时候2还是跑到了3的前面,结果程序获取的数值就是23。求高人解决!<br/></p> yucpp发表于2009-8-28 16:04:00static/image/common/back.gif我在测试的时候一个很奇怪的问题就是,输入数字时有时候顺序会乱。比如,我想输入32,虽然先输的是3,但是输2的时候2还是跑到了3的前面,结果程序获取的数值就是23。求高人解决!<p></p> yucpp发表于2009-8-28 16:04:00static/image/common/back.gif添加代码,把绘图的时候把对象关掉就可以了。(defun c:ctt (/ pa pb pc pd pe ww)(setvar \"cmdecho\" 0)(setq oldos (getvar \"osmode\"));获取原对象捕捉设置(setq pa (getpoint \"\n 输入圆
<p></p>非常谢谢你了 <p>那是因为冒号不是英文状态下的冒号,就会出现这样的问题</p> 又学了一招。谢谢<strong><font face="Verdana" color="#61b713">phoenixdjq</font></strong>!
页:
[1]