關於 Excel 自動化

本功能讓您從 Excel 檔案包含的資料自動產生原理圖圖紙。此檔案必須具特定格式才能輸入至 SOLIDWORKS Electrical 中。

本功能對於初學者而言可能難以執行。為協助您,本章結尾提供下載範例的方法。

相容性

Excel 自動化功能僅與 Excel 2016 及 365 搭配 64 位元版本相容。

宏定義

XLS 自動化功能僅使用原理圖宏,其他宏無法使用,也絕不可使用。這些宏是特定的,而且必須包含這兩個規則:插入點和變數。

項次 描述
插入點 宏會自動插入工程圖中,而且必須有特定插入點。從插入點特徵,按一下您要插入宏的點。您必須在 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:會由語言代碼取代,通常 .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,由 M5 變更變數 %var1%,M6 變更 %var2%,而在第二行上,插入宏 Test1,在此狀況下,則是由 V3 變更變數 %var1%,V4 變更變數 %var2%。
變數名稱不區分大小寫。
使用含變數的公式 您可使用公式,在自動產生圖紙期間,自動產生值。公式會以「{」和「}」這兩個字元識別,「{」是公式的開頭,「}」是公式的結尾。這兩個字元中間的內容就是公式,就像軟體中提供的任何一種公式。公式當中的變數格式必須與 Excel 檔案的相同 (%VARIABLE%)。

例如,使用此值設定零組件的標注: {"PP_" + %VARIABLE% + "RR" + %VARIABLE2%}

插入宏兩次時,透過 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 檔案。