与其他应用程序集成 > 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 文件的完整路径。(目标目录和所需文件名。)例如,…/[Viewable]/[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 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
…/[GenericBOM]/[BuiltInResult]/Design.csv
HOOK_OUTPUT
…/[GenericBOM]/[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 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 文件的文件名为 variant_name.CSV。
HOOK_INPUT
…/[VariantBOM]/[BuiltInResult]
HOOK_OUTPUT
…/[VariantBOM]/[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 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 环境变量指定。
如果挂接输出文件中未列出任何文件,则“创建设计压缩”操作将失败。
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 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" 参数为假,则 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 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) 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 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 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 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 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 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