- 积分
- 1314
- 明经币
- 个
- 注册时间
- 2021-12-12
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本人不懂反应器,在这个网站找到一段代码,可以实现在CAD中空白处双击执行自定义LISP函数,如下完整代码。自定义的函数是TEMP, 这个代码在ACAD2014中执行的很完美,但是在ACAD2021中有问题,有点时候成功有的时候不成功。那位大师给看看。谢谢
;;; 加载双击反应器
(vl-load-com)
(if (not *dblclkReactor*);;0 = 打开反应器
(setq *dblclkReactor*(VLR-Mouse-Reactor nil'((:VLR-beginDoubleClick . dblclkedit)))))
(defun dblclkedit(reactorObject point)
(if dblclk-edit(dblclk-edit point))
)
;;; 自定义双击反应器Double Click Reactor
(defun dblclk-edit (dblclk_point / owner dblclk_etype p)
(setq owner (nentselp (setq p (trans (car dblclk_point) 0 1))));;指定点来选择对象
(if (and (= owner nil) (= 0 (getvar 'cmdactive))) ;_有活动命令时不起作用
(vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) (strcat (rtos (car p) 2 3) "," (rtos (cadr p) 2 3) " temp "))
)
)
(defun c:temp() (alert "ok") (princ))
如上图,在ACAD2021中空白处双击了5-6次,最后成功了一次,且还输出 “命令: 3811.357,1315.803 未知命令“357,1315.803”。按 F1 查看帮助。”
|
|