明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1557|回复: 3

[讨论] 批量递增单行文本开头的数字 参考大神程序改编

[复制链接]
发表于 2014-6-16 11:23 | 显示全部楼层 |阅读模式
;批量递增单行文本开头的数字  参考大神程序改编
(defun c:ttt()
(vl-load-com)
   (setq sz    (getint"输入起始整数: ")
         szdz  (getint"输入递增整数: ")
         stn   (ssget  (list(cons 0 "*text")))
         stnl  (sslength stn)
         n     0
         reclist nil
   )
   (if (null szdz)(setq szdz 1)) ;不输入递增数默认为1
   (if (null sz)(setq sz 1))     ;不输入起始数默认为1
   (repeat stnl  
      (setq Stnm(ssname stn n)
            inspnt(cdr(assoc 10 (entget stnm)))   
            reclist(cons (list (cadr inspnt) stnm) reclist)
      )
      (setq  n(1+ n))  
   )
   ;Y排序
   ;(vl-sort reclist '(lambda(e1 e2)(<(cadr(car e1))(cadr(car e2))  )))
   (setq  reclist(vl_sort reclist '(lambda(e1 e2)(<(car e1)(car e2))  )))
   ;递增
   (setq n 0)
   (foreach stna reclist
      (setq stnm   (cadr stna)
            stnn   (entget stnm)
            contt  (cdr(assoc 1 stnn))
            szct   (strcat (itoa sz)
                         (vl-string-left-trim " 0123456789" contt)
                    )
      )
      (entmod (subst  (cons 1 szct)
                      (assoc 1 stnn)
                      stnn
              )
      );更新
      (setq n(1+ n)  sz(+ szdz sz))
   )
)

怎么用不了呀!
发表于 2014-6-16 11:46 | 显示全部楼层
(setq  reclist(vl_sort reclist '(lambda(e1 e2)(<(car e1)(car e2))  )))

vl_sort  ==>  vl-sort
发表于 2016-3-10 21:58 | 显示全部楼层
很好,终于找到了
发表于 2016-6-17 19:09 | 显示全部楼层
本帖最后由 yaokui25 于 2016-6-17 19:24 编辑

楼主您好,请问如何改成批量递增单行文本 结尾 的数字呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 07:57 , Processed in 0.578200 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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