再次感谢李,我设法调整代码以满足我的要求。
我让它在两个不同的块中更新不同标签的值,效果很好。
- ;; Set Attribute Values - Lee Mac
- ;; Sets the block attributes whose tags are found in the supplied
- ;; association list to their associated values.
- (defun LM:SetAttributeValues ( block lst / elist item )
- (if
- (eq "ATTRIB"
- (cdr
- (assoc 0
- (setq elist
- (entget (setq block (entnext block)))
- )
- )
- )
- )
- (if (setq item (assoc (strcase (cdr (assoc 2 elist))) lst))
- (progn
- (if (setq elist (entmod (subst (cons 1 (cdr item)) (assoc 1 elist) elist)))
- (entupd (cdr (assoc -1 elist)))
- )
- (LM:SetAttributeValues block lst)
- )
- (LM:SetAttributeValues block lst)
- )
- )
- )
- (defun c:UPDATETITLEBLOCK ( / ss data i )
- (if (setq ss (ssget "_X" '((0 . "INSERT") (66 . 1) (2 . "PDCTITLE,PDCREV"))))
- (progn
- (setq data
- '(
- ("PDCDATECHK" . "07/11/2011")
- ("PDCISSUEREV" . "0")
- )
- )
- (repeat (setq i (sslength ss))
- (LM:SetAttributeValues (ssname ss (setq i (1- i))) data)
- )
- )
- )
- (princ)
- )
- (c:UPDATETITLEBLOCK)
再次感谢朋友。 |