自訂命名服務
立即可用
當使用者從 Creo 動作中使用儲存與上載建立「CAD 文件」時,現成委派的設計目的是為「CAD 文件名稱」與「編號」提供值。
* 
「命名」服務只適用於上載動作。
系統用於命名原則與自訂的優先順序如下:
名稱:
a. 自訂:命名服務自訂。
b. PTC_COMMON_NAME:透過 Creo Parametric「檔案」 > 「新建」視窗明確指派的「共用名稱」。
c. Parameter-driven:名稱參數 (「操作」 > 「上載操作」 > 「上載」 > 「命名參數」 = <某些字串參數>)。
d. 名稱導向:檔案名稱 (偏好設定「操作」 > 「上載操作」 > 「上載」 > 「從名稱移除副檔名」只在根據「檔案名稱」(CAD 名稱) 指派「名稱」時生效)
編號:
a. 自訂:命名服務自訂。
b. Auto-numbering:當偏好設定「操作」 > 「上載操作」 > 「若未設定,則上載編號的預設值」設為「不同步處理檔案名稱與編號」時,OIR 會用於產生編號。
c. Parameter-driven:編號參數 (「操作」 > 「上載操作」 > 「上載」 > 「編號參數」)
d. 名稱導向:偏好設定「操作」 > 「上載操作」 > 「上載」 > 「從編號移除副檔名」只在根據「檔案名稱」[CAD 名稱] 指派「編號」時生效。
* 
配置 OIR 時,可自動編號檔案名稱。
如需有關命名與編號原則的詳細資訊,請參閱由原則管理的命名與編號
使用委派自訂命名服務
「命名服務」使用 Windchill 服務委派機制,可讓您建立將優先於上述任何現成行為的 java 委派,以為「CAD 文件名稱」或「編號」提供值。
欲自訂命名服務:
1. 建立實行介面 EPMDocumentNamingDelegate 的「Java 類別」。介面定義如下:
package com.ptc.windchill.uwgm.proesrv.c11n;
public interface EPMDocumentNamingDelegate
{
public void validateDocumentIdentifier(DocIdentifier
docIdentifier);
}
類別 DocIdentifier 的定義如下。
package com.ptc.windchill.uwgm.proesrv.c11n;
import java.util.HashMap;
public class DocIdentifier
{
{
private String m_modelName;
private String m_docName;
private String m_docNumber;
private HashMap m_parameters;
}
public DocIdentifier(String modelName, String
docName, String docNumber, HashMap params)
{
m_modelName = modelName;
m_docName= docName;
m_docNumber= docNumber;
m_parameters= params;
}
/** get the CAD Name for the model **/

public String getModelName()
{
return m_modelName;
}
/** get the EPMDocument name for the model **/

public String getDocName()
{
return m_docName;
}
/** set the EPMDocument name for the model **/
public void setDocName(String docname)
{
m_docName = docname;
}
/** set the EPMDocument number for the model **/
public void setDocNumber(String docnumber)
{
m_docNumber = docnumber;
}
/** get the EPMDocument number for the model **/
public String getDocNumber()
{
return m_docNumber;
}
/** get the Pro/E designated parameters for the model. These are
name-value pairs indexed by the name **/
public HashMap getParameters()
{
return m_parameters;
}
}
2. 在新類別中,在此方法中實行命名/編號 EPMDocument 的企業邏輯:
public void validateDocumentIdentifier(DocIdentifier docIdentifier)
DocumentIdentifier 物件擁有 EPMDocument 名稱與編號資訊,這些是「上載服務」為 EPMDocument 建立的資訊。
使用 DocIdentifier.getModelName() 取得此 DocIdentifier 物件所代表的 EPMDocument 的「CAD 名稱」。
Creo Parametric 指派的參數可用來設定 EPMDocument 編號/命名。
使用 DocIdentifier.getParameters() 取得關聯參數。
使用 DocIdentifier 上的「設定」方法來設定新名稱/編號值。如果可行,「上載服務」將會使用這些建議。
3. 編輯 site.xconf 檔案 (可在 <Windchill> 中找到) 以新增下列屬性來指出伺服器上自訂服務的可用性:
<Service context="default" name="com.ptc.windchill.uwgm.proesrv.c11n.EPMDocumentNamingDelegate" targetFile="codebase/service.properties">
<Option cardinality="singleton" requestor="wt.epm.EPMDocument" serviceClass="com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocument NamingDelegate"/>
</Service>
然後,使用 xconfmanager 工具將變更套用至 service.properties 檔案 (執行 -xconfmanager p)
使用類別路徑來取代 serviceClass 的值 (也就是使用類別路徑來取代 "com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocumentNamingDelegate")。
4. 重新啟動應用伺服器。
這是否有幫助?