Tharwat 发表于 2022-7-6 01:12:27

 
我现在明白了,我的错误是把属性值放在一个列表中,而没有考虑属性位置的顺序,这导致了重命名不有序,无论如何,因为pBe的例程按需要为您工作,pBe的出色工作值得称赞
 
祝你好运

JADT 发表于 2022-7-6 01:17:16

您好,如果您正在阅读本文。你的代码自创建以来一直在为我工作,再次感谢。
不幸的是,我刚刚遇到了一个以前从未遇到的问题。
如果您添加了一个新的布局选项卡,然后运行RENLAY lisp,它会用(1)后缀重命名现有选项卡,如下图所示

如果您有时间看一看,我们将不胜感激。现在,因为它只是一个奇怪的选项卡,我正在手动重命名新的选项卡。

pBe 发表于 2022-7-6 01:19:55

这是一个故障保护,我嵌入了这种情况下的例行程序。在运行RENLAY之前,用户必须确保“源”标题栏没有重复的数字,从结果中可以确定哪个布局选项卡包含重复的标记值

dpenney 发表于 2022-7-6 01:22:54

 
你好
 
我想知道我们是否可以通过重命名AutoCAD 2014布局选项卡,从特定图纸标题栏字段中提取信息来实现这一点?
 
纸张空间中每张纸上的标题栏“Block”为“AnaeCo_Title”
 
例如,布局选项卡将在包含A1图纸的第1页上显示为。。。。
 
第1-A1页
 
例如,布局选项卡将在包含A2图纸的第2页上显示为。。。。
 
第2-A2页
 
例如,布局选项卡将在包含A2图纸的第3页上显示为。。。。
 
第3-A2页
 
布局选项卡(例如,在包含A3图纸的第4页上)将显示为。。。。
 
第4页-A3页。。。。。。。。。。。。对于每个图纸选项卡,依此类推。
 
标签的位置(如所示):
 
SHT-板材
 
每一张纸都可能会有变化。。。当然,关于板材数量,也可能是板材尺寸。
 
这个lisp可以用来适应上述情况吗?
 
这一切仍在学习者许可证上。。。。
 
干杯
 
DP

Lee Mac 发表于 2022-7-6 01:25:00

尝试以下快速代码:

(defun c:relay ( / a e i l n p s x )
   (if (setq s (ssget "_X" '((0 . "INSERT") (66 . 1) (2 . "AnaeCo_Title") (410 . "~Model"))))
       (progn
         (repeat (setq i (sslength s))
               (setq e (entnext (ssname s (setq i (1- i))))
                     x (entget e)
                     a nil
               )
               (while (= "ATTRIB" (cdr (assoc 0 x)))
                   (setq a (cons (cons (strcase (cdr (assoc 2 x))) (cdr (assoc 1 x))) a)
                         e (entnext e)
                         x (entgete)
                   )
               )
               (setq l (cons (cons (cdr (assoc 410 (entget (cdr (assoc 330 x))))) a) l))
         )
         (vlax-for x (vla-get-layouts (vla-get-activedocument (vlax-get-acad-object)))
               (if
                   (and
                     (setq a (cdr (assoc (vla-get-name x) l)))
                     (setq n (cdr (assoc "SHEET_NUM" a)))
                     (setq p (cdr (assoc "SIZE" a)))
                   )
                   (vl-catch-all-apply 'vla-put-name (list x (strcat "SHT " n " - " p " SHEET")))
               )
         )
       )
       (princ "\nNo \"AnaeCo_Title\" blocks found.")
   )
   (princ)
)
(vl-load-com) (princ)

mdbdesign 发表于 2022-7-6 01:29:03

 
李,也许是Tabsort的一些插件???

dpenney 发表于 2022-7-6 01:30:56

明亮的
 
真是太棒了!
 
然而,上面的海报评论是相当有效的,如果标签是无序的,这个lisp可以重新排序时,更新标签信息?
 
干杯
 
DP

Lee Mac 发表于 2022-7-6 01:36:00

 
大概
 
 
太好了,不客气。
 
 
我相信mdbdesign是指我现有的TabSort程序-该程序将使您能够根据需要对选项卡进行排序。

dpenney 发表于 2022-7-6 01:37:53

啊。。。。明白了。
 
我必须说你写了一些很好的“东西”。。。!
 
还有,这里有一些非常有才华的人。
 
大家干杯
 
DP

Lee Mac 发表于 2022-7-6 01:40:31

谢谢DP
页: 1 [2]
查看完整版本: 使用2 tit重命名布局选项卡