- UID
- 206555
- 积分
- 89
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-12-27
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
我写了两个程序(如下),程序1,用entsel碰选1#直线,期望在该直线的a点,完成一个操作.程序2,碰选2#直线(另一条直线),期望在该直线的的b点完成一个操作.每个程序都能成功地单独运行,并达到预期的目的.
我把程序1和程序2原原本本按先后秩序放在一起,再运行.得到的结果是:在命令行中输入程序1的函数名时,在1#直线上碰选后,能达到预期的目的,即在1#直线的a点完成一个操作,可是输入程序2的函数名并碰选2#直线后,本应在2#直线的b点发生的操作却发生在1#直线的b点.请教各位这是怎么回事,如何处理哩?
(defun c:pf ()
(setvar "osmode" 0);关闭对象捕捉
(setvar "cmdecho" 0)
(setq a (car (entsel)))
(setq b (entget a))
(setq p (cdr (assoc 10 b)))
(setq q (cdr (assoc 11 b)))
(setq ang (+ (/ pi 2) (angle p q)))
(setq c (polar p ang 10))
(command "_leader" c p "a" "" "n")
(setvar "osmode" 1)
)
(princ)
(defun c:pl ()
(setvar "osmode" 0);关闭对象捕捉
(setvar "cmdecho" 0)
(setq z (car (entsel)))
(setq x (entget a))
(setq v (cdr (assoc 10 b)))
(setq m (cdr (assoc 11 b)))
(setq ang (+ (/ pi 2) (angle p q)))
(setq k (polar m ang 10))
(command "_leader" k m "a" "" "n")
)
(princ) |
|