1291500406 发表于 2019-4-21 22:48:07

双击反应器

本帖最后由 1291500406 于 2019-4-25 20:07 编辑

双击反应器
(vl-load-com)(if (member "acdblclkedit.arx" (arx))(arxunload "acdblclkedit.arx" nil))
(or *dblclkCircleReactor* (setq *dblclkCircleReactor* (VLR-Mouse-Reactor nil' ((:VLR-beginDoubleClick . dblclkedit2)))))
(defun dblclkedit2 (reactorObject point / b c doc owner p)(setvar "cmdecho" 0)
(if (setq owner (nentselp (setq p (trans (car point) 0 1))))(progn(if (> (length owner) 2)(setq ent (last (last owner)))
(setq ent (car owner)))(sssetfirst nil)(redraw ent 4)(setq b (cdr (assoc 0 (entget ent))))
(setq c (cdr (assoc 66 (entget ent))))(setq doc (vlax-get (vlax-get-acad-object) "activedocument"))
(cond
((= b "DIMENSION")(vla-sendcommand doc "bbdimensionsssetfirs "))
((= b "IMAGE")(vla-sendcommand doc "bbimageCrop "))
((= b "TEXT")(vla-sendcommand doc "bbddedit "))
((= b "MTEXT")(vla-sendcommand doc "bbddedit "))
((= b "INSERT")(if (= c 1)(progn(vla-sendcommand doc "bbbeditname "))
(progn(vla-sendcommand doc "bbbeditname "))))
((= b "ATTRIB") (vla-sendcommand doc "bbbeditname "))
(T(vla-sendcommand doc "properties ")))(princ))))
(if (not *dblclkReactor*)(setq *dblclkReactor*(VLR-Mouse-Reactor nil'((:VLR-beginDoubleClick . dblclkedit1)))))(defun dblclkedit1(reactorObject point)
(if dblclk-edit(dblclk-edit point)))(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) " bbgetpointmnu "))))
(defun c:bbddedit() (while(setq tx(entsel "\n必强提示请选择文字:")) (command "._DDEDIT" tx "" ))(princ))
(defun c:bbimageCrop()(setq obj(vlax-ename->vla-object(car (entsel"必强提示:请选择图像"))))
(setq var_pts(vla-get-Coordinates(vlax-ename->vla-object(car (entsel"必强提示:请选择多边形")))))
(vla-ClipBoundary obj var_pts)(princ))
(defun c:bbdimensionsssetfirst ()(if (setq ss (ssget '((0 . "dimension"))))(sssetfirst nil ss))(princ))
(defun c:bbbeditname()(setq name (cdr (assoc 2 (entget(car(entsel "\n块编辑器:"))))))   (command "_bedit" name )(princ))

1291500406 发表于 2019-4-22 13:40:27

bai2000 发表于 2019-4-22 11:20
r "acdblclkedit.arx""bbdimensionsssetfirs " "bbimageCrop ""bbddedit ""bbdclickblkdialog "能发上来 ...

acdblclkedit.arxcad自带的

bai2000 发表于 2019-4-22 11:20:06

r "acdblclkedit.arx""bbdimensionsssetfirs " "bbimageCrop ""bbddedit ""bbdclickblkdialog "能发上来么?

1291500406 发表于 2019-4-22 21:18:59

本帖最后由 1291500406 于 2019-4-22 21:48 编辑

烟盒迷唇 发表于 2019-4-22 20:15
做啥用
没啥用,代码就是为了偷懒的,不想每次手动输入命令,用鼠标输入

烟盒迷唇 发表于 2019-4-22 20:15:31

做啥用   

1291500406 发表于 2019-4-28 16:02:45

烟盒迷唇 发表于 2019-4-22 20:15
做啥用

大中华,你是男的女的,咋用女头像

烟盒迷唇 发表于 2019-4-29 08:19:19

1291500406 发表于 2019-4-28 16:02
大中华,你是男的女的,咋用女头像

该用啥就用啥

swb4420 发表于 2019-6-25 11:34:32

这个怎么使用啊,还有,想要把CAD默认的连续标注添加到双击反应器应该怎么弄?

qq1254582201 发表于 2019-6-25 13:26:33

反应器,还未曾涉猎,留爪备用

xman00 发表于 2021-6-11 17:11:07

2015开始还是2016开始,貌似这招就不香喽,不知道有法调整解决不
页: [1] 2
查看完整版本: 双击反应器