thbaiju 发表于 2022-7-6 01:45:20

属性值更新全局

大家好,
我需要讨论的另一件事是,我需要将属性2标记值更新为常数,并根据布局结束数更新第三个标记
例如,如果布局有8个部分,01将是“MEP第01部分,共08部分”等等。。。
请查找附加文件以了解更多信息
 
感谢阅读
Attri测试。图纸

mostafa badran 发表于 2022-7-6 01:57:11

我认为find可以解决这个问题,你可以找到(PART)并替换为MEP(PART

pBe 发表于 2022-7-6 02:04:12

 
我不明白你的意思,你能详细解释一下吗
 
 
我确实看了附件,但还是不明白。

thbaiju 发表于 2022-7-6 02:07:49

@pBe公司
请参阅每个布局名称的附加文件,我们共有8个零件平面图。
如果布局1名称显示MH-MB-101.1,则布局标题标签DT3应为MEP(第01部分,共08部分)
如果布局2名称为MH-MB-101.2,则布局标题标签DT3应为MEP(第02部分,共08部分)
如果布局2名称为MH-MB-101.3,则布局标题标签DT3应为MEP(第03部分,共08部分)
等对于所有零件
我希望它能弄清楚
 
谢谢

pBe 发表于 2022-7-6 02:18:09

在我开始编码之前,告诉我你的意思。。
 
这个节目是MEP独有的吗?或者也适用于所有学科?

thbaiju 发表于 2022-7-6 02:24:57

@pBe公司
我的意思是,在每个布局中,标签-DT1和DT2值不变(标签DT1-主楼:标签DT2-底层部分平面图),
只有标签DT3中发生的变化,以及每个板材的“MEP”后的零件号。
 
因为MH-MB-101是底层,所以这适用于一层、底层。
因此,我们可能需要根据需要更新每个楼层的图纸。
 
它可以用于任何学科
 
THX

pBe 发表于 2022-7-6 02:28:02

 
(defun DT3 ( lst pref / ss e num i)
(if (and
(setq ss (ssget        "_X"
                '((0 . "INSERT") (66 . 1) (2 . "Title_A1_Text"))
       )
)
(= (length (layoutlist)) (setq i (sslength ss)))
(setq of (if (< i 10)
           (strcat "0" (itoa i))
           (itoa i)
       )
)
   )
   (repeat i
   (setq num (cdr (assoc 410 (entget (Setq e (ssname ss 0))))))
   (setq num (substr num (+ (vl-string-position 46 num) 2)))
   (if (< (atoi num) 10)
(setq num (strcat "0" num))
   )
   (foreach itm (vlax-invoke (vlax-ename->vla-object e) 'Getattributes)
        (setq tg (assoc (vla-get-tagstring itm) lst))
                (vla-put-textstring itm
                          (if (eq (cadr tg)"")
                                  (strcat "MEP" " (part " num " of " of ")")
                                  (cadr tg))))
   (ssdel e ss)
   )
)
(princ)
)

 

(defun c:mep ()(dt3 '(("DT1" "MAIN BUILDING")
              ("DT2" "GROUND FLOOR PARTIAL PLAN")
              ("DT3" "")) "MEP"))

 
现在,如果要将其用于其他图形,请将项目(“DT1”“MAIN BUILDING”)更改为新值。
 
 
我指的不仅仅是前缀的MEP,还有其他类似“ELE”或“PLB”的东西
 
例如,如果您为标记DT3键入STR,则上面的代码将输入值“MEP(part###of##)”,或者如果您键入MEP和“STR(part####of##)”。

thbaiju 发表于 2022-7-6 02:35:26

@pBe公司
你检查过附件了吗,它对我不起作用。。。
正如我所说,我需要更新所有标签DT1“MAIN BUILDING”DT2“GROUND FLOOR PARTIAL PLAN”和DT3“MEP(第##部分)

mostafa badran 发表于 2022-7-6 02:44:36

那么find命令呢?您是否尝试过,或者这不是您的请求

pBe 发表于 2022-7-6 02:50:36

 
代码在第7页更新
页: [1]
查看完整版本: 属性值更新全局