與其他應用程式整合 > 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 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 檔案的完整路徑。(目標目錄與所需檔案名稱。) 例如 …/[可檢視項]/[掛接結果]/<可檢視項名稱 + 副檔名>
執行結果
按傳回值
錯誤
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 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) 空值
狀況 2) 透過內建方式建立之 CSV 檔案的完整路徑。
輸出
HOOK_OUTPUT
代表目標泛用 CSV 檔案的完整路徑。
(目標目錄 + 所需檔案名稱。)
執行結果
按傳回值
錯誤
STDERR
* 
STDERR 會將其輸出寫入至名為 HookLog.log.txt 的記錄檔。如需偵錯資訊,請查閱此處。
建議值
HOOK_INPUT
…/[泛用 BOM]/[內建結果]/Design.csv
HOOK_OUTPUT
…/[泛用 BOM]/[掛接結果]/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 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) 等於空值
狀況 2) 內建實行放置其變體 CSV 檔案之所在目錄的完整路徑。
輸出
HOOK_OUTPUT
代表掛接必須執行以下動作時所在之目標目錄的路徑:
狀況 1) 建立的 CSV 檔案
狀況 2) 放置修改的 CSV 檔案。
執行結果
按傳回值
錯誤
STDERR
* 
STDERR 會將其輸出寫入至名為 HookLog.log.txt 的記錄檔。如需偵錯資訊,請查閱此處。
建議值
每一個變體 CSV 檔案的檔案名稱都是 variant_name.CSV。
HOOK_INPUT
…/[變體 BOM]/[內建結果]
HOOK_OUTPUT
…/[變體 BOM]/[掛接結果]
範例:
@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 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 巨集開頭,其將展開至設計目錄位置。
* 
設計檔案是包含主要設計資料的壓縮檔。
掛接可能:
狀況 1) 建立新設計檔案清單,或
狀況 2) 更新由內建實行所建立的設計檔案清單。
「設計檔案清單」輸出檔案必須在目標目錄中建立,並具有所需的檔案名稱。輸出檔案的完整路徑由 HOOK_OUPUT 環境變數指定。
如果沒有在掛接輸出檔案中列出檔案,「建立設計 ZIP 檔」動作將會失敗。
DESIGN_DIR
代表設計資料的目錄。
DESIGN_ITEM
代表為此更新操作選取的設計項目
HOOK_INPUT
代表檔案的完整路徑,該檔案中包含由內建實行所建立的設計檔案清單,且等於:
狀況 1) 空值
狀況 2) 由內建實行所建立之清單的路徑。
輸出
HOOK_OUTPUT
代表必須建立「設計檔案」清單所在之目標檔案的完整路徑。
狀況 1) 掛接會建立此清單。
狀況 2) 外部程式會修改由內建實行所建立的清單
執行結果
按傳回值
錯誤
STDERR
* 
STDERR 會將其輸出寫入至名為 HookLog.log.txt 的記錄檔。如需偵錯資訊,請查閱此處。
建議值
HOOK_INPUT
…/[設計檔案清單]/DesignFileList_BuiltInResult.txt
HOOK_OUTPUT
…/[設計檔案清單]/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 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) 空值
狀況 2) 由內建實行所建立之輸入檔案的路徑。
輸出
HOOK_OUTPUT
代表輸出檔案的完整路徑,掛接會在此寫入:
狀況 1) 建立的清單。
狀況 2) 修改的「附件檔案清單」。
執行結果
按傳回值
錯誤
STDERR
* 
STDERR 會將其輸出寫入至名為 HookLog.log.txt 的記錄檔。如需偵錯資訊,請查閱此處。
建議值
HOOK_INPUT
…/[附件檔案清單]/AttachmentFileList_BuiltInResult.txt
HOOK_OUTPUT
…/[附件檔案清單]/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 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
代表輸入檔案的完整路徑,其中包含 IBA 及其目前為 EPMDocument 一部份的值,且等於
狀況 1) 空值
狀況 2) 由準備掛接動作所建立之輸入檔案的路徑。
輸出
HOOK_OUTPUT
代表輸出檔案的完整路徑,掛接會在此建立「設計屬性」
執行結果
按傳回值
錯誤
STDERR
* 
STDERR 會將其輸出寫入至名為 HookLog.log.txt 的記錄檔。如需偵錯資訊,請查閱此處。
建議值
HOOK_INPUT
…/[取得設計屬性]/GetDesignAttributes_BuiltInResult.txt
HOOK_OUTPUT
…/[取得設計屬性]/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 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 示意圖目錄內的有效電路板設計子目錄。
對於其他工具,掛接會傳回接收到的目錄。
如果「取得設計目錄」傳回空值,則會將專案目錄視為無效。
DESIGN_DIR
代表設計資料的目錄。
HOOK_OUTPUT
代表輸出檔案的路徑。掛接會在此檔案中寫入有效電路板設計子目錄。
執行結果
按傳回值
錯誤
STDERR
* 
STDERR 會將其輸出寫入至名為 HookLog.log.txt 的記錄檔。如需偵錯資訊,請查閱此處。
掛接會將有效電路板設計子目錄的路徑寫入至 HOOK_OUTPUT 環境變數。
建議值
HOOK_OUTPUT
…/OS_Temp/[ECAD_UWGM]/[設計目錄]/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 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) 空值
狀況 2) 由內建實行所建立之輸入檔案的路徑。
輸出
HOOK_OUTPUT
代表包含由掛接所建立或修改的「設計項目清單」之輸出檔案的完整路徑。
狀況 1) 包含由掛接所建立的「設計項目清單」之輸出檔案的路徑。
狀況 2) 包含由掛接所修改的「設計項目清單」之輸出檔案的路徑。
執行結果
按傳回值
錯誤
STDERR
* 
STDERR 會將其輸出寫入至名為 HookLog.log.txt 的記錄檔。如需偵錯資訊,請查閱此處。
建議值
HOOK_INPUT
…/[設計項目清單]/DesignItemList_BuiltInResult.txt
HOOK_OUTPUT
…/[設計項目清單]/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 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) 空值
狀況 2) 包含由內建實行所建立的清單之輸入檔案的完整路徑。
輸出
HOOK_OUTPUT
代表輸出檔案的完整路徑。此檔案包含由掛接建立或修改的「中立格式項目清單」。
狀況 1) 由掛接建立
狀況 2) 由掛接修改
執行結果
按傳回值
錯誤
STDERR
* 
STDERR 會將其輸出寫入至名為 HookLog.log.txt 的記錄檔。如需偵錯資訊,請查閱此處。
建議值
HOOK_INPUT
…/[中立格式項目清單] /NeutralFormatItemList_BuiltInReslut.txt
HOOK_OUTPUT
…/[中立格式項目清單] /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 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) 空值
狀況 2) 輸入檔案的路徑,其中包含由內建實行決定的驗證結果。
HOOK_OUTPUT
代表輸出檔案的完整路徑,掛接會在其中寫入設計驗證的結果。
執行結果
按傳回值
錯誤
STDERR
* 
STDERR 會將其輸出寫入至名為 HookLog.log.txt 的記錄檔。如需偵錯資訊,請查閱此處。
建議值
HOOK_INPUT
…/[OS_Temp]/…/[驗證設計]/ValidateDesign_BuiltInResult.txt
HOOK_OUTPUT
…/[OS_Temp]/…/[驗證設計]/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 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