hermanm 发表于 2010-7-18 11:26:37

这确实很粗糙,但说明了可以做些什么:
;;;---------------------ToStatic.lsp--------------------------------
;;; Purpose: Converts anonymous block to named static block
;;; Version:1.0
;;; Date: 2 June 2010
;;; Author: Herman Mayfarth
;;; Copyright © 2010 by Herman Mayfarth.
;;; Provided "as is" and without warranty, express or implied.
;;; Use at your own risk.
;;;-----------------------------------------------------------------
(defun C:Static ( / obj)
(setq obj (vlax-ename->vla-object (car (entsel "\nPick a block reference:"))))
(vlax-invoke obj 'ConvertToStaticBlock
    (substr (vlax-get-property obj 'Name) 2))
(princ)
);C:Static

如果您使用它将不同的可见性状态转换为静态块,您可能希望在之后重命名这些块,因为匿名块的名称为:*Uxxx,而此命令所做的只是从块名称中去掉第一个字符。由于它不检查第一个字符,如果转换名为“A325”的动态块,将得到名为“325”的静态块
它将静态块以及动态未命名块转换为命名块
这显然是可以改进的&欢迎任何人将其作为一个起点来完成真正流畅的工作
我需要有特定用途的Q&D产品,但只花了5分钟。

johnratliff 发表于 2010-9-19 15:03:10

参见#6

Bethrine 发表于 2010-9-19 17:12:25


我正在尝试清理一个只将纯文本放在工作表上的CADWorx BOM例程。我有一个脚本和lisp例程,它通过导出到csv文件来做到这一点,然后我只是将它们带入excel。我有一点额外的时间,开始使用一些动态块作为模板。
我一直在寻找一种方法来删除从查找表构建的未使用属性。我使用双查找表创建了附加的动态块,这可能不是一个好主意,因为当我尝试将其转换为静态块时,我留下了额外的字段。尝试了delinv.lsp但它在我的查找表上不起作用。有人对使这个块成为静态的有什么建议吗?或者一种自动将纯文本获取到表格中的方法?

Kerry 发表于 2015-4-13 16:51:40

来自Lee Mac发布的同一主题:
页: 1 [2]
查看完整版本: 将动态块转换为常规块