yinzhun22 发表于 2011-2-19 00:09:17

帮忙弄个以数字开头文本,开头数字统一加减某数的lsp

帮忙弄个以数字开头文本,开头数字统一加减某数的lsp
如1AT----2AT
谢谢

Andyhon 发表于 2011-2-19 09:54:50

(setq a "1AT"
       b (substr a 1 1)
       c (strcat (itoa (1+ (atoi b)))(substr a 2))
)

也可以考虑用 vl-string-subst 函数 .....

Gu_xl 发表于 2011-2-19 10:13:18


(defun c:tt(/ ss add en txt enl num)
(while(not (setq add (getint "\n同一加减数值:"))))
(princ "\n选择文字:")
(while (setq ss (ssget '((-4 . "<or")(-4 . "<and")(0 . "text") (1 . "#*")(-4 . "and>")(-4 . "<and")(0 . "text") (1 . "-#*")(-4 . "and>")(-4 . "or>"))))

(repeat (setq n (sslength ss))
    (setq en (ssname ss (setq n (1- n))))
    (setq txt (cdr (assoc 1 (setq enl (entget en)))))
    (setq num (atoi txt)
          txt (substr txt (1+ (strlen (itoa num))))
          num (+ num add)
          txt (strcat (itoa num) txt)
          enl (subst (cons 1 txt) (assoc 1 enl) enl)
          )
    (entmod enl)
)
    )
)

ZZXXQQ 发表于 2011-2-19 21:03:06


;第四行可以改成:
(while (setq ss (ssget '((0 . "TEXT") (1 . "#*,-#*"))))

xiaxiang 发表于 2011-2-21 15:04:47

本帖最后由 xiaxiang 于 2011-2-21 15:08 编辑

花了很长时间揣摩楼主的用意。若是要像“1AT---->2AT"那么简单,就是Gu_xl版主的程序最好,简洁明了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一。若是修改如原件号7或10-2,因加入或删除某件号而改变原件号成为10或10-5,可以用如下一段代码。

使用方法:
1.数字的增值分前后,增值可为正数负数和0。
2.有后数字的前数字是否要增值(n)y你回车前数不变,当你输入y前数字要加增值,如你后数字要求不变你把后数字增值输入为0
3.前数字后加.你输入y软件会在前数字后加. 如你要前后数字不变输入增值可为0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
二。若是技术要求,技术要求的序号后面必须加"."(大写字母状态下点),序号与技术要求在一起是一条文字,如“7.本件按................”,可以用如下一段代码。它可自动的去区分识别是否是技术要求并可自动去加点。

使用方法同上。
希望对您有所帮助。


yinzhun22 发表于 2011-2-22 12:20:37

本帖最后由 yinzhun22 于 2011-2-22 12:39 编辑

谢谢,各位帮忙,目前就要前面最简单的,能否帮忙加一个默认值1,省的每次都要输,如果有其他数字就再输入,不输入就默认1
其他的先下载,留以后需要再用……

xiaxiang 发表于 2011-2-22 17:03:44

(defun c:tt(/ ss add en txt enl num)
(while(not (setq add (getint "\n同一加减数值:<1>"))))

默认为1,接受输入其他值

ZZXXQQ 发表于 2011-2-22 22:16:40

本帖最后由 ZZXXQQ 于 2011-2-22 22:17 编辑


(defun c:tt(/ ss add en txt enl num)
(setq add (getint "\n同一加减数值:<1>"))
(setq add (if add add 1))
……

页: [1]
查看完整版本: 帮忙弄个以数字开头文本,开头数字统一加减某数的lsp