关于 Excel 自动化

此功能允许您使用 Excel 文件中包含的数据自动生成原理图图纸。此文件必须具有特定格式,才能导入到 SOLIDWORKS Electrical。

对于新手来说,此功能可能很难实施。为帮助您,您可以下载本章节末尾的示例。

兼容性

Excel 自动化功能仅与 64 位版本的 Excel 2016 和 365 兼容。

宏定义

XLS 自动化功能仅使用原理图宏,其他宏不可用且不得使用。这些宏属于特定宏且必须包括两条规则:插入点和变量。

项目 说明
插入点(I) 宏将自动插入到图纸中,且必须具有特定的插入点。从插入点功能中,单击要插入宏的点。您需要输入 XLS 文件中该点的坐标。
变量定义 宏包含可在原理图中传递信息的变量。这些变量将替换为您在 XLS 文件中设置的文本。变量的格式必须为‘%’字符放置在变量前后。例如在 %VAR1% 中,‘VAR1’就是变量名称。变量中使用的文本不受约束,但该文本在宏和 XLS 文件中可以相同。

您可以使用变量替换:

  • 带标注的所有对象(例如设备、位置或图纸):要管理标注(位置、功能或零部件),请从宏管理中编辑宏,然后将标注替换为变量。例如,如果宏包含一个标注为 K1 的接触器,将此标注替换为变量 %COMPMARK1%。同样,使用位置管理,您可以将位置标注替换为变量(例如 %LOCMARK1%),然后将该位置分配到设备。
  • 制造商零件:对于制造商零件,请将该设备关联到制造商零件,您可在其中输入设备名称中的变量(例如:%MANUFACTURER1%)和制造商零件参考(例如:%MANUFPART1%)。
  • 等电位编号:要在等电位编号中使用变量,请编辑电线等电位编号,然后将其替换为变量,例如 %EQUIP1%
  • 电线样式名称:要在电线样式名称中使用变量,请打开电线样式管理。在电线样式属性中,将电线样式名称替换为变量(例如:%WireStyle1%)。
  • 可译数据和用户数据:变量还可用于带标注的任何对象的说明、用户数据或可译数据(例如:%TransData_1_ES% 用于西班牙语的第一个可译数据)。
借助 Excel 自动化,您可以自动重置未定义的宏变量。要重置未定义的宏变量,请单击 SOLIDWORKS Electrical > 配置 > 项目 。转至电气项目配置对话框的常规选项卡,在 Excel 自动化下,选择重置未定义的宏变量。选择此选项时,%xxx% 变量不会保留在插入的宏中。它被替换为以下某项:
  • 空字符串
  • 已移除的对象
  • 关联的默认对象(比如函数或位置)。

Excel 文件定义

SOLIDWORKS Electrical 随附多个模版 Excel 文件,以帮助您创建自己的 Excel 文件。这些文件存储在 SOLIDWORKS Electrical 数据的 \XlsAutomation\Template 文件夹中。

要新建 Excel 文件以实现自动化,请单击导入/导出 > Excel 自动化 > 新建 Excel 文件以实现自动化

Excel 文件可以是从版本 97/2003 (.xls) 直到 2013 格式 (.xlsx) 或 xlsm 文件格式(带宏的 Excel)的文件。仅处理文件的第一张可见工作表,其他工作表将忽略。工作表名称无限制。

Excel 文件必须包含特定说明,以用于执行 Excel 自动化。如果用户需要,工作表的标题前可以有多行。该流程将读取以 # 字符开头的第一个字符串的第一行。该行就是标题行。

此标题行必须包括两种信息:字段名 (#field) 和变量名称 (%variable%)。

您可以管理文件标题中的多种语言。使用 #title_lang 字段插入列,以识别描述不同语言的文本。

项目 说明
字段名 要识别字段名,其必须以‘#’字符开头。通常,字段名对应于数据库中的字段名。例如,‘#fil_title’对应于要在其中插入宏的图纸的标注。部分字段需要获得一致结果。

您必须管理的第一批字段名对应于宏名称和位置。

表 1.
字段名称 说明 必需
#mac_name 宏的名称
#mac_posx 宏要插入的 X 坐标
#mac_posy 宏要插入的 Y 坐标
#mac_insert 如果此列存在、未隐藏并包含 0 或为空,则不处理宏。

关于数据库的其他字段,SOLIDWORKS Electrical 仅接受图纸(“fil”)、包(“bun”)、位置(“loc”)和功能(“fun”)表的字段。

唯一所需的字段是 #fil_title,即要插入宏的图纸的标题。但是,如果您插入诸如文件集、位置或功能的任何其他字段,则需要相应表格的标记。例如,如果您插入任何位置字段,则需要字段 #loc_text。

支持的字段如下表所示:
表 2. 图纸
字段名称 说明 必需
#fil_filename 磁盘中文件的名称
#fil_title 图纸的标注
#fil_filetype 图纸类型 (*)
#fil.tra_0.xx 图纸的说明,其中 xx 为语言代码
#fil.use_data0 图纸的用户数据
(*) 该文件类型支持的值有:
  • 0:原理图图纸
  • 1:布线方框图
  • 5:封面
  • 9:机柜布局图纸
  • 12:混合原理图图纸
表 3. 文件集
字段名称 说明 必需
#bun_tag 文件集的标注 是(如果已使用任何文件集)
#bun.tra_0.xx 文件集的说明,其中 xx 为语言代码
表 4. 文件夹
字段名称 说明 必需
#fol_name 文件夹的标注 否(如果使用了任何文件夹)
#fol.tra_0.xx 文件夹的说明,其中 xx 为语言代码
表 5. 位置
字段名称 说明 必需
#loc_text 位置的标注 是(如果已使用任何位置)
#loc_tagpath 标注路径(完整标注)
#loc_tagroot 标注的源
#loc.tra_0.xx 位置的说明,其中 xx 为语言代码
表 6. 功能
字段名称 说明 必需
#fun_text 功能的标注 是(如果使用任何功能)
#fun_tagpath 标注路径(完整标注)
#fun_tagroot 标注的源
#fun.tra_0.xx 功能的说明,其中 xx 为语言代码

用户数据和可译数据也可作为字段添加,但因其不直接位于对象表格,所以字段定义稍有不同。

可译数据采用以下方式格式化:#ttt.tra_nn.xx

其中
  • ttt:将替换为表格前缀(fil、bun、loc、fun)。
  • tra:代表可译数据(请勿修改)
  • nn:将替换为所需数据索引(0 代表说明)。可译数据的数据索引可高达 14。
  • .xx:将替换为语言代码,usually.l1 (L1) 代表主要电气工程语言。支持的语言代码包括:
    • 来自电气工程语言(L + 1 到 3):“l1”、“l2”、“l3”
    • 标准语言代码:en、es、fr、it、ru、ko、ja、pt...、zh、zh-tw

使用电气工程主要语言的文件说明的示例:#fil.tra_0.l1

对于用户数据,句法相似,但无语言规范:#ttt.use_datann

其中
  • ttt:将替换为表格前缀(fil、bun、loc、fun)。
  • use_data:代表用户数据(请勿修改)。
  • nn:将替换为所需数据的索引,对于用户数据为从 0 到 19。

文件用户数据示例:#fil.use_data0

变量 指定所有数据后,您需要说明在哪里插入宏(图纸、文件集、位置和功能),而且您必须指定想要用它们的值进行替换的变量。要做到这点,您可以使用两种方法。

第一种方法为写入标题的第一个可用列、标记‘#mac_var_name’并写入第二个标记‘#mac_var_value’,然后根据需要依次写入多个列对。之后,对于每行(对于您要插入的每个宏),您需要在第一列写入变量名称并在第二列写入该变量的值。例如:

#mac_name #mac_var_name #mac_var_value #mac_var_name #mac_var_value
Test0 %motor1% M5 %motor2% M6
这种情况下,您插入宏 Test0,变量 %motor1% 由 M5 更改且变量 %motor2% 由 M6 更改。

如果您为所有宏使用相同的变量名称,第二种方法会更好。使用这种方法,为此插入的宏在标题中指定变量的名称(例如 %VAR1%),然后在不同行中指定此变量的值。例如:

#mac_name %var1% %var2%
Test0 M5 M6
Test1 V3 V4
这种情况下,第一行插入宏 Test0,变量 %var1% 由 M5 更改且 %var2% 由 M6 更改,在第二行中插入宏 Test1,变量 %var1% 由 V3 更改且变量 %var2% 由 V4 更改。
变量的名称不区分大小写。
使用带变量的格式 在自动生成图纸的过程中,您可以使用格式来自动生成值。格式可通过两个字符‘{ }’来识别,一个位于开头‘{’且另一个位于末尾‘}’。这两个字符之间的内容是一种格式,该格式类似于我们在软件中使用的任何格式。格式中的变量必须以与 Excel 文件中相同的方式格式化 (%VARIABLE%)。

例如使用此值设置设备的标注: {"PP_" + %VARIABLE% + "RR" + %VARIABLE2%}

当 2 次插入宏时,通过 Excel 生成的结果在第一次是 PP_33RR12,第二次是 PP_33RR13。

如果在 Excel 文件中我们有以下两行:

%VARIABLE% 设置为 33,%VARIABLE2% 设置为 12

%VARIABLE% 设置为 33,%VARIABLE2% 设置为 13

管理电线样式 在宏的电线样式属性对话框中,输入 WIRE_STYLE 名称字段的变量 %WIRE_STYLE%。在 Excel 中,您可以添加可选列 %WIRE_STYLE%,并输入电线样式名称的值。
自动连接电线 要使用此选项,您必须在电气工程配置的基本信息选项卡中选择自动连接宏参数。

使用“Excel 自动化”创建原理图时,您可以自动连接现有原理图和插入的宏之间的电线或符号。

要连接的元素必须对齐。您可以将电线连接到符号,也可以将电线连接到电线。

管理起点 - 终点箭头 考虑两个宏,其中起点箭头放在一个宏中,终点箭头放在另一个宏中。当您选择使用 Excel 自动化插入这两个宏时,您可以在两个宏中建立起点和终点箭头之间的连接。

在宏中,插入您在其中输入相同变量的起点或终点符号(例如:%Group1%),作为组名称。

在 Excel 文件中,使用此变量添加列。在此列中,输入组名称。具有相同组名称的所有符号都将自动关联。

插入宏时替换符号 考虑在宏中插入的符号。当您从 Excel 自动化中插入此宏时,您可以替换此符号。

编辑宏并打开符号的属性。输入变量,例如:Excel 自动化变量字段中的 %SYMBOL_NAME%

在 Excel 文件中,使用此变量添加列(本例中为%SYMBOL_NAME%)。在此列中,输入要使用的符号的名称。

#mac_name %SYMBOL_NAME%
Test0 TR-EL002
Test0 TR-EL035
在此示例中,您插入宏 Test0,一次使用 TR-EL002 符号,第二次使用符号 TR-EL035,即使在 Test0 宏中定义了另一个符号也是如此。

安装 Excel 插件

为了帮助您创建 Excel 文件,您可以使用插件。要安装插件,请单击导入/导出 > 安装 Excel 插件

Excel 插件的安装程序将自动启动。如果没有,请选择 EwExcelAddIn.vsto 文件。

自动生成图纸

创建 Excel 文件后,您可以将其导入 SOLIDWORKS Electrical 以自动生成图纸。单击导入/导出 > Excel 自动化

将打开一个选择文件对话框,允许您选择 Excel 文件。文件集、文件夹和图纸为自动创建,宏将插入到这些图纸中,并且变量将替换为值。

SOLIDWORKS Electrical 不会核实图纸是否存在以及图纸是否包含其他电气实体。这种情况下,无论图纸实体是否存在,都将插入宏。

将打开一个报表对话框,其中显示导入结果。

示例文件

  1. 要使用此示例,请创建新的电气工程。
  2. 下载制造商目录 Demo_Simple.part.tewzip 并在制造商零件管理中解压缩该文件。
  3. 下载宏 Demo_Simple_Macros.macro.tewzip 并在宏管理中解压缩该文件。
  4. 打开宏以显示变量。
  5. 下载 Demo_Simple.xlsx 文件并打开该文件以显示其结构。
  6. 启动 Excel 自动化命令以导入 Excel 文件。