 - (defun c:css1 ()
- (setvar "OSMODE" 767)
- (setvar "ORTHOMODE" 1);打开正交
- (while (setq pt1 (getpoint "\n 请确认First line point:") )
- (setvar "OSMODE" 0)
- (setq pt2 (getpoint pt1 " Second line point:"))
- (command "line" pt1 pt2 "")
- (setvar "OSMODE" 767)
- );end while line
- (setvar "OSMODE" 767)
- )
这个程序很简单了,我相信所有的明经人都能看懂,理论上是没有问题的。
我的要求是:绘制直线第一点时,捕捉开,第二点时捕捉关,线可以绘制水平、竖直、或者斜线。因为水平、竖直用的多,斜线用的少,所以循环前先开正交,循环时如果要绘制斜线,就在取第二点前按下F8或者shift就可以了。
用F8程序运行正常。
Shift就怪了,按住shift后,绘制完本次直线后,下一个取第一点时捕捉关了!然后绘制完毕下一条线(没捕捉),再绘制下一条线时不捕捉自动回复了!
不知道为啥shift是这个样子的?
|