• AutoLISP指定图层更换内容


    AutoLISP指定图层更换内容,代码如下。

    (defun c:test()
      (setq oldtxt (getstring t "\n输入旧字符串:"))
      (setq newtxt (getstring t "\n输入新字符串:"))
      (setq layn (strcase (getstring "\n输入图层:")))
      (setq ss (ssget "X" (list '(0 . "TEXT") (cons 8 layn))))
      (setq oldnum (strlen oldtxt))
      (setq newnum (strlen newtxt))
      (setq i 0)
      (repeat (sslength ss)
        (setq ssn (ssname ss i))
        (setq ssdata (entget ssn))
        (setq p 1)
        (setq ent (assoc 1 ssdata))
        (setq entxt (cdr ent))
        (setq ennum (strlen entxt))
        (setq aa "")
        (while (<= p ennum)
          (setq kk (substr entxt p oldnum))
          (if (= kk oldtxt)
        (progn
          (setq kk newtxt)
          (setq p (- (+ p oldnum) 1))
          )
        (setq kk (substr entxt p 1))
        )
          (setq aa (strcat aa kk))
          (setq p (1+ p))
          )
        (setq aa (cons 1 aa))
        (setq ssdata (subst aa ent ssdata))
        (entmod ssdata)
        (setq i (1+ i))
        )
      (prin1)
      )

    代码完。

    只对单行文字有效。

    作者:codee
    文章千古事,得失寸心知。


  • 相关阅读:
    hdu2138(求素数)
    hdu2104
    poj1664(放苹果)
    数塔问题给你有哪些启示?
    汉诺塔问题(1)
    算法的力量(转李开复)
    最长子序列问题之系列一
    forward和redirect的区别
    group by 和having
    java中的多态三要素是什么?
  • 原文地址:https://www.cnblogs.com/bimgoo/p/2502990.html
Copyright © 2020-2023  润新知