Excel 自動化について

この機能では、Excel ファイルに含まれるデータから配線図を自動的に生成できます。このファイルは SOLIDWORKS Electrical にインポートするため、特定の形式でなければなりません。

初心者がこの機能を実装するのは難しい場合があります。早く理解できるようにするため、この章の最後で例をダウンロードできます。

互換性

Excel 自動化機能は、64 ビット版の Excel 2016 および 365 とのみ互換性があります。

パターンの定義

XLS 自動化機能では配線図パターンのみを使用します。その他のパターンは使用できないので、使用しないでください。これらのパターンは固有であり、挿入点と変数という 2 つのルールを含んでいる必要があります。

Item 説明
挿入点 パターンは図面に自動的に挿入され、特定の挿入点が必要です。挿入点機能から、パターンを挿入する点をクリックします。この点の座標を XLS ファイルに入力する必要があります。
変数の定義 パターンには変数を含めます。この変数により、配線図に情報が反映されます。これらの変数は、XLS ファイルで設定するテキストで置き換わります。変数は、前後に文字「%」を置いて書式設定する必要があります。たとえば、%VAR1% では「VAR1」が変数名です。変数に使用するテキストは自由で、パターンと XLS ファイルで同一にすることができます。

変数を使用して、以下を置き換えることができます。

  • マーク付きのすべてのオブジェクト(All objects with a mark)(コンポーネント、ロケーション、図面など): マーク(ロケーション、ファンクション、コンポーネント)を管理するため、パターン管理からパターンを編集し、マークを変数で置き換えます。たとえば、パターンに接触器が含まれ、K1 とマークされている場合は、このマークを変数 %COMPMARK1% で置き換えます。同じ方法により、ロケーション管理(Location management)を使用して、ロケーション マークを %LOCMARK1% などの変数に置き換えて、このロケーションをコンポーネントに割り当てることができます。
  • メーカー部品(Manufacturer parts): メーカー部品に関しては、コンポーネントをメーカー部品に関連付けて、メーカー名に変数を入力し(例: %MANUFACTURER1%)、メーカー部品参照に変数を入力します(例: %MANUFPART1%)。
  • 等電位番号(Equipotential numbers): 等電位番号で変数を使用するには、ワイヤの等電位番号を編集し、%EQUIP1% などの変数に置き換えます。
  • ワイヤ スタイルの名前(Wire style names): ワイヤ スタイル名に変数を使用するには、ワイヤ スタイル管理(Wire style management)を開きます。ワイヤ スタイルのプロパティで、ワイヤ スタイルの名前を変数に置き換えます(例: %WireStyle1%)。
  • 翻訳可能データとユーザー データ(Translatable data and user data): マーク付きオブジェクトの説明、ユーザー データ、翻訳可能データにも、変数を使用できます(例: スペイン語の最初の翻訳可能データには %TransData_1_ES%)。
Excel 自動化で、未定義のマクロ変数を自動的にリセットできます。未定義のマクロ変数をリセットするには、 SOLIDWORKS Electrical > 構成(Configurations) > プロジェクト(Project) をクリックします。Electrical プロジェクト構成(Electrical Project Configuration)ダイアログ ボックスの一般(General)タブの Excel 自動化(Excel automation)で、未定義のマクロ変数をリセット(Reset undefined macro variable)を選択します。このオプションを選択した場合は、挿入されたマクロに %xxx% 変数は残りません。これは次のいずれかに置き換えられます。
  • 空の文字列
  • 除去されたオブジェクト
  • 関連するデフォルト オブジェクト(関数や場所など)。

Excel ファイルの定義

ユーザー独自の Excel ファイルの作成に役立つよう、複数のテンプレート Excel ファイルが SOLIDWORKS Electrical に付属しています。これは、SOLIDWORKS Electrical データの \XlsAutomation\Template フォルダーに保存されています。

自動化用の新しい Excel ファイルを作成するには、インポート/エクスポート(Import/Export) > Excel 自動化(Excel Automation) > 自動化用に新しい Excel ファイルを作成(Create new Excel file for automation) をクリックします。

Excel ファイルは、バージョン 97/2003 (.xls) から 2013 形式 (.xlsx) または xlsm ファイル形式 (マクロ付き Excel ファイル) で作成できます。ファイルで最初に表示されるシートのみが処理され、その他は無視されます。シート名に制約はありません。

Excel ファイルには、Excel 自動化の実行に使用する、特定の命令を含める必要があります。ヘッダーの前には、行をいくつでも含めることができます。最初の文字列が文字「#」で始まる最初の行が読み取られます。これがヘッダー行です。

このヘッダー行には、フィールド名 (#field) と変数名 (%variable%) という、2 種類の情報が必要です。

ファイルのヘッダーでは、複数の言語を管理できます。#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: 言語コードに置き換えます。メイン Electrical プロジェクト言語の場合は .usually.l1(L1)です。サポートされる言語コードは次のとおりです。
    • Electrical プロジェクト言語(L + 1 から 3): 「l1」、「l2」、「l3」
    • 標準言語コード: en、es、fr、it、ru、ko、ja、pt...、zh、zh-tw

たとえば、Electrical プロジェクトのメイン言語を使用したファイルの説明の場合は、次のようになります。#fil.tra_0.l1

ユーザー データの場合、構文は同じですが、言語を指定しません。#ttt.use_datann

ここで、
  • ttt: テーブル プレフィックス (fil、bun、loc、fun)に置き換えます。
  • use_data: ユーザー データです(変更不可)。
  • nn: 必要なデータのインデックスに置き換えます。ユーザー データの場合は 0 から 19 です。

ファイル ユーザー データの場合は次のようになります。#fil.use_data0

変数 すべてのデータを指定したら、パターンを挿入する場所(図面、ブック、ロケーション、ファンクション)を指定し、変数を指定してそれらの値に置き換わるようにする必要があります。これを行う方法は 2 つあります。

最初の方法では、ヘッダーで使用可能な最初の列にタグ「#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 に変更されます。

2 番目の方法は、すべてのパターンに同じ変数名を使用する場合に適切です。この方法では、ヘッダーに %VAR1% のように変数名を指定し、別の行に、挿入するパターンでのこの変数の値を指定します。例:

#mac_name %var1% %var2%
Test0 M5 M6
Test1 V3 V4
この場合、最初の行ではパターン Test0 が挿入され、変数 %var1% は M5 に、%var2% は M6 に変更されます。2 番目の行ではパターン Test1 が挿入され、変数 %var1% は V3 に、変数 %var2% は V4 に変更されます。
変数名では大文字と小文字が区別されません。
変数を含む数式の使用 図面の自動生成中に値を自動的に生成するには、数式を使用します。数式は、先頭に「{」、末尾に「}」という、2 つの文字「{ }」によって識別されます。この 2 文字の間の内容が数式であり、これはソフトウェアで使用される数式と同様です。数式内の変数は、Excel ファイルの変数と同じ方法で書式設定する必要があります (%VARIABLE%)。

たとえば、コンポーネントのマークを次の値で設定するとします。{"PP_" + %VARIABLE% + "RR" + %VARIABLE2%}

パターンを 2 回挿入すると、Excel 生成によって、初回の結果は PP_33RR12、2 回目の結果は PP_33RR13 になります。

Excel ファイルには次の 2 行があります。

%VARIABLE% を 33、%VARIABLE2% を 12 に設定

%VARIABLE% を 33、%VARIABLE2% を 13 に設定

ワイヤ断面の管理 パターンのワイヤのプロパティ(Wire properties)ダイアログ ボックスで、WIRE_STYLE フィールドに変数 %WIRE_STYLE% を入力します。Excel でオプションの列 %WIRE_STYLE% を追加して、ワイヤ サイズの値を入力できます。
ワイヤの自動接続 このオプションを使用するには、Electrical プロジェクト構成の全般(General)タブでマクロの自動接続(Auto-connect macros)パラメーターを選択する必要があります。

Excel 自動化を使用してスキームを作成する場合、既存のスキームと挿入するマクロの間でワイヤまたはシンボルを自動的に接続できます。

接続する要素は位置合わせする必要があります。ワイヤからシンボルへ、ワイヤからワイヤへ接続できます。

渡り配線の管理 1 つのマクロに始点の矢印が配置され、もう 1 つのマクロに終点の矢印が配置されている 2 つのマクロについて考えてみます。Excel 自動化を使用してこれらのマクロの両方を挿入する場合、2 つのマクロで始点と終点の矢印の間の接続を確立できます。

マクロで、始点シンボルまたは終点のシンボルを挿入します。これらにはグループ名として同じ変数 (例: %Group1%) を入力します。

Excel ファイルで、この変数を使用して列を追加します。この列に、グループ名を入力します。同じグループ名のすべてのシンボルが自動的に関連付けられます。

マクロ挿入時のシンボルの置換 マクロに挿入されたシンボルについて考えてみます。Excel 自動化からこのマクロを挿入するときに、このシンボルを置き換えることができます。

マクロを編集し、シンボルのプロパティを開きます。変数をExcel 自動化変数(Excel automation variable)フィールドに入力します(例: %SYMBOL_NAME%)。

Excel ファイルで、この変数 (この例では %SYMBOL_NAME%) を使用して列を追加します。この列に、使用するシンボルの名前を入力します。

#mac_name %SYMBOL_NAME%
Test0 TR-EL002
Test0 TR-EL035
この例では、Test0 マクロに別のシンボルが定義されている場合でも、マクロ Test0 を挿入します。1 回目は TR-EL002 シンボルを使用し、2 回目はシンボル TR-EL035 を使用します。

Excel アドインのインストール

Excel ファイルを作成するのに、アドインを使用できます。インストールするには、インポート/エクスポート(Import/Export) > Excel アドインのインストール(Install Excel add-in) をクリックします。

Excel アドインのインストール プログラムが自動的に起動します。自動的に起動しない場合は、EwExcelAddIn.vsto ファイルを選択します。

図面の自動生成

Excel ファイルを作成してから、SOLIDWORKS Electrical にインポートすると、図面を自動的に生成できます。インポート/エクスポート(Import/Export) > Excel 自動化(Excel Automation) をクリックします。

ファイル選択のダイアログ ボックスが開き、Excel ファイルを選択できます。ブック、フォルダー、図面は自動的に作成され、パターンはこれらの図面に挿入され、変数が値に置き換わります。

SOLIDWORKS Electrical は、図面が存在するかどうか、また図面に他の電気エンティティが含まれているかどうか確認しません。この場合、パターンは図面の既存のエンティティに関係なく挿入されます。

レポート ダイアログ ボックスが開いて、インポート結果が表示されます。

サンプル ファイル

  1. この例を使用するために、新しい Electrical プロジェクトを作成してください。
  2. メーカー カタログ Demo_Simple.part.tewzip をダウンロードして、メーカー部品管理(Manufacturer part management)で解凍します。
  3. パターン Demo_Simple_Macros.macro.tewzip をダウンロードし、パターン管理(Macro management)で解凍します。
  4. パターンを開いて変数を表示します。
  5. ファイル Demo_Simple.xlsx をダウンロードして開き、構造を表示します。
  6. Excel 自動化(Excel Automation)コマンドを実行し、Excel ファイルをインポートします。