CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

使用脚本简化任务

2023-1-9 03:17| 发布者: admin| 查看: 533| 评论: 0|来自: AutoCAD

在处理图形时,是否发现自己在重复执行相同的命令序列?或许,您:

  • 插入标题栏并定义一些图层,作为初始图形设置过程的一部分。
  • 执行相同的一系列步骤来清理客户端图形。
  • 需要更新在旧图形中定义的 CAD 标准。

可以使用脚本文件执行依赖于相同输入的命令序列,而不是从 AutoCAD 用户界面执行一系列命令。脚本定义为纯文本文件,扩展名为 SCR。

注: 该视频不包含音频或隐藏字幕。
注: 步骤、图像和视频可能与您版本的产品略有不同。

利用您对命令和系统变量的了解

脚本让您可以利用对命令和系统变量的了解来自动执行重复性任务。使用“记事本”之类的应用程序在纯文本文件中键入并存储命令,而不是从 AutoCAD 用户界面启动命令,然后在命令提示下提供值或输入选项。

下面举例介绍用于插入名为“tblk”的块的命令序列,如同您可以在命令提示下输入该命令序列:

Command: -INSERT
Enter block name or [?] <tblk>: tblk
Units: Inches   Conversion:    1.0000
Specify insertion point or [Basepoint/Scale/X/Y/Z/Rotate/Explode/REpeat]: 0,0
Enter X scale factor, specify opposite corner, or [Corner/XYZ] <1>: 48
Enter Y scale factor <use X scale factor>: 48
Specify rotation angle <0>: 0

下面显示了上述命令序列在脚本文件中的可能模样:

-INSERT
tblk
0,0
48
48
0

大多数命令序列也可以放置在脚本文件的同一行中:

-INSERT tblk 0,0 48 48 0

创建脚本文件

在创建脚本文件之前,您应了解:

  • 脚本文件中的空格通常与按下 Enter 键的作用相同,如同在命令提示下输入选项和值时按空格键。
    注: 如果命令允许包含空格的字符串(例如,图层或样式名称),则空格会被解释为字符串中的字符,而不是如同按下 Enter 键。当字符串包含空格时,请用双引号将其括起来。例如,使用“-LAYER”命令为新图层提供名称(“Title Block”)时。
  • 脚本文件中的行尾标记等同于按下 Enter 键。
  • 脚本文件必须始终以空行结束,才能确保对最后一行进行计算。
  • 避免使用会显示对话框的命令;改用与以连字符开头的命令等效的替代命令行。例如,使用“-LAYER”或“-INSERT”,而不是“LAYER”和“INSERT”。
提示: 在创建脚本文件之前,最好在 AutoCAD 中的命令提示下输入命令、选项和值,以确保序列正确无误。这还允许您通过“命令”窗口复制命令历史记录,然后将其粘贴到“记事本”中。

粘贴后,即可删除任何提示和消息,从而只保留所需的命令和输入。

以下步骤将创建一个脚本文件,如下所示:

  • 创建名为“title_block”的图层
  • 绘制尺寸为 828 x 552 单位的矩形
  • 将执行对象捕捉设置为“端点”、“中点”和“交点”
  • 启用正交模式并禁用栅格模式
  1. 在 AutoCAD 中的命令提示下,键入“notepad”,然后按 Enter 键两次。

    “记事本”将打开,并显示一个空文档。

  2. 在“记事本”中,键入以下文本,并在每行末尾按 Enter 键,确保最后一行后面有一个空行。
    注: 此处,“-LAYER”命令后面应有空行,因为我们需要按 Enter 两次才能完全退出该命令。
    -LAYER m title_block c 6 title_block
    
    RECTANG 0,0 828,552
    OSMODE 35
    ORTHOMODE 1
    GRIDMODE 0
    ZOOM E
     
    注: 实际上,您将使用“-INSERT”命令插入标题栏,而不是绘制矩形,如上一节中所述。
  3. 在菜单栏中,依次单击“文件”>“另存为”。

  4. 在“另存为”对话框中,浏览到“文档”文件夹。
  5. 在“文件名”文本框中,选择默认文本并键入“drawing_setup.scr”

  6. 单击“另存为类型”下拉列表,然后选择“所有文件(*.*)”。
  7. 单击“保存”。
提示: 脚本可以包含注释。脚本中的注释以分号字符开头,分号右侧的所有内容都会被 AutoCAD 忽略。
; Creates a new layer
-LAYER m title_block c 6 title_block

; Draws a rectangle
RECTANG 0,0 828,552
…

管理脚本文件

可以运行任何文件夹中的脚本文件,但建议将脚本文件存储在标识为“AutoCAD 支持文件搜索路径”一部分的共享文件夹中。这样可确保脚本文件与您可能拥有的其他自定义文件一起存储,从而方便每个用户运行它们。

注: 可以在“选项”对话框(OPTIONS 命令)的“文件”选项卡上管理“AutoCAD 支持文件搜索路径”设置的文件夹。有关将文件夹添加到“AutoCAD 支持文件搜索路径”设置的信息,请参见“修改支持文件搜索路径的步骤”


在图形中运行脚本文件

创建脚本文件后,可以在 AutoCAD 中使用 SCRIPT 命令运行该脚本文件。

以下步骤介绍了如何运行先前在“创建脚本文件”部分下创建的“drawing_setup.scr”文件:

  1. 创建新图形。
  2. 在功能区上,依次单击“管理”选项卡 >“应用程序”面板 >“运行脚本”。 查找
  3. 在“选择脚本文件”对话框中,浏览并选择“drawing_setup.scr”文件。

  4. 单击“打开”。

    您应该会注意到,图形的范围现在在“title_block”图层上显示了一个大小为 828 x 552 单位的矩形。此外,如果您查看状态栏,应该会注意到三个执行对象捕捉已启用,并且正交模式处于启用状态且栅格模式处于禁用状态。



除了 SCRIPT 命令之外,还可以通过以下方式运行脚本文件:

  • 将脚本文件拖放到图形窗口中(仅限 Windows)
  • 将“/b”(Windows) 或“–b”(Mac OS) 命令行开关与桌面快捷方式/别名一起使用

有关命令行开关的详细信息,请参见关于自定义启动

从功能区运行脚本

可以定义包含“SCRIPT”命令的宏,以通过功能区按钮运行特定脚本。以下是启动“SCRIPT”命令,然后运行名为“drawing_setup.scr”的脚本文件的宏的可能模样:

^C^C_script drawing_setup.scr

有关自定义功能区的信息,请参见“您尝试过吗:设计自己的功能区”主题。



跨多个图形运行脚本文件

有时您可能想要在多个图形文件中运行脚本文件,例如,需要更改 CAD 标准或执行图形清理操作时。虽然可以打开每个图形,然后运行所需脚本文件,但使用 AutoCAD ScriptPro 实用程序的效率更高。ScriptPro 是一个仅在 Windows 上可用的实用程序,允许您在选定图形文件中运行脚本文件。
注: ScriptPro 不能与 AutoCAD LT 一起使用。

可以从以下位置下载 ScriptPro:http://knowledge.autodesk.com/support/autocad/downloads/caas/downloads/content/autodesk-customization-conversion-tools.html

注: 您需要管理员权限才能安装 ScriptPro。

以下步骤介绍了如何使用已下载并安装的 ScriptPro:

  1. 在 Windows 中,依次单击“开始”菜单 >“Autodesk”>“ScriptPro.exe”。

    现在,ScriptPro 应该会显示。



  2. 在 ScriptPro 的“列表”面板中,单击“向导”。
  3. 在“ScriptPro 向导”中的“步骤 1”下,单击“浏览”,然后指定要在选定图形中运行的脚本文件。

  4. 在“步骤 2”下,单击“添加”。浏览并选择要添加的图形,然后单击“打开”。

    注: 如果要选择的所有图形都位于一个文件夹中,请单击“从文件夹添加”,然后选择包含要在其中运行脚本文件的图形文件的文件夹。
  5. 在“步骤 3”下,选择已安装的 AutoCAD 版本。

    提示: 借助应用程序版本列表中的“accoreconsole.exe”,可以在后台通过 AutoCAD 实例运行 ScriptPro。这可以减少处理所有选定图形所花费的时间。
  6. 单击“完成”。
  7. (可选)单击“另存为”,然后指定“图形列表”文件的位置和名称。

    借助“图形列表”文件,可以根据需要将选定图形文件加载回 ScriptPro,以重新运行脚本文件。

  8. 在“运行”下,单击“选中”。

    ScriptPro 开始处理每个已选中的图形,然后根据进度更新“状态”列。



  9. 当 ScriptPro 完成时,系统会提示您查看生成的日志文件。单击“是”或“否”以查看文件。
    注: 如果一个或多个图形失败,请参见“使用 ScriptPro 的提示”部分,以获取有关如何解决问题的一些想法。

使用 ScriptPro 的提示

注: ScriptPro 不能与 AutoCAD LT 一起使用。
  • 虽然 ScriptPro 仅允许您选择一个脚本文件(从 AutoCAD 2016 开始),但可以通过另一个脚本使用“SCRIPTCALL”命令来调用脚本文件。这样便可以使用 ScriptPro 在选定图形中运行多个脚本,而无需多次运行该实用程序。
  • 如果 ScriptPro 未能处理图形,则可能需要在 AutoCAD 执行脚本文件之前增加 AutoCAD 等待的延迟时间。如果图形包含外部参照或其他外部参照文件,则可能会发生这种情况。在 ScriptPro 的“选项”下,单击“设置”。然后,在“设置”对话框中,通过将滑块向右滑动以增加“处理期间延迟(秒)”值。

  • 如果脚本未按预期运行,则可以在 ScriptPro 的“设置”下启用“在诊断模式下运行工具”。此设置将启用完整的命令日志记录,从而让您可以了解脚本可能失败的原因。有关此选项的位置,请参见上图。
命令 说明
DELAY 在脚本中提供指定时间的暂停。
RESUME 继续执行被中断的脚本文件。 按“后退”键即可中断执行脚本。
RSCRIPT 重复执行脚本文件。
SCRIPT 运行脚本文件。
SCRIPTCALL 通过一个脚本文件运行另一个脚本文件。
系统变量 说明 默认值 保存位置
CMDDIA 控制执行 DIMEDIT 和 QLEADER 命令时在位文字编辑器的显示,以及基于 AutoCAD 的产品中的某些对话框的显示。 1 注册表
FILEDIA 不显示文件导航对话框。 1 注册表

脚本文件有助于减少错误,并简化重复的工作流。希望下次您在不同的图形中执行命令序列时,您将能够根据在本文中所学到的方法创建有用的脚本文件。


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 15:26

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部