找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2364|回复: 16

[教学] 最后数字复制递增

[复制链接]

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-1 14:35:37 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 st788796 于 2013-12-1 14:37 编辑

  1. (defun c:tt (/            txt           el          num         ntxt        str    ostr   loop
  2.              code   typ           el1          nnum         nstr        el1    e      tf
  3.              substrend
  4.             )
  5.   (defun substrend (new old str / pos)
  6.     (setq pos 0)
  7.     (while (vl-string-search old str pos)
  8.       (setq pos (1+ pos))
  9.     )
  10.     (vl-string-subst
  11.       new
  12.       old
  13.       str
  14.       (if (zerop pos)
  15.         pos
  16.         (1- pos)
  17.       )
  18.     )
  19.   )
  20.   (if (and (setq txt (car (entsel "\nPick text: ")))
  21.            (setq el (entget txt))
  22.            (eq (cdr (assoc 0 el)) "TEXT")
  23.            (setq num (getreal "\nNumber: "))
  24.            (setq str  (cdr (assoc 1 el))
  25.                  ostr (last
  26.                         (XD::String:RegexpS "\\d+|[.]|[d+]" str "")
  27.                       ) ;_分离数字
  28.            )
  29.       )
  30.     (progn
  31.       (setq ntxt (entmakex el)            
  32.             loop t
  33.       )
  34.       (princ "\nAny key Exit ....")
  35.       (while loop
  36.         (setq code (grread t 15)
  37.               typ  (car code)
  38.         )
  39.         (cond
  40.           ((= typ 3)
  41.            (setq nnum (rtos (+ num (distof ostr))
  42.                             2
  43.                             3
  44.                       )
  45.                  nstr (substrend nnum ostr str)
  46.                  el1  (subst (cons 1 nstr)
  47.                              (assoc 1 el)
  48.                              el
  49.                       )
  50.                  el1  (subst (cons 10 (cadr code)) (assoc 10 el1) el1)
  51.                  e    (entmakex el1)
  52.                  el   el1
  53.                  str  nstr
  54.                  ostr nnum
  55.            )
  56.           )
  57.           ((= typ 5)
  58.            (setq el1 (subst (cons 10 (cadr code)) (assoc 10 el) el))
  59.            (entmod el1)
  60.            (setq tf t)
  61.           )
  62.           (t
  63.            (setq loop nil)
  64.            (if tf
  65.              (entdel (cdr (assoc -1 el1)))
  66.            )
  67.           )
  68.         )
  69.       )
  70.     )
  71.   )
  72.   (princ)
  73. )
addnum.gif
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2013-12-1 14:43:06 | 显示全部楼层
不错,给做成插件吧发布吧。

点评

这个比较简单, 做成指定任意处的数字递增或者同时递增就更强大, 不过还没有想好  详情 回复 发表于 2013-12-1 14:47
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-12-1 14:47:07 | 显示全部楼层
newer 发表于 2013-12-1 14:43
不错,给做成插件吧发布吧。

这个比较简单, 做成指定任意处的数字递增或者同时递增就更强大, 不过还没有想好
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-12-1 18:24:15 | 显示全部楼层
本帖最后由 st788796 于 2013-12-1 18:29 编辑

如果有多个数字,用ODCL构造一个 Grid 第一列是序号,第二列表示勾选,选中的时候填色,取消时去掉填色,这样可以实现任意位置数字的组合复制递增,重新温习了一下午 ODCL,好久不用实在是时不起来了,放弃
grid.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 584个

财富等级: 财运亨通

发表于 2013-12-2 08:51:30 | 显示全部楼层
能否增加中文数字递增

点评

一般还是尾数增加,比非标图T-3.02=》T-3.03  发表于 2013-12-2 10:59
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2013-12-2 13:26:12 | 显示全部楼层
我也来凑一下热闹
  1. ;;85.23 [功能] 字符串末尾数字+1
  2. ;;http://bbs.mjtd.com/thread-107150-1-1.html中定义xd::string:regexps
  3. ;;http://bbs.mjtd.com/forum.php?mod=post&action=edit&fid=3&tid=107420&pid=608841&page=2中定义XD::String:Replace
  4. ;;示例(HH:EndNumberAdd "a3.02");返回"a3.03"
  5. (defun HH:EndNumberAdd (str / I STR1 STR2)
  6.   (if (setq str1 (car (xd::string:regexps "\\d+$$" str "")))
  7.     (progn (setq str2 (itoa (1+ (atoi str1))))          ;提取的尾数+1
  8.            (setq i (- (strlen str1) (strlen str2)))
  9.            (if (> i 0)
  10.              (repeat i (setq str2 (strcat "0" str2)))
  11.            )
  12.            (XD::String:Replace "\\d+$$" str str2 "")
  13.     )
  14.     (strcat str "1")
  15.   )
  16. )

点评

黄老这个\\d+$$ 是末尾为数字 , 后面再有字符就无能为力了  详情 回复 发表于 2013-12-2 13:32
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-12-2 13:32:09 | 显示全部楼层
本帖最后由 st788796 于 2013-12-2 13:35 编辑

黄老这个\\d+$$ 是末尾为数字 , 后面再有字符就无能为力了
addnum.gif

点评

我遇到的情况,多数这样就够了  发表于 2013-12-2 14:11
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-12-2 15:16:18 | 显示全部楼层
命令: mwjy
Pick text:
Number: 2 ; 错误: *error* 函数中出错AutoCAD 变量设置被拒绝: "cmdecho" nil

命令:
命令:  MWJY
Pick text:
Number: 1 ; 错误: *error* 函数中出错AutoCAD 变量设置被拒绝: "cmdecho" nil

点评

加载 XD::String:RegexpS  详情 回复 发表于 2013-12-2 15:17
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

 楼主| 发表于 2013-12-2 15:17:57 | 显示全部楼层
i3ku 发表于 2013-12-2 15:16
命令: mwjy
Pick text:
Number: 2 ; 错误: *error* 函数中出错AutoCAD 变量设置被拒绝: "cmdecho" nil

加载 XD::String:RegexpS

点评

额,谢谢,我没加载次程序  详情 回复 发表于 2013-12-2 15:19
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-12-2 15:19:43 | 显示全部楼层
st788796 发表于 2013-12-2 15:17
加载 XD::String:RegexpS

额,谢谢,我没加载次程序
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-12-4 15:17:43 | 显示全部楼层
新手再问:
“XD::String:RegexpS” 在哪里下载?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-4-16 15:37:05 | 显示全部楼层
看看什么好方法
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

发表于 2018-9-8 14:54:50 | 显示全部楼层
你好,这个我不能用,报错,
提示,语法错误
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2018-9-9 00:09:15 | 显示全部楼层
谢谢分享。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-20 11:49 , Processed in 0.463987 second(s), 66 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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