明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5542|回复: 24

[已解答] 求点选一文字,框选一定区域内的文字,如果该文字与点选文字相同

[复制链接]
发表于 2014-4-16 00:13 | 显示全部楼层 |阅读模式
39明经币
本帖最后由 品茗新秀 于 2014-4-16 00:15 编辑

求点选一文字,框选一定区域内的文字,如果该文字与点选文字相同,则相同文字变红色。
发表于 2014-4-16 00:13 | 显示全部楼层
  1. ;; 需要e派工具箱(XCAD)的支持:http://yunpan.cn/QXQKsW9gAPmpF
  2. (defun c:tt ()
  3.   (if (and (setq s1 (car (entsel "\n点选文字: ")))
  4.            (xyp-etype s1 "text")
  5.       )
  6.     (if (setq ss (ssget (list '(0 . "text") (cons 1 (xyp-DXF 1 s1)))))
  7.       (xyp-SubUpd ss 62 1)
  8.     )
  9.   )
  10.   (princ)
  11. )
回复

使用道具 举报

发表于 2014-4-16 00:46 | 显示全部楼层
哇,楼主好大方。好像不难。
楼主指的相同是什么概念?只是文字内容一样,还是文字完全一样(包括全部属性)?

点评

是文字内容完全相同  发表于 2014-4-16 13:40
回复

使用道具 举报

发表于 2014-4-16 07:31 | 显示全部楼层
  1. (defun c:tt ()
  2. (setvar "CMDECHO" 0)
  3. (if (and (setq s1 (entsel "\n选择文字: "))
  4.           (setq ent (entget(car s1)))
  5.                                         (wcmatch (cdr(assoc 1 ent)) "*TEXT")) (progn
  6.   (princ "\n窗选文字: ")
  7.         (if (setq ss (ssget (list '(0 . "*TEXT") (assoc 1 ent))))
  8.          (command "_.CHPROP" ss "" "C" 1 "")
  9.         )
  10. ))
  11. (setvar "CMDECHO" 1)
  12. (princ)
  13. )

评分

参与人数 3明经币 +3 收起 理由
品茗新秀 + 1 赞一个!
kwok + 1 很给力!
xyp1964 + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-4-16 07:31 | 显示全部楼层
  1. (defun c:tt ()
  2.   (defun dxf (code s1) (cdr (assoc code (entget s1))))
  3.   (setq i -1)
  4.   (if (and (setq s1 (car (entsel "\n点选文字: ")))
  5.            (= (DXF 0 s1) "TEXT")
  6.       )
  7.     (if  (setq ss (ssget (list '(0 . "text") (cons 1 (DXF 1 s1)))))
  8.       (while (setq s1 (ssname ss (setq i (1+ i))))
  9.         (vla-put-color (vlax-ename->vla-object s1) 1)
  10.       )
  11.     )
  12.   )
  13.   (princ)
  14. )

评分

参与人数 1明经币 +1 收起 理由
kwok + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-4-16 10:15 | 显示全部楼层
定起来
回复

使用道具 举报

 楼主| 发表于 2014-4-16 18:59 | 显示全部楼层
如果能框选目标文字,再框选一定区域内的文字,如果该文字与框选文字相同,则相同文字变色。并用不同颜色区分,相同文字中的不同种类。
回复

使用道具 举报

 楼主| 发表于 2014-4-16 19:08 | 显示全部楼层
xyp1964 发表于 2014-4-16 07:31


如果能框选目标文字,再框选一定区域内的文字,如果该文字与框选文字相同,则相同文字变色。并用不同颜色区分,相同文字中的不同种类。

点评

先把思路理理清再说吧  发表于 2014-4-16 19:54
回复

使用道具 举报

发表于 2014-4-16 19:36 | 显示全部楼层
也不难啊,目标文字的颜色用 i 变量确定,再进入子程序查找相同文字
回复

使用道具 举报

发表于 2014-4-16 19:43 | 显示全部楼层
可惜不支持天正文字
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-8 19:37 , Processed in 0.294319 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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