hudster 发表于 2004-10-12 04:58:07

对块重新编号?

有人有口齿不清可以用来按顺序重新编号块吗?
我有一大堆网格引用,作为属性插入,从1开始,到76结束,我需要按顺序重新编号。
为任何帮助干杯。
**** Hidden Message *****

whdjr 发表于 2004-10-12 08:22:53

这是我写的一个旧的,用于读取多个块,但欢迎您根据需要进行修改和更新。
我可以给你我的新工具,但它是更大程序的一部分,所以会更困难。
用法:
它要求一个参考块(需要具有正确的数字值),然后您根据需要选择每个块重新编号。当您选择一个块时,数量会增加一个。
HTH,
(vl-load-com)
(defun att (atts / num)
(foreach for-item (vlax-safearray->list
                      (vlax-variant-value
                        (vla-getattributes
                          (vlax-ename->vla-object atts)
                        )
                      )
                  )
    (cond ((or (= (vla-get-tagstring for-item) "ROOM#")
             (= (vla-get-tagstring for-item) "DOOR#")
             (= (vla-get-tagstring for-item) "240-DOOR#")
             (= (vla-get-tagstring for-item) "999")
             (= (vla-get-tagstring for-item) "1")
           )
           (setq num (vla-get-textstring for-item))
          )
    )
)
num
)
(defun attup (atts num)
(foreach for-item (vlax-safearray->list
                      (vlax-variant-value
                        (vla-getattributes
                          (vlax-ename->vla-object atts)
                        )
                      )
                  )
    (cond ((or (= (vla-get-tagstring for-item) "ROOM#")
             (= (vla-get-tagstring for-item) "DOOR#")
             (= (vla-get-tagstring for-item) "240-DOOR#")
             (= (vla-get-tagstring for-item) "999")
             (= (vla-get-tagstring for-item) "1")
           )
           (vla-put-textstring for-item num)
          )
    )
)
(vla-update (vlax-ename->vla-object atts))
)
(defun c:numinc        (/ ent sel cnt)
(setq        ent        (car (entsel "\nSelect reference block:")))
(cond        ((not ent) (princ "\nNothing selected.*INVALID*"))
        (T (setq cnt (att ent)))
)
(while ent
    (setvar "ErrNo" 0)
    (cond
      ((not
       (setq sel (car (entsel "\nSelect attribute to update:")))
       )
       (if (/= 52 (getvar "ErrNo"))
       (princ "\nNo object selected, please try again: ")
       (progn
           (princ "\nRight click detected - Terminate program. ")
           (setq ent nil)
       )
       )
      )
      (T (attup sel (itoa (1+ (atoi cnt)))))
    )
)
(princ)
)

hudster 发表于 2004-10-12 09:19:10

非常感谢,我修改了它,它工作得很好。
页: [1]
查看完整版本: 对块重新编号?