KBJockey 发表于 2022-7-6 07:08:32

定期的加薪

我的第二个类似问题。。我会再试一次…下面是我想通过单击现有属性来增加的示例,字母将保持在,只有最后1或2个数字将更改为1,2,3,依此类推…。如何使用lisp实现这一点…感谢您的帮助。
如。
ABCD-00至ABCD-01
EFGH-00至EFGH-02
IJKLM-00至IJKLM-03

Dadgad 发表于 2022-7-6 07:15:39

欢迎来到论坛。
 
很抱歉,我无法帮助您,只是建议您的问题最好发布在lisp论坛,而不是Autocad General论坛。
通过这种方式,您可以合理地确定lisperati将看到它,并希望为您指明道路。
我希望有人能帮助你,耐心点。
 
也许版主可以将此移到lisp论坛?

ReMark 发表于 2022-7-6 07:18:48

也许李在他的魔术袋里有一个自定义的套路,可能会奏效。然而,我还没有检查。

KBJockey 发表于 2022-7-6 07:23:29

谢谢你的提示,dadgad,最好在lisp论坛上发布这个,我想我在正确的论坛上…是的,Lee Mac有这个叫做Numinc的评论。但是我担心我的情况不同&不适合他的lisp程序…

KBJockey 发表于 2022-7-6 07:30:01

下面是一个示例,我想通过单击现有属性进行增量,字母将保持为is,只有最后1或2位将更改为1,2,3,依此类推…。有任何Lisp程序可以做到这一点…我希望有人可以帮助我:(提前感谢。。。
如。
ABCD-00至ABCD-01
EFGH-00至EFGH-02
IJKLM-00至IJKLM-03

Lee Mac 发表于 2022-7-6 07:32:00

下面是一个增加数字后缀的函数:
 

(defun incsuff ( s / _incsuff )
   (defun _incsuff ( l )
       (cond
         (   (= 57 (car l))
               (if (< 47 (cadr l) 58)
                   (cons 48 (_incsuff (cdr l)))
                   (cons 48 (cons 49 (cdr l)))
               )
         )
         (   (< 47 (car l) 58)
               (cons (1+ (car l)) (cdr l))
         )
         (   l
               (cons (car l) (_incsuff (cdr l)))
         )
       )
   )
   (vl-list->string (reverse (_incsuff (reverse (vl-string->list s)))))
)

 
_$ (incsuff "ABCD-00")
"ABCD-01"
 
现在已经编写了程序的核心,您可以编写程序来提示选择文本并修改内容。

SLW210 发表于 2022-7-6 07:40:14

我合并了你的帖子,以后只要请版主移动你的帖子。

KBJockey 发表于 2022-7-6 07:44:40

谢谢李:我会做剩下的。。。。。

KBJockey 发表于 2022-7-6 07:45:38

 
谢谢,下一次。。。我会问的。

Lee Mac 发表于 2022-7-6 07:52:06

 
不客气,祝你好运!
页: [1] 2
查看完整版本: 定期的加薪