如何在AutoCAD CORE控制台中列出.dwg文件的所有块的名称



我将从一个块列表中获得一个。dwg文件中的自定义块,我将在Java中以编程方式解析这些块。

您可以使用带有?

选项的INSERT命令
cd C:Program FilesAutodeskAutoCAD 2016
accoreconsole.exe /i "SampleDatabase ConnectivityFloor Plan Sample.dwg"
Command: _INSERT
Enter block name or [?]: ?
Enter block(s) to list <*>:
Defined blocks.
  "CHAIR7"
  "COMPUTER"
  "DESK2"
  "DESK3"
  "DOOR"
  "DR-36"
  "DR-69P"
  "DR-72P"
  "FC15X27A"
  "FC42X18D"
  "FNPHONE"
  "IBMAT"
  "KEYBOARD"
  "NCL-HL"
  "RECTANG"
  "RMNUM"
  "SOFA2"
User     Unnamed
Blocks   Blocks
   17        0

我不熟悉Core Console,但要在DWG文件中列出所有块,您需要使用LISP s。来自jtbworld的axBlock之类的东西。您也可以使用LISP代码进行模拟,并通过SCRIPT调用它。


编辑:

复制并粘贴Notepad中的以下代码,并将其保存为axBlock.lspC驱动器的根目录下(例如):

(defun c:axblocks (/ b bn tl)
  (vlax-for b (vla-get-blocks
                (vla-get-ActiveDocument (vlax-get-acad-object))
              )
    (if (= (vla-get-islayout b) :vlax-false)
      (setq tl (cons (vla-get-name b) tl))
    )
  )
  (reverse tl)
)

我只是稍微调整了一下jtbworld的代码,让你更容易操作。

现在您已经准备好了LISP代码,您只需要将其加载到AutoCAD中。你有几个选项:

  1. 在AutoCAD中使用APPLOAD命令浏览axBlock.lsp您刚刚创建了
  2. axBlock.lsp拖过AutoCAD窗口。
  3. 通过脚本文件调用axBlock.lsp。脚本什么都不是真的而是一个简单的文本文件,扩展名为*.scr。所以你只要需要将这行代码放在脚本文件中:

    (load "C:\axBlock.lsp")

在完成上述三种方法中的任何一种后,只要在AutoCAD中输入axBlock并点击Enter,您将看到现有块的列表。

此外,如果您遵循方法1。从上面的列表中,你可以创建一个快捷方式,并在脚本文件中调用axBlock,也就是说,你加载并调用函数一次点击。如果您想这样做,只需在脚本代码的第二行中添加axBlock。注意,在axBlock

之后还有一个额外的SPACE

相关内容

  • 没有找到相关文章

最新更新