属性值更新全局
大家好,我需要讨论的另一件事是,我需要将属性2标记值更新为常数,并根据布局结束数更新第三个标记
例如,如果布局有8个部分,01将是“MEP第01部分,共08部分”等等。。。
请查找附加文件以了解更多信息
感谢阅读
Attri测试。图纸 我认为find可以解决这个问题,你可以找到(PART)并替换为MEP(PART
我不明白你的意思,你能详细解释一下吗
我确实看了附件,但还是不明白。 @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部分)
等对于所有零件
我希望它能弄清楚
谢谢 在我开始编码之前,告诉我你的意思。。
这个节目是MEP独有的吗?或者也适用于所有学科? @pBe公司
我的意思是,在每个布局中,标签-DT1和DT2值不变(标签DT1-主楼:标签DT2-底层部分平面图),
只有标签DT3中发生的变化,以及每个板材的“MEP”后的零件号。
因为MH-MB-101是底层,所以这适用于一层、底层。
因此,我们可能需要根据需要更新每个楼层的图纸。
它可以用于任何学科
THX
(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##)”。 @pBe公司
你检查过附件了吗,它对我不起作用。。。
正如我所说,我需要更新所有标签DT1“MAIN BUILDING”DT2“GROUND FLOOR PARTIAL PLAN”和DT3“MEP(第##部分) 那么find命令呢?您是否尝试过,或者这不是您的请求
代码在第7页更新
页:
[1]