找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 484|回复: 0

[LISP程序]:文本工具:文字序号增值

[复制链接]
发表于 2002-12-28 22:06:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

  1.   [FONT=courier new]
  2. (princ "\ntadd====txt add 文字序号增值 -----------lxx.2001.7")
  3. (defun c:tadd ()
  4.   (princ "\ntadd====txt add 文字序号增值-----------lxx.2001.7")
  5.   (setq ss (ssget '((0 . "TEXT")))
  6.         nadd (getint "\n增加值<1>:")
  7.         dec (getint "\n精度<0>:")
  8.         i 0)
  9.   (if (not nadd)(setq nadd 1))
  10.   (if (not dec)(setq dec 0))
  11.   (repeat (sslength ss)
  12.     (setq ent (ssname ss i)
  13.           entl (entget ent)
  14.           i (1+ i)
  15.     )
  16.     (txtadd entl nadd dec)
  17.   )
  18.   (princ)
  19. )
  20. ;;;;;txtadd
  21. (defun txtadd (entl nadd dec /)
  22.   (setq        bnam0 (cdr(assoc 1 entl)));;;old txt
  23.   (princ "\n原字串:")(princ bnam0)
  24.   ;;使得序号不重复
  25.   (setq nlen (strlen bnam0)
  26.         n1 1
  27.         lastn nil)
  28.   (while (and (/= 0 nlen)(member (substr bnam0 nlen 1) '("0" "1" "2" "3" "4" "5" "6" "7" "8" "9" ".")))
  29.         (setq lastn (atof (substr bnam0 nlen n1));;字串尾序号
  30.               nlen (1- nlen)
  31.               n1 (1+ n1)
  32.         )
  33.   );;end while
  34.   (if lastn;;;;;;;;确定新字串---尾序号累加nadd,无序号加nadd
  35.    (progn (setq lastn (+ lastn nadd))
  36.           (if (or (= 'INT (type (read bnam0))) (= 'REAL (type (read bnam0))));;当字串如"3"                       
  37.               (setq bnam (rtos lastn 2 dec))
  38.               (setq bnam (strcat (substr bnam0 1 nlen) (rtos lastn 2 dec)))
  39.           )
  40.    )
  41.    (progn (setq lastn nadd)         ;;else
  42.           (if (or (= 'INT (type (read bnam0)))(= 'REAL (type (read bnam0))))
  43.               (setq bnam (rtos lastn 2 dec))
  44.               (setq bnam (strcat bnam0 (rtos lastn 2 dec)))
  45.           )
  46.    )
  47.   );;end if
  48.   (princ " 改为:")(princ bnam)
  49.   (setq entl (subst (cons 1 bnam) (assoc 1 entl) entl))
  50.   (entmod entl)(entupd ent)
  51. )
  52.                
  53.                      
  54.       
  55.   
  56.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-18 23:16 , Processed in 0.296929 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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