Recipe 覆蓋機制
簡介
WVS Recipe 覆蓋機制提供一種針對特定類別的發佈工作調整 Worker 的執行時期 recipe 組態的有用技巧。初始 recipe 組態由位於 Creo View Adapter 之設定資料夾中的 recipe (.rcp) 檔案所定義 (例如 proe2pv.rcp)。覆蓋 recipe 也可以從取代初始 recipe 組態的 Windchill 伺服器中配置。
本部份包含可用於配置 Recipe 覆蓋機制下列方面的內容:
Windchill 伺服器上配置覆蓋檔案
覆蓋 recipe 檔案的命名慣例
覆蓋 recipe 組態與命名的內容
覆蓋 recipe 檔案會新增至傳輸資料夾,傳輸資料夾會傳送給使用所配置通用檔案系統資料夾處理發佈工作的 Worker。您可使用下列任一機制來管理覆蓋 recipe 檔案:
視覺化組態管理 UI
發佈規則
WVS 內容
使用視覺化組態管理 UI 管理 Worker 覆蓋 recipe 檔案
您可以使用「視覺化組態管理」UI 來在 Windchill 伺服器電腦上管理覆蓋 recipe 檔案。如果您擁有「產品」「專案」「物件庫」「組織」「網站」前後關聯的存取權,則此機制可提供下列功能:
可讓您從任何前後關聯使用「視覺化組態管理」UI,將 recipe 檔案 (僅限 .rcp) 上載至 Windchill 伺服器。
可讓您根據 recipe 檔案名稱中的形式類型與轉換類型資訊關聯覆蓋 recipe 檔案。
可讓您根據發佈規則關聯覆蓋 recipe 檔案。
* 
您可針對所有前後關聯類型配置 recipe 檔案。如果在不同的前後關聯層級配置 recipe 檔案,則會使用最低層級的 recipe 檔案,且不會與在較高層級配置的 recipe 檔案合併。例如,在組織前後關聯層級配置的 recipe 檔案會在子前後關聯 (例如「產品」或「物件庫」) 中遭到取代,以考慮特定前後關聯需求。如需詳細資訊,請參閱前後關聯繼承
「以 Recipe 檔案名稱為基礎的進階組態」與「以發佈規則為基礎的進階組態」這兩部份內容描述了以 recipe 檔案名稱及發佈規則為基礎的進階組態,以用來在 Windchill 伺服器電腦透過「視覺化組態管理」UI 簡化管理 worker 覆蓋 recipe 檔案。
以 Recipe 檔案名稱為基礎的進階組態
WVS 會基於上載至「視覺化組態管理」UI 的 recipe 檔案名稱,根據檔案名稱中所提及的形式類型與轉換類型來評估並決定要傳送至 worker 的 recipe 檔案。Recipe 檔案的名稱必須是下列格式:
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 工程圖格式檔案
如果名稱中未提供轉換類型的值,將會根據形式類型,針對所有檔案類型 (「零件」、「工程圖」等) 使用相同的 recipe 檔案。例如,假設已在 「視覺化組態管理」UI 中上載 publish_overlayrecipefile_fortype_PROE_prt.rcppublish_overlayrecipefile_fortype_PROE.rcp 檔案。在此情況下,當針對 PROE 零件檔案發佈時,會使用 publish_overlayrecipefile_fortype_PROE_prt.rcp recipe 檔案。作為 PROE 形式類型泛用檔案的 publish_overlayrecipefile_fortype_PROE.rcp 檔案則用於 PROE 發佈的其他所有檔案類型,如「組件」、「工程圖」等。
* 
「視覺化組態管理」UI 中上載的覆蓋 recipe 檔案優先於將檔案置於 Windchill 伺服器電腦目錄中的方法。
擷取覆蓋 recipe 檔案時,如果 WVS 在「視覺化組態管理」UI 中找不到具有以形式與轉換類型為基礎之適當名稱的 recipe 檔案,WVS 將會用到使用 Windchill 伺服器目錄來存取覆蓋 recipe 檔案的方法。
以發佈規則為基礎的進階組態
您也可以使用發佈規則定義,透過「視覺化組態管理」UI 擷取覆蓋 recipe。
使用發佈規則定義擷取覆蓋 recipe 檔案時:
如果在發佈規則中定義的 recipe 檔案名稱存在於「視覺化組態管理」中,則工作會成功,並會使用來自覆蓋 recipe 檔案的 recipe 選項。
此 recipe 檔案優先於其他兩種方法 (存取 Windchill 伺服器目錄以存取 recipe 檔案,或根據 recipe 檔案名稱擷取 recipe 檔案)。
如果在發佈規則中定義的 recipe 檔案名稱不存在於「視覺化組態管理」中,則工作會失敗。
如果 Worker 不支援發佈規則 (例如縮圖或 Office),或未配置發佈規則,則會始終使用形式與轉換類型從「視覺化組態管理」UI 中擷取覆蓋 recipe 檔案。但是,如果檔案不存在於此 UI 中,則會透過使用 Windchill 伺服器電腦目錄的機制來存取覆蓋 recipe 檔案。
以下是 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 屬性的詳細資訊,請參閱評估發佈規則
定義要建立之覆蓋 recipe 檔案的名稱
這一部份及接下來幾部份的資訊皆以 wvs.properties.xconf 檔案中每個內容的相關資訊為基礎。
將覆蓋 recipe 傳送給 Worker 時,WVS 需要知道要建立及傳送之覆蓋 recipe 檔案的正確名稱,接收 Worker 才能辨識它。這以形狀類型為基礎,因為轉接器 recipe 檔案中的預設名稱對於不同的轉接器而言是不同的。以下是範例。
<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"/>
產生的覆蓋 recipe 檔案會透過通用檔案系統與工作 (_wvsjob.paj) 檔案一起傳送給 Worker。
在大多數情況下,這些內容都不得編輯,但可以針對例如遺失的形狀類型等新增新項目。
<Property default="pview_ccdraft2pv_overlay.rcp"
name="publish.overlayrecipefile.overlayfilename.COCRDRAFT"/>
定義要用於 WVS 在覆蓋 Recipe 檔案中建立之 file 參數的轉接器標籤
publish.overlayrecipefile.adaptername.<shapetype> 內容會指定要在 recipe 檔案建構中使用的轉接器名稱。以下是範例。為其他形狀類型編輯或新增新字串。
<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 即時建構及覆蓋 recipe 檔案時要為每個形狀類型新增的字串。
在大多數情況下,這些內容都不得編輯,但可以針對例如遺失的形狀類型等新增新項目。
<Property default="ccdraft2pv"
name="publish.overlayrecipefile.adaptername.COCRDRAFT"/>
以由 publish.overlayrecipefile.overlayfilename.COCRDRAFT 內容指定的名稱建立之覆蓋 recipe 檔案中的結果,包含第一行 file=ccdraft2pv-rcp
定義來源覆蓋 recipe 檔案,包含特定「發佈工作」轉換類型的 recipe 設定
publish.overlayrecipefile.fortype.<shapetype>.<convtype> 內容可指定要用於特定轉換類型之來源覆蓋 recipe 檔案的檔案名稱與位置。這以形狀類型與轉換類型為基礎,其中內容名稱中的轉換類型為選用。若未指定 <convtype>,會針對所有轉換類型使用相同的覆蓋 recipe 檔案。
下列範例設定適用於使用特定覆蓋 recipe 檔案 proe_view.rcp 發佈 Creo Parametric 組件,即形狀類型 "PROE" 與轉換類型 "view",以及使用泛用覆蓋 recipe 檔案 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"/>

針對其他形狀類型與轉換類型組合新增更多項目。所參考的來源覆蓋 recipe 檔案必須建立並位於 Windchill 伺服器中。例如
<Property default="D:\ptc\Windchill\ccdraft_view.rcp"
name="publish.overlayrecipefile.fortype.COCRDRAFT.view"/>
其中 COCRDRAFT 是形狀類型,view 是轉換類型,D:\ptc\Windchill\ccdraft_view.rcp 是 WVS Background Method Server 主機中的檔案,其包含要在此情況下傳送的 recipe 覆蓋設定。
「發佈工作」轉換類型記錄在知識庫文章 CS53556 中。
* 
Windchill 的未來發行版本中將會取代參考具有 WVS 內容的覆蓋 recipe 檔案,因為「視覺化管理組態」UI 提供了相同的組態。
定義自訂類別或方法覆蓋檔案
publish.overlayrecipefile.filtermethod 內容定義叫用來決定要使用之 Worker 覆蓋 recipe 檔案的類別與篩選器方法。針對篩選器方法,會使用下列簽名以 classnamemethodname 格式指定內容值:
public static <String methodname>(Persistable d <String workerType>
<String fileName>)
其中︰
Persistable d 是正在發佈的物件。
String workerType 是正在使用的完整 Worker 類型,
例如,PROE.prtPROE.view
String fileName 是正在轉換的檔案名稱。
傳回結果是作為覆蓋 recipe 檔案內容的字串。如果傳回空值,即表示沒有使用覆蓋 recipe 檔案。
<Property default="" name="publish.overlayrecipefile.filtermethod"/>
依預設並沒有配置篩選器。
自訂方法包含決定要傳回什麼覆蓋 recipe 檔案的企業邏輯。該方法必須將 recipe 檔案內容傳回為字串。然後 WVS 會使用此內容建立覆蓋檔案,並根據上述這些設定的組合為其命名︰
publish.overlayrecipefile.overlayfilename.*
publish.overlayrecipefile.adaptername.*
* 
此內容會取代 publish.overlayrecipefile.fortype.* 設定。
這是否有幫助?