ネーミングサービスのカスタマイズ
既成
Creo から「保存してアップロード」操作を使用して CAD ドキュメントを作成する場合には、CAD ドキュメントの名前と番号の値を指定するように既成の委任が設計されています。
* 
ネーミングサービスはアップロード操作でのみ使用できます。
ネーミングポリシーとカスタマイズに使用される優先順位は以下のとおりです。
名前:
a. カスタム: ネーミングサービスのカスタマイズ。
b. PTC_COMMON_NAME: Creo Parametric「ファイル」 > 「新規」ウィンドウで明示的に割り当てた共通名。
c. パラメータ駆動: 名前パラメータ (「操作」 > 「アップロード操作」 > 「アップロード」 > 「ネーミングパラメータ」 = <文字列パラメータ>)。
d. 名前駆動: ファイル名 (「操作」 > 「アップロード操作」 > 「アップロード」 > 「名前からファイル拡張子をドロップ」プリファレンスは、ファイル名 (CAD 名) に基づいて名前が割り当てられている場合にのみ有効になります)。
番号:
a. カスタム: ネーミングサービスのカスタマイズ。
b. 番号自動設定: 「操作」 > 「アップロード操作」 > 「未設定の場合、番号のデフォルト値をアップロード」プリファレンスが「ファイル名と番号を同期しない」に設定されている場合、OIR を使用して番号が生成されます。
c. パラメータ駆動: 番号パラメータ (「操作」 > 「アップロード操作」 > 「アップロード」 > 「番号付けパラメータ」)
d. 名前駆動: 「操作」 > 「アップロード操作」 > 「アップロード」 > 「番号からファイル拡張子をドロップ」プリファレンスは、ファイル名 [CAD 名] に基づいて番号が割り当てられている場合にのみ有効になります。
* 
OIR が設定されている場合、ファイル名に番号を自動設定できます。
ネーミングポリシーと番号付けポリシーの詳細については、ポリシー管理ネーミングおよび番号付けを参照してください。
委任を使用したカスタムネーミングサービス
ネーミングサービスでは、Windchill サービス委任メカニズムを使用して、CAD ドキュメントの名前または番号の値を指定するための既成の動作よりも優先される Java 委任を作成できます。
ネーミングサービスをカスタマイズするには、次の手順に従います。
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 で "set" メソッドを使用して、新しい名前/番号値を設定します。アップロードサービスでは、適切な場合はこれらの値を使用します。
3. <Windchill> にある site.xconf ファイルを編集して、サーバー上のカスタマイズサービスの使用可能性を示す次のプロパティを追加します。
<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. メソッドサーバーを再起動します。
これは役に立ちましたか?