その他のアプリケーションとの統合 > Windchill Workgroup Manager のマニュアル > ECAD > 高度な技術 > フックの使用 > フックの使用法
  
フックの使用法
このセクションでは、さまざまなフックと、データを渡すためにフックが使用する変数について説明します。フックの説明の後、そのフックに適切な関数を提供する Windows バッチファイルの例を挙げます。
事前更新用フック
Windchill Workgroup Manager には、事前更新用フックに類似した、関連するデフォルトの組み込み操作がありません。これは外部スクリプトを起動するためにのみ使用されます。事前定義用フックに関連付けられたスクリプトは、ECAD の更新またはインポート機能の操作を呼び出す前に起動されます。
このフックには、入力ファイルや出力ファイルは必要ありません。
事前更新用フックを使用する例としては、プライマリおよび派生の ECAD 設計データに影響を与える一部の ECAD ユーティリティまたはカスタマイズ実行ファイルの実行を自動化する場合などが挙げられます。
DESIGN_DIR
設計データのディレクトリを表します。
DESIGN_ITEM
この更新操作のために選択された設計アイテムを表します。
実行結果
戻り値
エラー
STDERR
* 
STDERR は HookLog.log.txt と呼ばれるログファイルに出力を書き込みます。デバッグ情報についてはこのファイルをご覧ください。
例:
@echo off
echo Starting Pre Update Hook execution
REM Print values of base hook parameters and environment variables
echo -------------------------------------------------------------------------------
echo DESIGN_DIR = %DESIGN_DIR%
echo DESIGN_ITEM = %DESIGN_ITEM%
echo NEUTRAL_FORMAT_FILE = %NEUTRAL_FORMAT_FILE%
echo DESIGN_NAME = %DESIGN_NAME%
echo BUILT_IN_EXECUTION = %BUILT_IN_EXECUTION%
echo HOOK_INPUT = %HOOK_INPUT%
echo HOOK_OUTPUT = %HOOK_OUTPUT%
echo -------------------------------------------------------------------------------
REM Select a case of the hook: use or skip result of Built-In action
if Not DEFINED BUILT_IN_EXECUTION GOTO ON_ERROR_EXIT
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:False GOTO SKIP_BuiltIn
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:True GOTO USE_BuiltIn
GOTO ON_ERROR_EXIT
:USE_BuiltIn
echo BUILT IN IS INCORRECT FLOW IN THIS PREUPDATE ACTION
GOTO ONEXIT
:SKIP_BuiltIn
echo SKIP BUILT IN: Doing Something
GOTO ONEXIT
:ONEXIT
echo Pre Update Hook finished successfully.
exit /B 0
:ON_ERROR_EXIT
echo Error occurred during Pre Update Hook execution.
exit /B 1
ビューデータ作成用フック
このフックに割り当てられたプログラムは、設計アイテムに基づいてビューデータファイルを作成する必要があります。ビューデータファイルのターゲットディレクトリと必要な名前は、HOOK_OUTPUT 環境変数によってフックに渡されます。ビューデータファイルの場所と名前は、HOOK_OUTPUT 環境変数によって指定されます。
入力
DESIGN_DIR
設計データのディレクトリを表します。
DESIGN_ITEM
この更新操作のために選択された設計アイテムを表します。
出力
HOOK_OUTPUT
作成される eda ファイルへのフルパスを表します (ターゲットディレクトリと必要なファイル名)。たとえば、…/[NeutralFormatFile]/[HookResult]/ <ビューデータ名 + 拡張子> となります。
実行結果
戻り値
エラー
STDERR
* 
STDERR は HookLog.log.txt と呼ばれるログファイルに出力を書き込みます。デバッグ情報についてはこのファイルをご覧ください。
例:
@echo off
echo Starting Generate Viewable Hook execution
REM Print values of base hook parameters and environment variables
echo -------------------------------------------------------------------------------
echo DESIGN_DIR = %DESIGN_DIR%
echo DESIGN_ITEM = %DESIGN_ITEM%
echo NEUTRAL_FORMAT_FILE = %NEUTRAL_FORMAT_FILE%
echo DESIGN_NAME = %DESIGN_NAME%
echo BUILT_IN_EXECUTION = %BUILT_IN_EXECUTION%
echo HOOK_INPUT = %HOOK_INPUT%
echo HOOK_OUTPUT = %HOOK_OUTPUT%
echo -------------------------------------------------------------------------------
echo HOOK_TEMP = %HOOK_TEMP%
echo HOOK_LOG = %HOOK_LOG%
echo -------------------------------------------------------------------------------
REM Select a case of the hook: use or skip result of Built-In action
if Not DEFINED BUILT_IN_EXECUTION GOTO ON_ERROR_EXIT
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:False GOTO SKIP_BuiltIn
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:True GOTO USE_BuiltIn
GOTO ON_ERROR_EXIT
:USE_BuiltIn
echo USE BUILT IN: Hook will update Built-In result
echo USE BUILT IN: Copy HOOK_INPUT to HOOK_OUTPUT
copy /Y %HOOK_INPUT% %HOOK_OUTPUT%
GOTO ONEXIT
:SKIP_BuiltIn
echo SKIP BUILT IN: Viewable file will be generated by hook only
REM Run some utility that generates viewable
set ADDFILENAME=GenerateViewable__SKIPBuiltInExecutionResult
echo %ADDFILENAME%>>%HOOK_OUTPUT%
GOTO ONEXIT
:ONEXIT
echo Generate Viewable Hook finished successfully.
exit /B 0
:ON_ERROR_EXIT
echo Error occurred during Generate Viewable Hook execution.
exit /B 1
BOM 作成用フック
このフックに割り当てられたプログラムは、ジェネリック BOM ファイルを作成または修正する必要があります。フックの結果は、HOOK_OUTPUT 環境変数によって指定されたディレクトリに保存されます。
ジェネリック BOM のターゲットジェネリック CSV ファイル名は一定で、"Design.csv" となります。
ジェネリック BOM の作成プロセスは、次のとおりです。
ジェネリック CSV ファイルを作成します。
ジェネリック CSV ファイルを Windchill Workgroup Manager の内部表現に変換します。
Windchill ドキュメントに添付します。
フックでは次の動作を行います。
ケース 1: 新しいジェネリック CSV ファイルを自動作成する。
ケース 2: 組み込みの実装によって作成されたジェネリック CSV ファイルを修正する。
入力
DESIGN_DIR
設計データのディレクトリを表します。
DESIGN_ITEM
この更新操作のために選択された設計アイテムを表します。
HOOK_INPUT
組み込みの実装によって作成されるジェネリック CSV ファイルへのフルパスを表します。このフルパスは次の値になります。
ケース 1) NULL
ケース 2) 組み込みによって作成された CSV ファイルへのフルパス
出力
HOOK_OUTPUT
ターゲットジェネリック CSV ファイルへのフルパスを表します。
(ターゲットディレクトリ + 必要なファイル名)
実行結果
戻り値
エラー
STDERR
* 
STDERR は HookLog.log.txt と呼ばれるログファイルに出力を書き込みます。デバッグ情報についてはこのファイルをご覧ください。
推奨される値
HOOK_INPUT
…/[ジェネリック_BOM]/[組み込みの結果]/Design.csv
HOOK_OUTPUT
…/[ジェネリック_BOM]/[HookResult]/Design.csv
例:
@echo off
echo Starting Generate Primary BOM Hook executing execution
REM Print values of base hook parameters and environment variables
echo -------------------------------------------------------------------------------
echo DESIGN_DIR = %DESIGN_DIR%
echo DESIGN_ITEM = %DESIGN_ITEM%
echo NEUTRAL_FORMAT_FILE = %NEUTRAL_FORMAT_FILE%
echo DESIGN_NAME = %DESIGN_NAME%
echo BUILT_IN_EXECUTION = %BUILT_IN_EXECUTION%
echo HOOK_INPUT = %HOOK_INPUT%
echo HOOK_OUTPUT = %HOOK_OUTPUT%
echo -------------------------------------------------------------------------------
echo HOOK_TEMP = %HOOK_TEMP%
echo HOOK_LOG = %HOOK_LOG%
echo -------------------------------------------------------------------------------
REM Select a case of the hook: use or skip result of built in action
if Not DEFINED BUILT_IN_EXECUTION GOTO ON_ERROR_EXIT
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:False GOTO SKIP_BuiltIn
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:True GOTO USE_BuiltIn
GOTO ON_ERROR_EXIT
:USE_BuiltIn
echo USE BUILT IN: Hook will update Built-In result
echo USE BUILT IN: Copy HOOK_INPUT to HOOK_OUTPUT
copy /Y %HOOK_INPUT% %HOOK_OUTPUT%
GOTO ONEXIT
:SKIP_BuiltIn
echo SKIP BUILT IN: Generic CSV file will be created by hook only
REM Run some utility that generates generic BOM
set ADDFILENAME=GeneratePrimaryBOM__SKIPBuiltInExecutionResult
echo %ADDFILENAME%>>%HOOK_OUTPUT%
GOTO ONEXIT
:ONEXIT
echo Generate Primary BOM Hook finished successfully.
exit /B 0
:ON_ERROR_EXIT
echo Error occurred during Generate Primary BOM Hook executing execution.
exit /B 1
バリエーション BOM 作成用フック
このフックに割り当てられたプログラムは、バリエーション BOM ファイルを作成または修正する必要があります。フックの結果は、HOOK_OUTPUT 環境変数によって指定されたディレクトリに保存されます。
バリエーション BOM 作成のプロセスは、次のとおりです。
バリエーション CSV ファイルを作成します。
Windchill Workgroup Manager はこれらの CSV ファイルを内部表現に変換します。
これらのファイルを Windchill ドキュメントに添付します。
フックでは次の動作を行います。
ケース 1) バリエーション CSV ファイルを作成する。
ケース 2) 組み込みの実装によって作成されたバリエーション CSV ファイルを修正する。
入力
DESIGN_DIR
設計データのディレクトリを表します。
DESIGN_ITEM
この更新操作のために選択された設計アイテムを表します。
HOOK_INPUT
組み込みの実装がバリエーション CSV ファイルを作成するディレクトリへのパスを表します。
ケース 1) NULL
ケース 2) 組み込みの実装がバリエーション CSV ファイルを配置したディレクトリへのフルパス。
出力
HOOK_OUTPUT
フックが次の動作を行う必要があるターゲットディレクトリのパスを表します。
ケース 1) CSV ファイルを作成する。
ケース 2) 修正した CSV ファイルを配置する。
実行結果
戻り値
エラー
STDERR
* 
STDERR は HookLog.log.txt と呼ばれるログファイルに出力を書き込みます。デバッグ情報についてはこのファイルをご覧ください。
推奨される値
各バリエーション CSV ファイルのファイル名は <バリエーション名>.CSV です。
HOOK_INPUT
…/[バリエーション_BOM]/[組み込みの結果]
HOOK_OUTPUT
…/[バリエーション_BOM]/[HookResult]
例:
@echo off
echo Starting Generate Variant BOM Hook execution
REM Print values of base hook parameters and environment variables
echo -------------------------------------------------------------------------------
echo DESIGN_DIR = %DESIGN_DIR%
echo DESIGN_ITEM = %DESIGN_ITEM%
echo NEUTRAL_FORMAT_FILE = %NEUTRAL_FORMAT_FILE%
echo DESIGN_NAME = %DESIGN_NAME%
echo BUILT_IN_EXECUTION = %BUILT_IN_EXECUTION%
echo HOOK_INPUT = %HOOK_INPUT%
echo HOOK_OUTPUT = %HOOK_OUTPUT%
echo -------------------------------------------------------------------------------
REM Select a case of the hook: use or skip result of Built-In action
if Not DEFINED BUILT_IN_EXECUTION GOTO ON_ERROR_EXIT
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:False GOTO SKIP_BuiltIn
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:True GOTO USE_BuiltIn
GOTO ON_ERROR_EXIT
:USE_BuiltIn
echo USE BUILT IN: Hook will update Built-In result
echo USE BUILT IN: Copy HOOK_INPUT to HOOK_OUTPUT
copy /Y %HOOK_INPUT% %HOOK_OUTPUT%
set ADDFILENAME=GenerateVariantBOM__USEBuiltInExecutionResult
echo %ADDFILENAME%>>%HOOK_OUTPUT%
GOTO ONEXIT
:SKIP_BuiltIn
echo SKIP BUILT IN: Variant CSV files will be created by hook only
REM Run some utility that generates Variants BOM
set ADDFILENAME=GenerateVariantBOM__SKIPBuiltInExecutionResult
echo %ADDFILENAME%>>%HOOK_OUTPUT%
GOTO ONEXIT
:ONEXIT
echo Generate Variant BOM Hook finished successfully.
exit /B 0
:ON_ERROR_EXIT
echo Error occurred during Generate Variant BOM Hook execution.
exit /B 1
設計ファイルリスト作成用フック
"設計ファイルリスト" は、設計データの一部と見なされるすべてのファイルのパスをリストしたものです。出力ファイルの各行は、各パスを表します。各パスは $DESIGN_DIR マクロで開始する場合があり、これは設計ディレクトリの場所に展開されます。
* 
設計ファイルは、プライマリ設計データを含む ZIP ファイルです。
フックでは次の動作を行います。
ケース 1) 新しい設計ファイルリストを作成する。
ケース 2) 組み込みの実装によって作成された設計ファイルリストを更新する。
"設計ファイルリスト" 出力ファイルはターゲットディレクトリに作成して、必要なファイル名を付ける必要があります。出力ファイルのフルパスは、HOOK_OUPUT 環境変数によって指定されます。
フックの出力ファイルにファイルがリストされていない場合、設計 ZIP の作成操作は失敗します。
DESIGN_DIR
設計データのディレクトリを表します。
DESIGN_ITEM
この更新操作のために選択された設計アイテムを表します。
HOOK_INPUT
組み込みの実装によって作成される設計ファイルリストを含むファイルへのフルパスを表します。このフルパスは次の値になります。
ケース 1) Null
ケース 2) 組み込みの実装によって作成されたリストへのパス
出力
HOOK_OUTPUT
設計ファイルリストを作成する必要があるターゲットファイルのフルパスを表します。
ケース 1) フックによってこのリストが作成される。
ケース 2) 組み込みの実装によって作成されたリストを、外部プログラムが修正する。
実行結果
戻り値
エラー
STDERR
* 
STDERR は HookLog.log.txt と呼ばれるログファイルに出力を書き込みます。デバッグ情報についてはこのファイルをご覧ください。
推奨される値
HOOK_INPUT
…/[DesignFileList]/DesignFileList_BuiltInResult.txt
HOOK_OUTPUT
…/[DesignFileList]/DesignFileList_HookResult.txt
例:
@echo off
echo Starting Get Design File List Hook execution
REM Print values of base hook parameters and environment variables
echo -------------------------------------------------------------------------------
echo DESIGN_DIR = %DESIGN_DIR%
echo DESIGN_ITEM = %DESIGN_ITEM%
echo NEUTRAL_FORMAT_FILE = %NEUTRAL_FORMAT_FILE%
echo DESIGN_NAME = %DESIGN_NAME%
echo BUILT_IN_EXECUTION = %BUILT_IN_EXECUTION%
echo HOOK_INPUT = %HOOK_INPUT%
echo HOOK_OUTPUT = %HOOK_OUTPUT%
echo -------------------------------------------------------------------------------
REM Select a case of the hook: use or skip result of Built-In action
if Not DEFINED BUILT_IN_EXECUTION GOTO ON_ERROR_EXIT
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:False GOTO SKIP_BuiltIn
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:True GOTO USE_BuiltIn
GOTO ON_ERROR_EXIT
:USE_BuiltIn
echo USE BUILT IN: Hook will update Built-In result
REM In addition to Built-In action, run some utility that modifies design files list
echo USE BUILT IN: Copy HOOK_INPUT to HOOK_OUTPUT
copy /Y %HOOK_INPUT% %HOOK_OUTPUT%
GOTO ONEXIT
:SKIP_BuiltIn
echo SKIP BUILT IN: Add your path to HOOK_OUTPUT
REM Run some utility that calculates design files list
echo %HOOK_OUTPUT%>%HOOK_OUTPUT%
GOTO ONEXIT
:ONEXIT
echo Get Design File List Hook finished successfully.
exit /B 0
:ON_ERROR_EXIT
echo Error occurred during Get Design File List Hook execution.
exit /B 1
添付資料リスト作成用フック
このフックに割り当てられたプログラムは、更新されたドキュメントに添付されるすべてのファイルのリストを作成する必要があります。添付資料リストの要件は、以下のとおりです。
各ファイルは個別の行にリストする必要があります。
各パスは $DESIGN_DIR マクロで開始する場合があり、これは設計ディレクトリの場所に展開されます。
フックでは次の動作を行います。
ケース 1) 新しい添付ファイルリストを作成する。
ケース 2) 組み込みの実装によって作成された添付ファイルリストを修正する。
ターゲットの添付資料ファイルリストは、HOOK_OUTPUT 環境変数によって指定される出力ファイルに書き込む必要があります。
フック定義で "skip_default_action" パラメータが false の場合、Windchill Workgroup Manager クライアントは添付資料ファイルリストを更新し、このリストを入力テキストファイルに書き込みます。
入力ファイルへのパスは、HOOK_INPUT 環境変数に保存されます。
入力
DESIGN_DIR
設計データのディレクトリを表します。
DESIGN_ITEM
この更新操作のために選択された設計アイテムを表します。
HOOK_INPUT
組み込みの実装が "添付資料ファイルリスト" を書き込む入力ファイルへのフルパスを表します。このフルパスは次の値になります。
ケース 1) NULL
ケース 2) 組み込みの実装によって作成された入力ファイルへのパス
出力
HOOK_OUTPUT
フックが次のリストを書き込む出力ファイルへのフルパスを表します。
ケース 1) 作成されたリスト
ケース 2) 修正された "添付資料ファイルリスト"
実行結果
戻り値
エラー
STDERR
* 
STDERR は HookLog.log.txt と呼ばれるログファイルに出力を書き込みます。デバッグ情報についてはこのファイルをご覧ください。
推奨される値
HOOK_INPUT
…/[AttachmentFileList]/AttachmentFileList_BuiltInResult.txt
HOOK_OUTPUT
…/[AttachmentFileList]/AttachmentFileList_HookResult.txt
@echo off
echo Starting Get Attachment File List Hook execution
REM Print values of base hook parameters and environment variables
echo -------------------------------------------------------------------------------
echo DESIGN_DIR = %DESIGN_DIR%
echo DESIGN_ITEM = %DESIGN_ITEM%
echo NEUTRAL_FORMAT_FILE = %NEUTRAL_FORMAT_FILE%
echo DESIGN_NAME = %DESIGN_NAME%
echo BUILT_IN_EXECUTION = %BUILT_IN_EXECUTION%
echo HOOK_INPUT = %HOOK_INPUT%
echo HOOK_OUTPUT = %HOOK_OUTPUT%
echo -------------------------------------------------------------------------------
REM Select a case of the hook: use or skip result of Built-In action
if Not DEFINED BUILT_IN_EXECUTION GOTO ON_ERROR_EXIT
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:False GOTO SKIP_BuiltIn
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:True GOTO USE_BuiltIn
GOTO ON_ERROR_EXIT
:USE_BuiltIn
echo USE BUILT IN: Hook will update Built-In result
REM In addition to Built-In action, run some utility that modifies attachment file list
echo USE BUILT IN: Copy HOOK_INPUT to HOOK_OUTPUT
copy /Y %HOOK_INPUT% %HOOK_OUTPUT%
echo SECONDARY,INFORMATION,%HOOK_INPUT%>>%HOOK_OUTPUT%
echo SECONDARY,INFORMATION,%HOOK_OUTPUT%>>%HOOK_OUTPUT%
GOTO ONEXIT
:SKIP_BuiltIn
echo SKIP BUILT IN: Created Attachment File List by hook only
REM Run some utility that calculates attachment file list
echo SECONDARY,INFORMATION,%HOOK_OUTPUT%>>%HOOK_OUTPUT%
GOTO ONEXIT
:ONEXIT
echo Get Attachment File List Hook finished successfully.
exit /B 0
:ON_ERROR_EXIT
echo Error occurred during Get Attachment File List Hook execution.
exit /B 1
設計からの属性読み込み用フック
このフックに割り当てられたプログラムは、「ワークスペースに保存」操作を実行した場合に更新済み EPM ドキュメントにパブリッシングされる属性の、名前と値のペアを作成する必要があります。名前と値のペアは、 HOOK_OUTPUT 環境変数によって指定されるファイルに書き込まれる必要があります。これはフック固有の機能です。Windchill Workgroup Manager for ECAD には組み込みの実装がありません。
名前と値の各ペアは、個別の行にリストする必要があります。このような行を解析すると、最初の = 文字の左側にある部分文字列は属性名、右側にある部分文字列は値と解釈されます。名前および値の前後に空白がある場合、その空白は削除されます。複数の行で構成される文字列の値はサポートされません。
入力
DESIGN_DIR
設計データのディレクトリを表します。
DESIGN_ITEM
この更新操作のために選択された設計アイテムを表します。
HOOK_INPUT
現在 EPMDocument の一部である IBA とその値を含む、入力ファイルへのフルパスを表します。このフルパスは次の値になります。
ケース 1) NULL
ケース 2) フックの準備操作によって作成された入力ファイルへのパス
出力
HOOK_OUTPUT
フックが "設計属性" を作成する出力ファイルへのフルパスを表します。
実行結果
戻り値
エラー
STDERR
* 
STDERR は HookLog.log.txt と呼ばれるログファイルに出力を書き込みます。デバッグ情報についてはこのファイルをご覧ください。
推奨される値
HOOK_INPUT
…/[GetDesignAttributes]/GetDesignAttributes_BuiltInResult.txt
HOOK_OUTPUT
…/[GetDesignAttributes]/GetDesignAttributes_HookResult.txt
例:
@echo off
echo Starting Get Design Attributes Value Hook execution
REM Print values of base hook parameters and environment variables
echo -------------------------------------------------------------------------------
echo DESIGN_DIR = %DESIGN_DIR%
echo DESIGN_ITEM = %DESIGN_ITEM%
echo NEUTRAL_FORMAT_FILE = %NEUTRAL_FORMAT_FILE%
echo DESIGN_NAME = %DESIGN_NAME%
echo BUILT_IN_EXECUTION = %BUILT_IN_EXECUTION%
echo HOOK_INPUT = %HOOK_INPUT%
echo HOOK_OUTPUT = %HOOK_OUTPUT%
echo -------------------------------------------------------------------------------
REM Select a case of the hook: use or skip result of Built-In action
if Not DEFINED BUILT_IN_EXECUTION GOTO ON_ERROR_EXIT
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:False GOTO SKIP_BuiltIn
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:True GOTO USE_BuiltIn
GOTO ON_ERROR_EXIT
:USE_BuiltIn
echo USE BUILT IN: Hook will update Built-In result
REM In addition to Built-In action, run some utility that retrieves additional attributes from design data
echo USE BUILT IN: Copy HOOK_INPUT to HOOK_OUTPUT
copy /Y %HOOK_INPUT% %HOOK_OUTPUT%
echo ECAD_DEMO_COLOR=GetDesignAttributes__USEBuiltInExecutionResult>>%HOOK_OUTPUT%
GOTO ONEXIT
:SKIP_BuiltIn
echo SKIP BUILT IN: Added attributes by hook only
REM Run some utility that retrieves attributes from design data
echo ECAD_DESIGN_ITEM=%DESIGN_ITEM%>%HOOK_OUTPUT%
echo ECAD_NEUTRAL_FORMAT_FILE=%NEUTRAL_FORMAT_FILE%>>%HOOK_OUTPUT%
echo ECAD_DEMO_COLOR=GetDesignAttributes__SKIPBuiltInExecutionResult>>%HOOK_OUTPUT%
GOTO ONEXIT
:ONEXIT
echo Get Design Attributes Value Hook finished successfully.
exit /B 0
:ON_ERROR_EXIT
echo Error occurred during Get Design Attributes Value Hook execution.
exit /B 1
設計ディレクトリ取得用フック
ツールによっては、回路図ディレクトリ内のサブディレクトリに基板関連ファイルを保存するものがあります。このようなツールでは、通常、この基板関連サブディレクトリの名前を検索できます。
このフックに割り当てられたプログラムは、次の動作を行う必要があります。
ECAD プロジェクトディレクトリを受け取る。
ECAD 回路図ディレクトリ内の有効な基板設計サブディレクトリを返す。
前述のタイプのツールではない場合、フックは受け取ったディレクトリを返す。
「設計ディレクトリを取得」が NULL を返す場合、プロジェクトディレクトリは無効であると見なされます。
DESIGN_DIR
設計データのディレクトリを表します。
HOOK_OUTPUT
出力ファイルへのパスを表します。フックはこのファイルに、有効な基板設計サブディレクトリを書き込みます。
実行結果
戻り値
エラー
STDERR
* 
STDERR は HookLog.log.txt と呼ばれるログファイルに出力を書き込みます。デバッグ情報についてはこのファイルをご覧ください。
有効な基板設計サブディレクトリへのパスは、フックによって HOOK_OUTPUT 環境変数に書き込まれます。
推奨される値
HOOK_OUTPUT
…/OS_Temp/[ECAD_UWGM]/[DesignDir]/DesignDir_HookResult.txt
例:
@echo off
echo Starting Get Design Dir Hook execution
REM Print values of base hook parameters and environment variables
echo -------------------------------------------------------------------------------
echo DESIGN_DIR = %DESIGN_DIR%
echo DESIGN_ITEM = %DESIGN_ITEM%
echo NEUTRAL_FORMAT_FILE = %NEUTRAL_FORMAT_FILE%
echo DESIGN_NAME = %DESIGN_NAME%
echo BUILT_IN_EXECUTION = %BUILT_IN_EXECUTION%
echo HOOK_INPUT = %HOOK_INPUT%
echo HOOK_OUTPUT = %HOOK_OUTPUT%
echo -------------------------------------------------------------------------------
echo HOOK_TEMP = %HOOK_TEMP%
echo HOOK_LOG = %HOOK_LOG%
echo -------------------------------------------------------------------------------

REM Select a case of the hook: use or skip result of Built-In action
if Not DEFINED BUILT_IN_EXECUTION GOTO ON_ERROR_EXIT
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:False GOTO SKIP_BuiltIn
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:True GOTO USE_BuiltIn
GOTO ON_ERROR_EXIT
:USE_BuiltIn
echo USE BUILT IN: Hook will update Built-In result
REM In addition to Built-In action, run some utility that calculates design dir
echo USE BUILT IN: Copy HOOK_INPUT to HOOK_OUTPUT
copy /Y %HOOK_INPUT% %HOOK_OUTPUT%
GOTO ONEXIT
:SKIP_BuiltIn
echo SKIP BUILT IN: Get design dir by hook only
REM Run some utility that calculates design dir
echo %DESIGN_DIR%>%HOOK_OUTPUT%
GOTO ONEXIT
:ONEXIT
echo Get Design Dir Hook finished successfully.
exit /B 0
:ON_ERROR_EXIT
echo Error occurred during Get Design Dir Hook execution.
exit /B 1
設計アイテムリスト取得用フック
設計アイテムリストは、設計アイテムと見なされるファイルのリストです。これらのファイルは、所定の有効なディレクトリに配置されています。このリストはこれらのファイル名の区切りリストです。
フックでは次のことが可能です。
ケース 1) 新しい設計アイテムリストを作成する。
ケース 2) 組み込みの実装によって作成された設計アイテムリストを修正する。
組み込みの実装は、専用の拡張子を持つすべてのファイルを含む単純なリストとして、設計アイテムリストを所定のディレクトリに作成します。ケース 2 の場合、フックは入力ファイルから有効な設計ディレクトリを受け取り、組み込みの実装によって作成された設計アイテムリストを修正します。修正されたリストは、出力ファイルに書き込まれます。
入力リストを含むファイルへのフルパスは、HOOK_INPUT 環境変数によって指定されます。
出力リストを含むファイルへのフルパスは、HOOK_OUTPUT 環境変数によって指定されます。
DESIGN_DIR
設計データのディレクトリを表します。
HOOK_INPUT
組み込みの実装によって作成される設計アイテムリストを含む入力ファイルへのフルパスを表します。このフルパスは次の値になります。
ケース 1) NULL
ケース 2) 組み込みの実装によって作成された入力ファイルへのパス
出力
HOOK_OUTPUT
フックによって作成または修正された設計アイテムリストを含む出力ファイルへのフルパスを表します。
ケース 1) フックによって作成された設計アイテムリストを含む出力ファイルへのパス
ケース 2) フックによって修正された設計アイテムリストを含む出力ファイルへのパス
実行結果
戻り値
エラー
STDERR
* 
STDERR は HookLog.log.txt と呼ばれるログファイルに出力を書き込みます。デバッグ情報についてはこのファイルをご覧ください。
推奨される値
HOOK_INPUT
…/[DesignItemList]/DesignItemList_BuiltInResult.txt
HOOK_OUTPUT
…/[DesignItemList]/DesignItemList_HookResult_List.txt
例:
@echo off
echo Starting Get Design Item List Hook execution
REM Print values of base hook parameters and environment variables
echo -------------------------------------------------------------------------------
echo DESIGN_DIR = %DESIGN_DIR%
echo DESIGN_ITEM = %DESIGN_ITEM%
echo NEUTRAL_FORMAT_FILE = %NEUTRAL_FORMAT_FILE%
echo DESIGN_NAME = %DESIGN_NAME%
echo BUILT_IN_EXECUTION = %BUILT_IN_EXECUTION%
echo HOOK_INPUT = %HOOK_INPUT%
echo HOOK_OUTPUT = %HOOK_OUTPUT%
echo -------------------------------------------------------------------------------
echo HOOK_TEMP = %HOOK_TEMP%
echo HOOK_LOG = %HOOK_LOG%
echo -------------------------------------------------------------------------------

REM Select a case of the hook: use or skip result of Built-In action
if Not DEFINED BUILT_IN_EXECUTION GOTO ON_ERROR_EXIT
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:False GOTO SKIP_BuiltIn
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:True GOTO USE_BuiltIn
GOTO ON_ERROR_EXIT
:USE_BuiltIn
echo USE BUILT IN: Hook will update Built-In result
REM In addition to Built-In action, run some utility that modifies design item list
echo USE BUILT IN: Copy HOOK_INPUT to HOOK_OUTPUT
copy /Y %HOOK_INPUT% %HOOK_OUTPUT%
echo "Design Item 1, which was added by hook">>%HOOK_OUTPUT%
echo "Design Item 2, which was added by hook">>%HOOK_OUTPUT%
GOTO ONEXIT
:SKIP_BuiltIn
echo SKIP BUILT IN: Design Item List will be created by hook only
echo "Design Item 1, which was added by hook">>%HOOK_OUTPUT%
echo "Design Item 2, which was added by hook">>%HOOK_OUTPUT%
GOTO ONEXIT
:ONEXIT
echo Get Design Item List Hook finished successfully.
exit /B 0
:ON_ERROR_EXIT
echo Error occurred during Get Design Item List Hook execution.
exit /B 1
中間フォーマットアイテムリスト取得用フック
中間フォーマットアイテムリストは、所定の有効な設計ディレクトリに配置されている中間フォーマットファイルのリストです。このリストは、中間フォーマットファイル名の区切りリストとして作成されます。ECAD ツールによっては、Windchill によってサポートされていない中間フォーマットファイルを使用するものもあります。このようなツールはすべて、中間フォーマット依存ツールとして示されます。このようなツールの場合、設計ディレクトリには中間フォーマットファイルが存在するはずです。存在しない場合、設計データは無効と見なされます。
このフックに割り当てられたプログラムは、所定の有効なディレクトリに "中間フォーマットアイテムリスト" を返す必要があります。
フックでは次のことが可能です。
ケース 1) 新しい "中間フォーマットアイテムリスト" を作成する。
ケース 2) 組み込みの実装によって作成された "中間フォーマットアイテムリスト" を修正する。
組み込みの実装は、専用の拡張子を持つすべてのファイルを含む単純なリストとして、"中間フォーマットアイテムリスト" を所定のディレクトリに作成します (中間ファイル)。
フックは有効な設計ディレクトリを受け取り、入力ファイルからリストを作成します。フックによって更新されたリストは、出力ファイルに書き込まれます。
この入力ファイルへのパスは、HOOK_INPUT 環境変数によって指定されます。
この出力リストへのパスは、HOOK_OUTPUT 環境変数によって指定されます。
DESIGN_DIR
設計データのディレクトリを表します。
HOOK_INPUT
組み込みの実装によって書き込まれた入力ファイルへのフルパスを示します。
ケース 1) NULL
ケース 2) 組み込みの実装によって作成されたリストを含む入力ファイルへのフルパスを示します。
出力
HOOK_OUTPUT
出力ファイルへのフルパスを表します。このファイルには、フックによって作成または修正された、中間フォーマットアイテムリストが含まれます。
ケース 1) フックによって作成される。
ケース 2) フックによって修正される。
実行結果
戻り値
エラー
STDERR
* 
STDERR は HookLog.log.txt と呼ばれるログファイルに出力を書き込みます。デバッグ情報についてはこのファイルをご覧ください。
推奨される値
HOOK_INPUT
…/[NeutralFormatItemList] /NeutralFormatItemList_BuiltInReslut.txt
HOOK_OUTPUT
…/[NeutralFormatItemList] /NeutralFormatItemList_HookResult.txt
@echo off
echo Starting Get Neutral Formal Item List Hook execution
REM Print values of base hook parameters and environment variables
echo -------------------------------------------------------------------------------
echo DESIGN_DIR = %DESIGN_DIR%
echo DESIGN_ITEM = %DESIGN_ITEM%
echo NEUTRAL_FORMAT_FILE = %NEUTRAL_FORMAT_FILE%
echo DESIGN_NAME = %DESIGN_NAME%
echo BUILT_IN_EXECUTION = %BUILT_IN_EXECUTION%
echo HOOK_INPUT = %HOOK_INPUT%
echo HOOK_OUTPUT = %HOOK_OUTPUT%
echo -------------------------------------------------------------------------------
echo HOOK_TEMP = %HOOK_TEMP%
echo HOOK_LOG = %HOOK_LOG%
echo -------------------------------------------------------------------------------

REM Select a case of the hook: use or skip result of Built-In action
if Not DEFINED BUILT_IN_EXECUTION GOTO ON_ERROR_EXIT
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:False GOTO SKIP_BuiltIn
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:True GOTO USE_BuiltIn
GOTO ON_ERROR_EXIT
:USE_BuiltIn
echo USE BUILT IN: Hook will update Built-In result
REM In addition to Built-In action, run some utility that modifies neutral formal item list
echo USE BUILT IN: Copy HOOK_INPUT to HOOK_OUTPUT
copy /Y %HOOK_INPUT% %HOOK_OUTPUT%
echo "Neutral Format Item 1, which was added by hook">>%HOOK_OUTPUT%
echo "Neutral Format Item 2, which was added by hook">>%HOOK_OUTPUT%
GOTO ONEXIT
:SKIP_BuiltIn
echo SKIP BUILT IN: Add your path to HOOK_OUTPUT
REM Run some utility that calculates neutral formal item list
echo "Neutral Format Item 1, which was added by hook">>%HOOK_OUTPUT%
echo "Neutral Format Item 2, which was added by hook">>%HOOK_OUTPUT%
GOTO ONEXIT
:ONEXIT
echo Get Neutral Formal Item List Hook finished successfully.
exit /B 0
:ON_ERROR_EXIT
echo Error occurred during Get Neutral Formal Item List Hook execution.
exit /B 1
設計検証用フック
「設計を検証」操作により、所定の設計ディレクトリが有効であるかどうかを確認します。検証は、組み込みの実装または外部プログラムによって実行することができます。関連設計アイテムの中間フォーマットファイルが設計ディレクトリに含まれている場合、中間フォーマット依存ツールを確認する必要があります。
フックでは次のことが可能です。
ケース 1) 所定の設計データを自動検証する (組み込みの実装の代わりに実行する)。
ケース 2) 組み込みの実装による検証で "設計は有効" が返された場合、設計データに対してさらに高度な検証を継続する。
DESIGN_DIR
設計データのディレクトリを表します。
HOOK_INPUT
組み込みの実装が検証結果を書き込む入力ファイルへのフルパスを表します。この環境変数は次の値になります。
ケース 1) NULL
ケース 2) 組み込みの実装による検証結果を含む入力ファイルへのパス
HOOK_OUTPUT
フックが設計検証の結果を書き込む出力ファイルへのパスを表します。
実行結果
戻り値
エラー
STDERR
* 
STDERR は HookLog.log.txt と呼ばれるログファイルに出力を書き込みます。デバッグ情報についてはこのファイルをご覧ください。
推奨される値
HOOK_INPUT
…/[OS_Temp]/…/[ValidateDesign]/ValidateDesign_BuiltInResult.txt
HOOK_OUTPUT
…/[OS_Temp]/…/[ValidateDesign]/ValidateDesign_HookResult.txt
例:
@echo off
echo Starting Validate Design hook Hook execution
REM Print values of base hook parameters and environment variables
echo -------------------------------------------------------------------------------
echo DESIGN_DIR = %DESIGN_DIR%
echo DESIGN_ITEM = %DESIGN_ITEM%
echo NEUTRAL_FORMAT_FILE = %NEUTRAL_FORMAT_FILE%
echo DESIGN_NAME = %DESIGN_NAME%
echo BUILT_IN_EXECUTION = %BUILT_IN_EXECUTION%
echo HOOK_INPUT = %HOOK_INPUT%
echo HOOK_OUTPUT = %HOOK_OUTPUT%
echo -------------------------------------------------------------------------------
echo HOOK_TEMP = %HOOK_TEMP%
echo HOOK_LOG = %HOOK_LOG%
echo -------------------------------------------------------------------------------

REM Select a case of the hook: use or skip result of Built-In action
if Not DEFINED BUILT_IN_EXECUTION GOTO ON_ERROR_EXIT
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:False GOTO SKIP_BuiltIn
if %BUILT_IN_EXECUTION%==BuiltInExecutionResult:True GOTO USE_BuiltIn
GOTO ON_ERROR_EXIT
:USE_BuiltIn
echo USE BUILT IN: Hook will update Built-In result
copy /Y %HOOK_INPUT% %HOOK_OUTPUT%
GOTO ONEXIT
:SKIP_BuiltIn
echo Validate by hook only
REM Execute some utility that checks the validity of the design
REM set ADDFILENAME="ValidateDesign:False"
set ADDFILENAME=ValidateDesign:True
echo %ADDFILENAME%>%HOOK_OUTPUT%
echo Hook reslt is : %ADDFILENAME%
GOTO ONEXIT
:ONEXIT
echo Validate Design hook Hook finished successfully.
exit /B 0
:ON_ERROR_EXIT
echo Error occurred duriung Validate Design hook Hook execution.
exit /B 1