找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2592|回复: 16

[每日一码] 【源码分享】向caoyin致敬----也来发个带刷子的文字内容刷。

[复制链接]
发表于 2013-6-28 12:32:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 wowan1314 于 2013-6-28 23:55 编辑

                                               说再见不容易,戒lisp更不容易哈!
          caoyin版主发过一个“带刷子的文字内容刷”,从中学到很多。
今天无聊就想另做个刷子。当然本人画工实在无法与之相比,还处了画一二三的地步。

浪费一个上午时间,终于有所成效,由于是借用CAD的刷子,所以更稳定,更准确。
         缺点是不能自定义颜色


;;;==================={ 文字内容刷V1.0 BY wowan1314 }===========================;;;
;;;功能:文字内容刷,源文字可点选,也可先选择后输入命令,操作类似CAD特性匹配     ;;;
;;;        (支持天正文字、图元名文字、引出标注文字)                             ;;;
;;;特别说明:本程序主要实现了,类似CAD特性匹配一样的刷子,使程序更加友好         ;;;
;;;             仅以此程序表达对caoyin的敬意,从他的帖子中受益良多!              ;;;
;;;=============================================================================;;;

另外:SHORTCUTMENU不为0时,无法右键退出。 无奈了         

     勉强算是解决了变量不为0时的情况。 但是解决的不是很完美。期待高人吧
[sell];;;==================={ 文字内容刷V1.0 BY wowan1314 }===========================;;;
;;;功能:文字内容刷,源文字可点选,也可先选择后输入命令,操作类似CAD特性匹配     ;;;
;;;        (支持天正文字、图元名文字、引出标注文字)                             ;;;
;;;特别说明:本程序主要实现了,类似CAD特性匹配一样的刷子,使程序更加友好         ;;;
;;;             仅以此程序表达对caoyin的敬意,从他的帖子中受益良多!              ;;;
;;;=============================================================================;;;
(DEFUN C:YY-SHUAZI (/ E UU SS BB AA N X ENT OB ENTYPE *ERROR* OLDSH ERR_END DOC)
  (DEFUN *ERROR* (X) (ERR_END))
(DEFUN ERR_END NIL (IF OLDSH (SETVAR "SHORTCUTMENU" OLDSH)))
  (SETQ OLDSH (GETVAR "SHORTCUTMENU"))
  (SETVAR "SHORTCUTMENU" 0)
  (while (not E)
    (princ "\n选择源文字")
    (setq e (SSGET ":S:E"
                   '((0 . "*TEXT,TCH_DRAWINGNAME,TCH_MULTILEADER"))
            )
    )
  )
  (SETQ UU (CDR (ASSOC 1 (ENTGET (SETQ E (SSNAME E 0))))))
  (VL-CMDF "MATCHPROP" E)
(WHILE (AND UU (not (member (SETQ CC (car (grread NIL 5 2))) '(11 12 25))))
  (PRINC "\n选择目标文字:<刷为")
  (PRINC UU)
  (PRINC ">")
    (SETQ
      SS (vl-catch-all-apply
           '(LAMBDA NIL
              (SSGET ":S:L"
                     '((0 . "*TEXT,TCH_DRAWINGNAME,TCH_MULTILEADER"))
              )
            )
         )
    )
    (IF        (VL-CATCH-ALL-ERROR-P SS)
      (SETQ UU NIL)
      (IF SS
        (PROGN
          (IF (SETQ BB (SSDEL E SS))
            (SETQ AA (/= (SSLENGTH BB) 0))
            (SETQ AA 1314)
          )
          (IF AA
            (REPEAT (SETQ N (SSLENGTH SS))
              (SETQ N (1- N)
                    X (SSNAME SS N)
              )
              (setq ent (entget x))
              (setq ob (vlax-ename->vla-object X))
              (SETQ entype (cdr (assoc 0 ENT)))
              (COND
                ((= entype "TCH_MTEXT")    ;;天正多行文字还是不稳定
                 (entmod (subst (cons 1 UU) (assoc 1 ent) ent))
                )
                ((= entype "TCH_TEXT") (vlax-put-property ob 'Text UU))
                ((= entype "TCH_DRAWINGNAME")
                 (vlax-put-property ob 'NameText UU)
                )
                ((= entype "TCH_MULTILEADER")
                 (vlax-put-property ob 'UPText UU)
                )
                (T (vlax-put-property ob 'TextString UU))
              )
            )
          )
        )
      )
    )
  )
  (VL-CMDF "")
  (ERR_END)
  (setq doc (vlax-get (vlax-get-acad-object) "activedocument"))
  (IF (AND UU (/= OLDSH 0)) (vla-sendcommand doc "SHORTCUTMENU "))
  (PRINC)
)

[/sell]




带刷子的文字内容刷.gif
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-6-28 12:39:31 | 显示全部楼层
怎么还跟画工扯上了尼

点评

caoyin的刷子是 用GRVECS画出来的啊。  发表于 2013-6-28 12:58
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3719个

财富等级: 富可敌国

发表于 2013-6-28 13:10:18 | 显示全部楼层
右键不能退出程序,只能按ESC。有点不方便啊。

点评

你的SHORTCUTMENU变量是多少? 看看是不是这个变量影响的  发表于 2013-6-28 14:08
你右键的返回值估计也不是 11 与 25. 我只发现11 12会同时返回,或返回25. 没发现有什么情况还能返回其他值的。你测下你的返回值是多少。  发表于 2013-6-28 13:27
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3719个

财富等级: 富可敌国

发表于 2013-6-28 16:16:12 | 显示全部楼层
SHORTCUTMENU 的值是2
右键的返回值是25

点评

已知道。 25之后马上会返回其他值。 只有加出错处理来搞了。 没想到其他办法  发表于 2013-6-28 16:30
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-6-28 21:09:21 | 显示全部楼层
是否支持属性文字?

点评

具体功能要根据自己需要再调整。这里主要是看光标刷子的实现。  发表于 2013-6-28 22:25
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-12-30 22:28:14 | 显示全部楼层
wowan1314不玩LISP了,是论坛的一大损失啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2014-1-13 14:35:25 | 显示全部楼层
用处不大 比不了文字刷V2.1
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2016-4-8 22:44:29 | 显示全部楼层
看示例很好用,看看对天正支持如何。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2016-4-10 17:48:19 | 显示全部楼层
这个方法还行,和我以前用的就多个提示功能!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8个

财富等级: 恭喜发财

发表于 2017-3-16 22:07:57 | 显示全部楼层

这个方法还行,和我以前用的就多个提示功能!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2019-11-15 08:11:46 | 显示全部楼层
多谢楼主 非常好用
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2020-5-24 20:05:15 | 显示全部楼层
楼主,加载lsp后提示 错误: 输入的字符串有缺陷
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-14 19:54 , Processed in 0.210087 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表