zoukankan      html  css  js  c++  java
  • 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
    文章千古事,得失寸心知。


  • 相关阅读:
    一切都是对象
    对象入门
    同步计算输入的各个数的总和与平均值
    与时间有关的类Date,DateFormat,Calendar
    获取文件信息
    串行化
    分解
    高速缓存
    压缩
    MyCAT实现MySQL的读写分离
  • 原文地址:https://www.cnblogs.com/bimgoo/p/2502990.html
Copyright © 2011-2022 走看看