琴剑江山_10184 发表于 2019-7-31 17:09:12

反应器困扰

本帖最后由 琴剑江山_10184 于 2019-7-31 18:57 编辑

;;;测试反应器
(defun c:Tt (/ *EN:TEXT* EN VE)
(setq en (car (entsel "\n选择文字:")))
(setq ve (List (Vlax-Ename->Vla-Object en)))
(or *en:text*
      (setq *en:text* (vlr-object-reactor
                        ve
                        nil
                        '((:vlr-objectClosed . ve:text))
                      )
      )
)
(princ)
)
;;;测试回调
(defun ve:text (obj obj2 vl)
(setq p0 (assoc 10 (entget (vlax-vla-object->ename obj))))
(entmake (list '(0 . "CIRCLE") p0 (cons 40 5)))
(princ)
);;;不是说回调涵数不能用ENTGET吗,为什么我用了也没事啊

编写回调函数有以下一
些限制:① 不能使用command函数调用AutoCAD命令,只能用
ActiveX函数访问图形对象。② 不能使用entget和entmod函数。
③ 不能使用选择集操作函数。④ 不能使用交互输入函数。⑤
在事件处理函数中不要加载警告和信息之外的对话框。
定义对象反应器回调函数和定义其它反应器的回


baitang36 发表于 2022-6-25 10:04:57

这么好的帖子竟然没人顶

guosheyang 发表于 2022-6-25 14:08:23

感谢共享资料!

664571221 发表于 2022-6-26 08:48:28

guosheyang 发表于 2022-6-25 14:08
感谢共享资料!

顶你顶你顶你

天之如一 发表于 2022-9-28 16:18:52

是尽量少用这种命令吧

自贡黄明儒 发表于 2022-9-28 16:39:51

baitang36 发表于 2022-6-25 10:04
这么好的帖子竟然没人顶

好像可以command函数调用AutoCAD命令,只是不能交互。

yoyoho 发表于 2022-10-13 12:23:42

谢谢! 共享资料!!!!

nzl1116 发表于 2022-10-13 13:08:04

从哪里看到不能用entget和entmode?

freedom_ice 发表于 2022-11-9 13:08:48

我的理解是可以用entget获取图元名,然后转换为VLA对象,进行后续操作,不能用entmod来更新你刚才获取的组码表
页: [1]
查看完整版本: 反应器困扰