麻烦大师帮我改下如下反应器,使copy后新圆依然带反应器,谢谢!
CAD2016 中实现一个反应器,当绘制圆后,编辑圆时显示半径,希望使用 CAD 自带的 COPY 命令复制圆后,新圆也能触发同样的反应器。麻烦大师帮忙修改下,不胜感激!:handshake(defun c:aa (/ cp r vla vlaLst)
(vl-load-com)
(setq cp (getpoint "\n指定圆心点:"))
(setq r (getdist cp "\n输入园半径:"))
(command "circle" cp r)
(setq vla (vlax-ename->vla-object (entlast)))
(setq vlaLst (list vla))
(vlr-pers (vlr-object-reactor vlaLst nil '((:vlr-modified . show))))
(princ)
)
(defun show (notifier-object reactor-object parameter-list / r)
(vl-load-com)
(setq r (vla-get-diameter notifier-object));获取直径(vla-get-diameter获取圆的直径)
(setq r (rtos r 2 4));转换为字符串
(alert (strcat "圆的内径是:" r))
)
各位大师,麻烦帮忙啊,在此谢过了!:handshake 单纯支持,给高手修改吧
需要追加一个copied反应器
(defun c:aa (/ cp r vla vlaLst)
(vl-load-com)
(setq cp (getpoint "\n指定圆心点:"))
(setq r (getdist cp "\n输入园半径:"))
(command "circle" cp r)
(setq vla (vlax-ename->vla-object (entlast)))
(setq vlaLst (list vla))
(vlr-pers (vlr-object-reactor vlaLst nil '((:vlr-modified . show)
(:VLR-COPIED . copy))))
(princ)
)
(defun copy (notifier-object reactor-object parameter-list / r)
(vlr-pers (vlr-object-reactor (list (vlax-ename->vla-object (entlast)))
nil '((:vlr-modified . show)
(:VLR-COPIED . copy))))
)
(defun show (notifier-object reactor-object parameter-list / r)
(vl-load-com)
(setq r (vla-get-diameter notifier-object));获取直径(vla-get-diameter获取圆的直径)
(setq r (rtos r 2 4));转换为字符串
(alert (strcat "圆的内径是:" r))
) kozmosovia 发表于 2025-4-28 20:39
需要追加一个copied反应器
非常感谢大师一再帮忙!!!:handshake
页:
[1]