明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: 树櫴希德

如何根据闭合多段线内文字改多段线颜色

[复制链接]
 楼主| 发表于 2014-6-11 20:40:28 | 显示全部楼层
73哥程序(defun poinpl(pt e / p e1 area area1 dist dist1)
   (setq e(vlax-ename->vla-object e)dist(distance(reverse(cdr(reverse pt)))(vlax-curve-getclosestpointto e pt))area(vla-get-area e)
         e1(car(vlax-safearray->list(vlax-variant-value(vla-offset e(* dist 1e-4)))))area1(vla-get-area e1)
         dist1(distance(reverse(cdr(reverse pt)))(vlax-curve-getclosestpointto e1 pt)))  (entdel(entlast))
   (if(< dist 1e-6)0;;线上
     (if(>(*(- area1 area)(- dist1 dist))0)1 -1)));1线内-1线外
(defun c:tt(/ s1 s2 p m n l)
  (if(setq s1(ssget"X"(list'(0 . "TEXT")(cons 1 (strcat"*"(getstring"\n匹配内容")"*")))))
    (progn(setq i -1)
      (repeat(sslength s1)
        (setq i(1+ i)e(entget(ssname s1 i))p(cons(if(equal(cdr(assoc 10 e))'(0 0 0))(cdr(assoc 11 e))(cdr(assoc 10 e)))p)))
      (if(setq s1(ssget"X"'((0 . "*lyline")(-4 . "<OR")(70 . 1)(70 . 129)(-4 . "OR>"))))
        (progn(setq i -1)
          (repeat(sslength s1)
            (setq i(1+ i)e(ssname s1 i)l(length p)m 0)
            (while(< m l)
              (if(and(>(vla-get-area(vlax-ename->vla-object e))1e-3) (=(poinpl(nth m p)e)1))
                (entmod(setq p(vl-remove(nth m p)p)e(entget e)m l
                             e(if(assoc 62 e)(subst'(62 . 1)(assoc 62 e)e)
                                (append e'((62 . 1))))))
                (setq m(1+ m)))))))))
  (princ))
 楼主| 发表于 2014-6-11 20:43:45 | 显示全部楼层
(defun c:tta ( / e i pts se ss x)
(setq ss (ssget '((0 . "LWPOLYLINE"))))
(repeat (setq i (sslength ss))
        (setq e (ssname ss (setq i (1- i)))
                pts (mapcar 'cdr(vl-remove-if-not '(lambda (x) (= (car x) 10))(entget e)))
                se (ssget "cp" pts '((0 . "*text") (1 . "*填方*")))
        )
        (if se (Vlax-Put-Property (Vlax-Ename->Vla-Object e) 'Color 1 ))
)
)
[q3_2006]q2院长程序
发表于 2014-6-11 21:16:33 | 显示全部楼层
树櫴希德 发表于 2014-6-11 20:43
(defun c:tta ( / e i pts se ss x)
(setq ss (ssget '((0 . "LWPOLYLINE"))))
(repeat (setq i (sslengt ...

拜托不要加院长到我名后面....我很尊敬院长的...不要开这种玩笑呀....
发表于 2014-7-22 22:18:36 | 显示全部楼层

热心人好多啊,希望这贴被更多人看到。
发表于 2015-2-2 23:00:31 | 显示全部楼层
很好~~~~~~~~~~~~~~~
发表于 2016-1-15 17:08:32 | 显示全部楼层
选择砖砼时,连砼2也选上啦!!!用的73哥的程序
发表于 2016-1-15 17:09:47 | 显示全部楼层
还有Automation 错误
发表于 2016-1-15 17:12:08 | 显示全部楼层
参数类型错误: lselsetp nil
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-23 09:02 , Processed in 0.133809 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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