明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3984|回复: 11

求改字变色程序

  [复制链接]
发表于 2012-12-28 09:13:05 | 显示全部楼层 |阅读模式
要求:运行程序后,白字文字改后颜色变为绿色,
非白色文字改后颜色变为白色,支持单多行文字
标注文字


测试文件


本帖子中包含更多资源

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

x
发表于 2012-12-28 09:31:30 | 显示全部楼层
记得坛子里有这个类似的帖子。
可以搜索下,再根据自己的要求组装、修改下!
 楼主| 发表于 2012-12-28 09:56:29 | 显示全部楼层
zyhandw 发表于 2012-12-28 09:31
记得坛子里有这个类似的帖子。
可以搜索下,再根据自己的要求组装、修改下!

找到一个,效果不是很好
发表于 2012-12-28 10:08:06 | 显示全部楼层
本帖最后由 ll_j 于 2012-12-28 17:08 编辑

把以前的程序改一下,你再看看。
1.没有改变原来颜色变化规律(改变后颜色号加1,选定不改变加2)。
2.标注颜色全改变,标注的文字颜色是在标注类型中定义的,如果仅仅改变文字颜色,修改比较麻烦。

本帖子中包含更多资源

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

x
 楼主| 发表于 2012-12-28 11:27:43 | 显示全部楼层
ll_j 发表于 2012-12-28 10:08
把以前的程序改一下,你再看看。
1.没有改变原来颜色变化规律(改变后颜色号加1,选定不改变加2)。
2.标 ...

还可以,就是标注改的是标注线,不是文字
发表于 2012-12-28 13:07:14 | 显示全部楼层
白色颜色值是多少?
发表于 2012-12-28 13:18:46 | 显示全部楼层
本帖最后由 lisp学习 于 2012-12-28 13:50 编辑

(defun c:tmp(/ s n i e obj )
  (setvar "cmdecho" 0)  
  (setq s(ssget '((0 . "TEXT,MTEXT"))))
  (setq n(sslength s) i 0)
(while (< i n)
   (setq e(ssname s i))   
   (setq obj(vlax-ename->vla-object e))
   (setq co(vla-get-color obj))   
  (if(/= co 7)(progn
  (command "change" e "" "p" "c" "7" "")))
  (if(= co 7)(progn
                (command "change" e "" "p" "c" "3" "")))  
(setq i(1+ i))
)
(setvar "cmdecho" 1)
(princ)
);(if(/= co 7)(progn  这里的7是白色的值,你自己修改吧。0、256、7好像都是白色。有点迷糊。标注文字在样式管理器下不就能改了吗?
发表于 2012-12-28 13:21:21 | 显示全部楼层
(defun c:de( / ss )
  (setq  ss(car (nentsel  "请选择文本")))
  (setq text(cdr (assoc 1 (entget ss))))
  (command "ddedit" ss "" )
   (setq text1(cdr (assoc 1 (entget ss))))
  (if (equal text text1) (command)
   (command "change" ss  "" "p" "c" "1" ""  )
  )

点评

单行文字,改字变红通过  发表于 2012-12-28 17:41
发表于 2012-12-28 17:10:28 | 显示全部楼层
STRETCH 发表于 2012-12-28 11:27
还可以,就是标注改的是标注线,不是文字

4楼的附件更新过了,你再试试。
发表于 2012-12-28 17:23:16 | 显示全部楼层
lisp学习 发表于 2012-12-28 13:18
(defun c:tmp(/ s n i e obj )
  (setvar "cmdecho" 0)  
  (setq s(ssget '((0 . "TEXT,MTEXT"))))

0号色是“随块”,也就是当作子实体,父实体什么颜色,子实体就是什么颜色,主要是针对复杂实体的,如块、标注等。
256号色是“随层”,所在层的颜色就是实体的颜色,默认,DXF组码中会忽略。
7号色标注是“白色”,其实显示是“反色”,在浅色背景下显示黑色,在深色背景下显示白色。
255号色才是真正的“白色”,不管背景如何,不管是显示还是打印(无色)。

点评

文字通过,标注改了无变化,以经很好了,在加上论坛找的找更改过的标注,完全满足要求,谢谢  发表于 2012-12-28 17:48
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-28 02:39 , Processed in 0.169026 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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