自訂下載服務中的參數
現成的委派
Windchill 提供了可將 CAD 文件相關的其他資訊作為自訂系統參數進行傳遞的現成機制。
欲自訂參數,請在網站層級設定伺服器端偏好設定「Workgroup Manager 用戶端」 > 「對應自訂系統屬性與檔案內容」
值是與 CAD 文件相關之物件中其他屬性的清單,這些屬性會在 CAD 工具中顯示為參數或內容。
值是 CAD 內容與 Windchill 屬性對的逗號分隔清單,格式如下:
<name_of_CAD_property>:<relatedObjectCode>.<WindchillAttributeName>
其中:
描述
可能的值
name_of_CAD_property
這是 CAD 工具中參數或內容的名稱
PART_REVISION
relatedObjectCode
這是用來識別相關物件的字串
docMaster
associatedPart
relatedECN
WindchillAttributeName
這是 Windchill 中相關物件屬性的邏輯名稱或內部名稱
CAD 文件主物件中的可變類型屬性
零件屬性
類型為「布林值」、「日期」、「整數」、「實數」、「具有單位的實數」或「字串」之相關零件的可變類型屬性
lifeCycleState
lifecycleTemplate.name
name,
number
orgid
view.identity
針對相關 ECN
number
orgid
resolutionDate
* 
針對可變類型屬性,傳送至 CAD 工具的值是在物件「資訊頁」中看到的顯示值。顯示值使用「屬性處理」偏好設定與「類型及屬性」設定,但不支援使用資料公用程式進行彩現的複雜顯示自訂。
僅在沒有可用來插入參數的自訂伺服器端委派 CustomModeledAttributesDelegate 時,才能使用此功能 (請參閱接下來「自訂委派」部份的內容)。
針對關聯零件:
此功能支援具有「擁有者」、「提供圖像」、「圖像」及「提供內容」的「CAD 文件」相關零件。
所選零件版本與「CAD 文件」的資訊頁相關零件表類似。
會傳回每個零件的最新版本修訂。
如果將系統配置為允許多個版次關聯,且伺服器端偏好設定「操作」 > 「自動關聯」 > 「允許 CAD 文件建立多個零件」設定為,則可以傳回多個零件。在此情況下,會以分隔格式傳回每個相關零件的資訊。所使用的分隔符號由伺服器端偏好設定「屬性處理」 > 「多值屬性的分隔符號」定義。
針對相關 ECN:
如果 CAD 文件版本修訂作為「受影響物件」或「產生物件」參與變更通知:
如果 CAD 文件版本修訂作為「受影響物件」或「產生物件」參與變更通知:
所使用的分隔符號由伺服器端偏好設定「屬性處理」 > 「多值屬性的分隔符號」定義。
自訂委派
如果您的業務流程需要將其他屬性傳遞至 CAD 工具,則 Windchill 會提供可用來在下載時將參數插入到 Creo Parametric 模型中的伺服器端委派。可以使用此機制從伺服器將資訊傳送到 Creo Parametric,在此可以像任何其他 Creo Parametric 參數一樣使用 (例如將資訊放在工程圖表單上)。以 "PTC" 或 "PROI" 開頭的參數被視為保留的系統參數,不能以自訂來傳播。若將它們新增到自訂中,下載服務會予以忽略。
* 
此功能適用於與協力廠商 CAD 工具整合的所有 Windchill Workgroup Manager
* 
在下載時提供自訂的參數給用戶端,自訂參數不同於如 PTC_WM_ITERATION 的系統參數,在 Creo Parametric 作業 (例如入庫) 之後,不會在 Windchill 工作階段或本機快取中更新。
例如,如果指派自訂參數的值為 CAD 文件編號,則在下載模型時會將其值提供給用戶端。如果稍後 CAD 文件重新編號,就不會自動更新 Creo Parametric 工作階段或用戶端快取中的值。
可以使用 Windchill 服務委派機制來進行自訂。下列步驟解釋自訂流程:
1. 建立實行介面 ModeledAttributesDelegate 的 Java 類別。介面定義如下:
package com.ptc.windchill.uwgm.proesrv.c11n;
import java.util.Collection;
import java.util.HashMap;
import wt.util.WTException;
public interface ModeledAttributesDelegate
{
/*
Implement this API to return list of parameters added by
customization along with it's type (customization profile of the
server). For example "WT_CADDOC_NUMBER" custom parameter will
be of type "String.class" (the java class)
*/
// getAvailableAttributes() returns
// HashMap<String, Object> which contains
// HashMap<Attribute name, Attribute type>
HashMap getAvailableAttributes();
/*
This is the API, invoked by the download service on download, to
be implemented for the customization. Create and return a
HashMap where key is input object and value is HashMap of
parameter name - value pairs that must be propagated to Pro/E
part represented by the EPMDocument (input object). Use the
getCADName() API on the EPMDocument to identify the Pro/E part
*/
// getModeledAttributes(Collection docs) returns
// HashMap<input object, HashMap<Attribute name, Attribute
value> HashMap getModeledAttributes(Collection docs) throws
WTException;
}
2. PTC 提供的自訂系統屬性預設可在 DefaultModeledAttributesDelegate 中找到。但是,您可以變更 site.xconf 檔案 (位於 <Windchill> 中) 來新增下列內容,以指示伺服器上自訂服務的可用性:
<Service context="default"
name="com.ptc.windchill.uwgm.proesrv.c11n.ModeledAttributesDele
gate" targetFile=codebase/service.properties">
<Option cardinality="singleton"
requestor="java.lang.Object"
serviceClass="com.ptc.windchill.uwgm.proesrv.c11n.CustomerXYZModeledAttributesDelegate"/>
</Service>
然後,使用 xconfmanager 工具將變更套用至 service.properties 檔案 (執行 xconfmanager -p)
使用您類別的路徑來取代 serviceClass 的值 (也就是使用您類別的路徑來取代 com.ptc.windchill.uwgm.proesrv.c11n.DefaultModeledAttributesDelegate)。
3. 重新啟動應用伺服器。
這是否有幫助?