求大神帮小弟看看这个递增编号的写法问题,无法实现JD01~JD09的递增
求大神帮小弟看看这个递增编号的写法问题,无法实现JD01~JD09的递增,现在的结果是JD1~JD9(无法自动在1前面加0)修改加工图号插件
(defun c:BH()
(setvar "cmdecho" 0)
(Setq jgt(Getstring "\n 请输入图号前缀:"))
(Setq Rev(Getreal "\n 请输入起始图号:"))
(Setq Block (Ssget'((0 . "Insert"))))
(Setq N 0)
(Setq Rev_new(strcat jgt (rtos rev 2 0)))
(Repeat (Sslength Block)
(Setq Ent (Entget (Ssname Block N)))
(Setq Ent1 Ent)
(setq SS (Cdr (Assoc -1 ent1)))
(IF (/= "SEQEND" (cdr (assoc 0 ENT)))
(WHILE (= (CDR (ASSOC 0 (SETQ ENT1 (ENTGET (ENTNEXT (CDR (ASSOC -1 ENT1))))))) "ATTRIB")
(cond
((= (CDR (ASSOC 2 ENT1)) "JD01")
(SETQ ENT1 (SUBST (CONS 1 Rev_new) (ASSOC 1 ENT1) ENT1))
(ENTMOD ENT1))
)
)
)
(entdel SS)
(entdel SS)
(setq n (1+ n))
(setq rev (1+ rev))
(Setq Rev_new(strcat jgt (rtos rev 2 0)))
)
(setvar "cmdecho" 1)
(princ)
)
本帖最后由 原地踏步 于 2020-8-9 10:45 编辑
(Setq Rev(Getreal "\n 请输入起始图号:")) 最好改为:
(initget 5)
(Setq Rev(Getint "\n 请输入起始图号:"))
(Setq Rev_new(strcat jgt (rtos rev 2 0))) 改为:
(Setq Rev_new(if (< rev 10)
(strcat jgt "0" (itoa rev))
(strcat jgt(itoa rev))
))
原地踏步 发表于 2020-8-9 10:41
(Setq Rev(Getreal "\n 请输入起始图号:")) 最好改为:
(initget 5)
(Setq Rev(Getint "\n 请输入 ...
感谢大神回复,按照说明修改了命令之后,出现一个问题:只有XX-01是正确的,XX-2~9前面还是没有0 原地踏步 发表于 2020-8-9 10:41
(Setq Rev(Getreal "\n 请输入起始图号:")) 最好改为:
(initget 5)
(Setq Rev(Getint "\n 请输入 ...
修改的命令如下:
修改加工图号插件
(defun c:BH()
(setvar "cmdecho" 0)
(Setq jgt(Getstring "\n 请输入图号前缀:"))
(initget 5)
(Setq Rev(Getint "\n 请输入起始图号:"))
(Setq Block (Ssget'((0 . "Insert"))))
(Setq N 0)
(Setq Rev_new(if (< rev 10)
(strcat jgt "0" (itoa rev))
(strcat jgt(itoa rev))
))
(Repeat (Sslength Block)
(Setq Ent (Entget (Ssname Block N)))
(Setq Ent1 Ent)
(setq SS (Cdr (Assoc -1 ent1)))
(IF (/= "SEQEND" (cdr (assoc 0 ENT)))
(WHILE (= (CDR (ASSOC 0 (SETQ ENT1 (ENTGET (ENTNEXT (CDR (ASSOC -1 ENT1))))))) "ATTRIB")
(cond
((= (CDR (ASSOC 2 ENT1)) "JD01")
(SETQ ENT1 (SUBST (CONS 1 Rev_new) (ASSOC 1 ENT1) ENT1))
(ENTMOD ENT1))
)
)
)
(entdel SS)
(entdel SS)
(setq n (1+ n))
(setq rev (1+ rev))
(Setq Rev_new(strcat jgt (rtos rev 2 0)))
)
(setvar "cmdecho" 1)
(princ)
) 你前面改了,后面的 rev_new 也得改呀! 原地踏步 发表于 2020-8-13 16:55
你前面改了,后面的 rev_new 也得改呀!
:D嗯嗯,谢谢,刚刚试了试果然好用了,666
页:
[1]