明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3132|回复: 8

改变尺寸颜色

[复制链接]
发表于 2013-5-5 09:30:47 | 显示全部楼层 |阅读模式
此程序改变尺寸颜色,为什么 无法使尺寸变颜色。问题出现在哪?请高手指点,谢谢


(defun c:dc (/ st n len a1 a2 a3 color ss)
  (setq st (ssget '((0 . "DIMENSION")))
        ss (ssadd))
  (if (/= st nil)
    (progn
      (setq n 0)
      (setq len (sslength st))
      (repeat len
  (setq a1 (ssname st n)
        a2 (entget a1)
        a3 (cdr (assoc 1 a2)) )
(if (/= a3 "")
     (ssadd a1 ss) )
       (setq n (1+ n)))
      (setq len (sslength ss))
      (if (/= len 0)
(progn
   (setq len (itoa len))
   (princ (strcat "\n*** " len " 尺寸需改变颜色 ***"))
   (setq color(getstring "\n-->请选取改变颜色类别:
             1红色、2黄色、3绿色、4蓝绿色、5蓝色、6红紫色、
             7白色或其它颜色:"))
   (if (= color "") (setq color "bylayer"))
          (command "change" ss "" "p" "c" color ""))
      
)
     
     (princ)
     )   
  )
)
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2013-5-5 09:52:05 | 显示全部楼层
测试了没问题,这个程序是您自己写的还是别人的?是人工修改的尺寸修改颜色
发表于 2013-5-5 13:02:35 | 显示全部楼层
试用了。确实不行
 楼主| 发表于 2013-5-5 13:50:52 | 显示全部楼层
x_s_s_1 发表于 2013-5-5 09:52
测试了没问题,这个程序是您自己写的还是别人的?是人工修改的尺寸修改颜色

谢谢您的指教
发表于 2013-5-6 09:22:01 | 显示全部楼层
726613 发表于 2013-5-5 13:50
谢谢您的指教

程序还有一点没有考虑就是<>的情况,修改为红色的部位
(defun c:dc (/ st n len a1 a2 a3 color ss)
  (setq st (ssget '((0 . "DIMENSION")))
        ss (ssadd))
  (if (/= st nil)
    (progn
      (setq n 0)
      (setq len (sslength st))
      (repeat len
  (setq a1 (ssname st n)
        a2 (entget a1)
        a3 (cdr (assoc 1 a2)) )
(if (or(/= a3 "")(/= a3 "<>"));此处代码为判断是否人工修改
       (ssadd a1 ss) )
       (setq n (1+ n)))
      (setq len (sslength ss))
      (if (/= len 0)
(progn
   (setq len (itoa len))
   (princ (strcat "\n*** " len " 尺寸需改变颜色 ***"))
   (setq color(getstring "\n-->请选取改变颜色类别:
             1红色、2黄色、3绿色、4蓝绿色、5蓝色、6红紫色、
             7白色或其它颜色:"))
   (if (= color "") (setq color "bylayer"))
          (command "change" ss "" "p" "c" color ""))
      
)
     
     (princ)
     )   
  )
)
 楼主| 发表于 2013-5-6 19:57:19 | 显示全部楼层
x_s_s_1 发表于 2013-5-6 09:22
程序还有一点没有考虑就是的情况,修改为红色的部位
(defun c:dc (/ st n len a1 a2 a3 color ss)
  (s ...

谢谢您,终于可以用
发表于 2016-5-31 03:11:31 | 显示全部楼层
学习下
发表于 2016-7-23 14:14:21 | 显示全部楼层
谢谢高手指点,学习了
发表于 2020-5-4 12:52:40 | 显示全部楼层
...
  (if (= color "") (setq color "bylayer"))
....

如果是真彩色 (255,0,0)
这句应该怎样写
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-6 09:29 , Processed in 0.188236 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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