dcl1214 发表于 2024-4-9 16:07:10

修改块名

(defun $block-rename$ (ent oldname newname lst / blocks blk rename obj)
          ;修改块名
(if (not oldname)
    (ifent
      (progn
(if (= (TYPE ent) 'ENAME)
    (SETQ OBJ (vlax-ename->vla-object ent))
)
(setq oldname (vl-catch-all-apply
      'vla-get-effectivename
      (list obj)
          )
)
(if (vl-catch-all-error-p oldname)
    (setq oldname (vl-catch-all-apply 'vla-get-name (list obj)))
)
(if (vl-catch-all-error-p oldname)
    (setq oldname nil)
)
      )
    )
)
(if newname
    (progn
      (setq blocks (vla-get-blocks
         (vla-get-activeDocument (vlax-get-acad-object))
       )
      )
      (setq blk (vl-catch-all-apply 'vla-item (list blocks oldname)))
      (vl-catch-all-apply 'vla-put-name (list blk newname))
      (setq rename (vla-get-name blk))
      (vl-catch-all-apply 'vlax-release-object (list blocks))
      (vl-catch-all-apply 'vlax-release-object (list blK))
    )
)
rename      ;返回
)

伊江痕 发表于 2024-4-9 16:08:24

学的了,很有用 我的梦想

yefei812678 发表于 2024-4-9 18:12:19

谢谢分享谢谢分享谢谢分享

1028695446 发表于 2024-4-9 18:23:08

多了一个参数lst?

hubeiwdlue 发表于 2024-4-10 12:55:42

谢谢分享,写得好严谨的函数。

664571221 发表于 2024-4-10 17:39:28

可以搞一个修改块插入点的功能吗

magicheno 发表于 2024-4-13 23:25:31

感谢大佬分享

rullz 发表于 2024-4-14 10:35:07

感谢大佬分享
页: [1]
查看完整版本: 修改块名