fl202 发表于 2013-8-12 16:03:11

简单的程序,奇怪而有趣的问题。

(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是这个样子的?

机械工程师 发表于 2014-1-9 09:13:07

只查到F8的功能用法
F8 键
不可修改,用于打开或关闭 ORTHOMODE。

shift的功能用法是?

fl202 发表于 2014-1-10 13:42:05

机械工程师 发表于 2014-1-9 09:13 static/image/common/back.gif
只查到F8的功能用法
F8 键
不可修改,用于打开或关闭 ORTHOMODE。


shift的功能用法临时打开或者关闭正交。

菜卷鱼 发表于 2014-1-10 14:17:23

fl202 发表于 2014-1-10 13:42 static/image/common/back.gif
shift的功能用法临时打开或者关闭正交。

ORTHOMODE的使用会对 AUTOSNAP产生影响,我觉得这两个东西应该配合使用
页: [1]
查看完整版本: 简单的程序,奇怪而有趣的问题。