品茗新秀 发表于 2014-4-22 01:40:03

求一次框选含L和含LZ字母的文字,一个文字中LZ字母不一定相邻

本帖最后由 品茗新秀 于 2014-4-22 01:46 编辑

求一次框选含L和含LZ字母的文字,一个文字中LZ字母不一定相邻,将含字母L但不含Z字母的文字变成红色,将含LZ字母的的文字生成一个矩形外框。

q3_2006 发表于 2014-4-22 01:40:04

(defun c:tt ( / e i ss)
(defun tbox (e / an p2 p3 p4 la pt tb th x y)
(if e
    (progn
      (setq tb (textbox (list (cons -1 e)))
            pt (cdr (assoc 10 (entget e)))
            an (cdr (assoc 50 (entget e)))
            th (cdr (assoc 40 (entget e)))
            x (+ (caar tb) (caadr tb))
            y (+ (cadar tb) (cadadr tb))
            p2 (polar pt an x)
            p4 (polar pt (+ (* pi 0.5) an) y)
            p3 (polar p2 (+ (* pi 0.5) an) y)
            la (cdr (assoc 8 (entget e)))
      )
      (setvar "clayer" la)
      (vl-cmdf "_pline" pt p2 p3 p4 "_c")
    )
)
)
        (vl-cmdf "undo" "be")
        (setvar "osmode" 0)
        (setq ss (ssget '((0 . "text") (1 . "*L*,*L*Z*"))))
        (repeat (setq i (sslength ss))
                (setq e (ssname ss (setq i (1- i))))
                (if (null (vl-string-search "Z" (cdr (assoc 1 (entget e)))))
                        (entmod (append (entget e) (list (cons 62 1))))
                        (tbox e)
                )
        )
        (vl-cmdf "undo" "e")
)

flytoday 发表于 2014-4-22 10:38:23

套哥太疯狂了吧……选择梁编号的统计梁编号…的插件很多……连找都不想找了啊…………cad会用了吧

品茗新秀 发表于 2014-4-22 13:08:43

q3_2006 发表于 2014-4-22 01:40 static/image/common/back.gif


如果不变色,也不生成外框,而是形成两类选择集,不知如何

lucas_3333 发表于 2014-4-22 13:55:38

flytoday 发表于 2014-4-22 10:38 static/image/common/back.gif
套哥太疯狂了吧……选择梁编号的统计梁编号…的插件很多……连找都不想找了啊…………cad会用了吧

这名字取得好!马甲哥可否一比?

q3_2006 发表于 2014-4-22 14:22:26

品茗新秀 发表于 2014-4-22 13:08 static/image/common/back.gif
如果不变色,也不生成外框,而是形成两类选择集,不知如何

(ssadd e ss1)加e到ss1

chenbh2 发表于 2016-4-5 10:41:26

q3_2006 发表于 2014-4-22 01:40 static/image/common/back.gif


我这边,会转成红色,但没有加外框,求
页: [1]
查看完整版本: 求一次框选含L和含LZ字母的文字,一个文字中LZ字母不一定相邻