立即注册 登录
晓东CAD家园-论坛 返回首页

eachy的个人空间 http://bbs.xdcad.net/?14 [收藏] [复制] [分享] [RSS]

日志

选择的文字内容关联

已有 380 次阅读2013-5-6 18:08 |个人分类:Lisp

本程序将选择的文字内容关联,修改其中一个其关联文字内容也作相应修改。
注意:本程序虽然测试通过,因为使用了反映器,还是请慎重使用!


(vl-load-com)
(defun chg_all_link_text (var1 v2 v3 / ha str h thisdrawing)
(if (not (vlax-erased-p var1))
(progn
(setq thisdrawing (vla-get-activedocument (vlax-get-acad-object))
ha (mapcar 'vl-princ-to-string
(read (vlax-ldata-get var1 "Link"))
)
str (vla-get-textstring var1)
;; h (vla-get-height var1)
)
(mapcar '(lambda (x / obj)
(setq obj (vla-handletoobject thisdrawing x))
(if (/= (vla-get-textstring obj) str)
(vla-put-textstring obj str)
)
;;(if (/= (vla-get-height obj) h)
;; (vla-put-height obj h)
;;)
)
ha
)
)
)
(princ)
)
(setq ea-Modified-tt
(VLR-Object-reactor
ea-tt-list
nil
'((:VLR-Modified . chg_all_link_text))
)
)
(defun c:tt (/ ss ssl i e el ha)
(if (setq ss (ssget '((0 . "text"))))
(progn
(setq ssl (sslength ss)
i -1
)
(repeat ssl
(setq e (ssname ss (setq i (1+ i))))
(setq ha (cons (cdr (assoc 5 (entget e))) ha)
el (cons e el)
)
)
(mapcar
'(lambda (x)
(vlax-ldata-put
x
"Link"
(vl-princ-to-string
(vl-remove (cdr (assoc 5 (entget x))) ha)
)
)
(vlr-owner-add ea-Modified-tt (vlax-ename->vla-object x))
)
el
)
)
)
(princ)
)

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-28 22:31 , Processed in 0.261694 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部