shailujp 发表于 2022-7-5 23:05:34

嗨,塔瓦,
 
由于某种原因,我在这篇文章中看不到你的回复。我在电子邮件中找到了你的建议。它取第一个字母,然后下一个字母开始给出1,2,3。
 
有什么建议吗?

shailujp 发表于 2022-7-5 23:10:54

 
你好
 
实际上,在你修改帖子之前,你发布的例程有一个问题,我只是纠正了错误,没有什么比这更重要的了。
 
不管怎样,让我们继续研究你的新请求,看看我能想出什么。

shailujp 发表于 2022-7-5 23:13:28

试试这个,让我知道
 
(defun c:INCATT2 ( / tag ss1 ) (vl-load-com)

(setq tag "X")

(if (setq *num2* (cond ( (getstring (strcat "\nSpecify Starting num2ber"(if *num2* (strcat " <" *num2* "> : ") ": ")))) ( *num2* )))
   (while (setq ss1 (ssget "_+.:E:S:L" '((0 . "INSERT") (66 . 1))))
   (if
       (vl-some
         (function
         (lambda ( x )
             (if (eq tag (vla-get-tagstring x))
               (not (vla-put-textstring x *num2*))
             )
         )
         )
         (vlax-invoke (vlax-ename->vla-object (ssname ss1 0)) 'getattributes)
       )
       (setq *num2* (1+ (ascii *num2*)))
       (princ (strcat tag " Attribute not found."))
   )
   )
)
(princ)
)

Tharwat 发表于 2022-7-5 23:16:29

嗨,塔瓦,
 
我的标签名是X,所以我改了这行
(setq标签“4”)

(setq标签“X”)
然后它开始工作。
它仅在标记为空时有效。如果它有任何现有数量的字母表,则将其添加为后缀。我想删除现有的标签或数字,只保留新条目。
 
另一个问题是当我到达Z时,下一个数字是ZA,我想它是AA,AB AC。。。。。AZ,BA,BA,BC,。,。。。。BZ。。。。等
 
非常感谢。

Tharwat 发表于 2022-7-5 23:18:52

 
我没有理解你的观点,请解释一下。

shailujp 发表于 2022-7-5 23:23:00

当标记没有现有值时。。。然后,新的字母输入工作正常。当已经有一个值时,比如说B。。我想要A,然后显示BA和普通B。
 
有道理?

Tharwat 发表于 2022-7-5 23:25:28

我修改了上面的代码,试试看,然后告诉我。

shailujp 发表于 2022-7-5 23:27:59

现在它工作得很好。最后一个问题是:当它转到AX AY AZ。。。下一个数字是AAA AAB AAC而不是BA BB BC。。。这可能吗?

Tharwat 发表于 2022-7-5 23:33:15

shailujp 发表于 2022-7-5 23:35:37

Now it works well. The last issue is: When it goes to AX AY AZ...next number is AAA AAB AACinstead of BA BB BC...is this even possible?
页: 1 [2]
查看完整版本: 向ITEM\u编号t添加前缀