专业化管理 > 支持可视化和发布 > WVS 发布器 > 高级发布配置 > 脚本覆盖机制
  
脚本覆盖机制
简介
WVS 脚本覆盖机制为针对特定类别的发布作业调整工作器运行时脚本配置提供了一种有用的技术。初始脚本配置由保存在 Creo View Adapter 安装文件夹中的脚本 (.rcp) 文件定义,例如 proe2pv.rcp。覆盖脚本也可通过覆盖初始脚本配置的 Windchill 服务器来配置。
本部分将介绍可用于配置脚本覆盖机制以下方面的特性:
Windchill 服务器上配置覆盖脚本文件
覆盖脚本文件的命名约定
覆盖脚本配置和命名的特性
覆盖脚本文件会添加至传输文件夹,该文件夹将被发送到使用配置公用文件系统文件夹处理发布作业的工作器。可使用下列任一机制来管理覆盖脚本文件:
可视化配置管理用户界面
发布规则
WVS 特性
使用“可视化配置管理”用户界面管理工作器覆盖脚本文件
您可以使用“可视化配置管理”用户界面在 Windchill 服务器计算机上管理覆盖脚本文件。如果您有权访问“产品”“项目”“存储库”“组织”“站点”上下文,则此机制会提供了以下功能:
允许您使用任一上下文中的“可视化配置管理”用户界面将脚本文件 (仅限 .rcp) 上载到 Windchill 服务器。
允许您根据脚本文件名中的形状类型和转换类型信息来关联覆盖脚本文件。
允许您根据发布规则关联覆盖脚本文件。
* 
可以为所有上下文类型配置脚本文件。如果在不同的上下文级别配置了脚本文件,则会使用最低级别的脚本文件,并且不会将其与在较高级别配置的脚本文件合并。例如,在组织上下文级别配置的脚本文件会在子上下文 (例如“产品”或“存储库”) 中遭到覆盖,以便满足特定的上下文需求。有关详细信息,请参阅上下文继承
“基于脚本文件名的高级配置”和“基于发布规则的高级配置”部分分别描述了基于脚本文件名和基于发布规则的高级配置,以在 Windchill 服务器计算机上使用“可视化配置管理”用户界面简化管理工作器覆盖脚本文件。
基于脚本文件名的高级配置
WVS 会基于上载到“可视化配置管理”用户界面的脚本文件名,根据文件名中提及的形状类型和转换类型评估并确定要发送至工作器的脚本文件。脚本文件的名称必须采用以下格式:
publish_overlayrecipefile_fortype_<shape type>_<conversion type>.rcp
其中:
形状类型指的是创作应用程序名称,例如 PROE、SOLIDWORKS 等。
转换类型指的是文件类型,例如 prt、view (对于装配) 等。下表提供了转换类型及其说明的示例:
转换类型
说明
prt
部件
drw
绘图
view
装配
viewsingle
定位装配 (PosAssy)
singlelevel
扩展定位装配 (XPosAssy)
lay
Creo 布局文件
dgm
Creo 布线图文件
frm
Creo 绘图格式文件
如果名称中未提供转换类型的值,则根据形状类型,将对所有文件类型 (“部件”、“绘图”等) 使用相同的脚本文件。比如,假定在“可视化配置管理”用户界面中已上载 publish_overlayrecipefile_fortype_PROE_prt.rcppublish_overlayrecipefile_fortype_PROE.rcp 文件。这种情况下,在面向 PROE 零件文件发布 publish_overlayrecipefile_fortype_PROE_prt.rcp 脚本文件时,会使用到它。publish_overlayrecipefile_fortype_PROE.rcp 文件是 PROE 形状类型的通用文件,用于 PROE 发布的所有其他文件类型,例如“装配”、“绘图”等。
* 
“可视化配置管理”用户界面中上载的覆盖脚本文件优先于将文件放置在 Windchill 服务器计算机目录中的方法。
提取覆盖脚本文件时,如果 WVS 在“可视化配置管理”用户界面中找不到具有基于形状和转换类型的相应名称的脚本文件,则 WVS 会采用 Windchill 服务器目录的使用方法来访问覆盖脚本文件。
基于发布规则的高级配置
您也可以使用发布规则定义来获取使用“可视化配置管理”用户界面的覆盖脚本文件。
使用发布规则定义提取覆盖脚本文件时:
如果“可视化配置管理”中存在发布规则中定义的脚本文件名,则作业会成功完成并使用覆盖脚本文件中的脚本选项。
此脚本文件优先于其他两种方法 (访问 Windchill 服务器目录以访问脚本文件,或根据脚本文件名称获取脚本文件)。
如果“可视化配置管理”中不存在发布规则中定义的脚本文件名,则作业会失败。
如果工作器不支持发布规则 (例如缩略图或 Office),或者未配置发布规则,则始终使用形状和转换类型从“可视化配置管理”用户界面中获取覆盖脚本文件。但是,如果此用户界面中不存在该文件,则使用 Windchill 服务器计算机目录的机制可用于访问覆盖脚本文件。
下面是有关 overlay-recipe-file 属性的示例:
<if condition="is_unreleased_part">
<publish on="checkin" overlay-recipe-file="test.rcp"/>
</if>
<condition name="is_unreleased_part">
<and>
<attribute name="epmdoc_lifeCycleName" value="Basic"/>
<not>
<attribute name="epmdoc_lifeCycleState" value="Released"/>
</not>
</and>
</condition>
有关 overlay-recipe-file 属性的详细信息,请参阅评估发布规则
定义将要创建的覆盖脚本文件的名称
本部分和以下各部分中的信息均基于 wvs.properties.xconf 文件中各个特性的相关信息。
在向工作器发送覆盖脚本时,WVS 需要已知要创建和发送的覆盖脚本文件的正确名称,以便接收工作器对其进行识别。这将基于图形类型,因为对于不同的适配器,适配器脚本文件中的默认名称各不相同。以下为示例。
<Property default="pview_overlay.rcp"
name="publish.overlayrecipefile.overlayfilename"/>

<Property default="pview_proe2pv_overlay.rcp"
name="publish.overlayrecipefile.overlayfilename.PROE"/>

<Property default="pview_ug2pv_overlay.rcp"
name=""publish.overlayrecipefile.overlayfilename.UG"/>

<Property default="pview_sw2pv_overlay.rcp"
name=""publish.overlayrecipefile.overlayfilename.SOLIDWORKS"/>

<Property default="pview_inventor2pv_overlay.rcp"
name="publish.overlayrecipefile.overlayfilename.INVENTOR"/>

<Property default="pview_catia5_pv_overlay.rcp"
name="publish.overlayrecipefile.overlayfilename.CATIAV5"/>
生成的覆盖脚本文件通过公用文件系统与工作 (_wvsjob.paj) 文件一起发送到工作器。
在大多数情况下,尽管可以为缺失的形状类型添加新条目,但不得对此类特性进行编辑,例如
<Property default="pview_ccdraft2pv_overlay.rcp"
name="publish.overlayrecipefile.overlayfilename.COCRDRAFT"/>
为覆盖脚本文件 WVS 创建中的 file 参数定义适配器标签
publish.overlayrecipefile.adaptername.<shapetype> 特性用于指定脚本文件构造中使用的适配器名称。以下为示例。为其他形状类型编辑或添加新特性。
<Property default="proe2pv"
name="publish.overlayrecipefile.adaptername.PROE"/>

<Property default="ug2pv"
name="publish.overlayrecipefile.adaptername.UG"/>

<Property default="sw2pv"
name="publish.overlayrecipefile.adaptername.SOLIDWORKS"/>

<Property default="inventor2pv"
name="publish.overlayrecipefile.adaptername.INVENTOR"/>

<Property default="catia5_pv"
name="publish.overlayrecipefile.adaptername.CATIAV5"/>
当 WVS 实时构建和覆盖脚本文件时,此类特性将为各个形状类型定义要添加的字符串。
在大多数情况下,尽管可以为缺失的形状类型添加新条目,但不得对此类特性进行编辑,例如
<Property default="ccdraft2pv"
name="publish.overlayrecipefile.adaptername.COCRDRAFT"/>
将生成使用 publish.overlayrecipefile.overlayfilename.COCRDRAFT 特性指定的名称而创建的覆盖脚本文件,其中包含第一行 file=ccdraft2pv-rcp
定义包含特定发布作业转换类型脚本设置的源覆盖脚本文件
publish.overlayrecipefile.fortype.<shapetype>.<convtype> 特性可指定用于特定转换类型的源覆盖脚本文件的文件名和位置。此特性基于形状类型和转换类型,其中特性名称中的转换类型是可选的。如果未指定任何 <convtype>,则所有转换类型将使用相同的覆盖脚本文件。
以下示例设置用于发布带有特定覆盖脚本文件 proe_view.rcp 的 Creo Parametric 装配 (即形状类型 "PROE" 和转换类型 "view"),以及其他所有使用类属覆盖脚本文件 proe.rcp 的 Creo Parametric 转换类型。
<Property default="D:\ptc\Windchill\proe_view.rcp"
name="publish.overlayrecipefile.fortype.PROE.view"/>

<Property default="D:\ptc\Windchill\proe.rcp"
name="publish.overlayrecipefile.fortype.PROE"/>

为其他形状类型和转换类型组合添加更多条目。必须创建将被引用的源覆盖脚本文件,并将其存储在 Windchill 服务器上。例如
<Property default="D:\ptc\Windchill\ccdraft_view.rcp"
name="publish.overlayrecipefile.fortype.COCRDRAFT.view"/>
其中 COCRDRAFT 为形状类型,view 为转换类型,D:\ptc\Windchill\ccdraft_view.rcp 为 WVS 后台方法服务器主机 (包含将在此情况下发送的脚本覆盖设置) 上的文件。
发布作业转换类型记录在知识库文章 CS53556 中。
* 
Windchill 的未来版本中将会弃用参考具有 WVS 特性的覆盖脚本文件,因为“可视化配置管理”用户界面提供了相同的配置。
定义自定义类或方法覆盖文件
publish.overlayrecipefile.filtermethod 特性可定义将被调用的类和筛选方法,以确定要使用的工作器覆盖脚本文件。筛选方法的特性值将在 classnamemethodname 表格中指定,并带有以下签名
public static <String methodname>(Persistable d <String workerType>
<String fileName>)
其中:
Persistable d 为正在发布的对象。
String workerType 为正在使用的完整工作器类型,
例如:PROE.prtPROE.view
String fileName 为正在转换的文件的名称。
返回值是一个包含覆盖脚本文件内容的字符串。如果返回了空值,则未使用任何覆盖脚本文件。
<Property default="" name="publish.overlayrecipefile.filtermethod"/>
出厂设置中未配置筛选器。
自定义方法中包含用于确定所返回覆盖脚本文件的业务逻辑。方法必须以字符串形式返回脚本文件内容。然后,WVS 将使用此内容创建覆盖脚本文件,并基于上述设置的组合进行命名:
publish.overlayrecipefile.overlayfilename.*
publish.overlayrecipefile.adaptername.*
* 
此特性将覆盖 publish.overlayrecipefile.fortype.* 设置。