高度なカスタマイズ > ビジネスロジックのカスタマイズ > MPMLink のカスタマイズ > 管理特性として指定されているアノテーションとともに CAD モデルをチェックインしたときの標準管理特性の自動作成のカスタマイズ
管理特性として指定されているアノテーションとともに CAD モデルをチェックインしたときの標準管理特性の自動作成のカスタマイズ
CAD (Creo、NX、CATIA V5) から Windchill に標準管理特性を自動的に作成するには、「標準管理特性を自動的に作成」プリファレンスを使用します。
既成では、新規アノテーションを持つ部品の新規作業版数が Windchill でチェックインされるたびに、新規標準管理特性が作成されます。新規アノテーションが Windchill でパブリッシングされた場合には必ず既存の標準管理特性を使用するようにこの動作をカスタマイズできます。以下の手順を実行します。
1. WT_HOME/codebase/com/ptc/windchill/mpml/xconfs にあるファイル mpmlink.service.properties.xconf にアクセスします。
2. プロパティ com.ptc.windchill.mpml.delegates.AutoAssociateStandardCCDelegate にサービスクラス属性のエントリを追加します。
* 
com.ptc.windchill.mpml.delegates.DefaultAutoAssociateStandardCCDelegate のエントリがデフォルトで使用できます。
以下のサンプルコードについて考えてみましょう。
/**
* Customizing populateSCC method from @DefaultAutoAssociateStandardCCDelegate to get already persisted SCC
* from DB, based on the ModelItem Subtype and using the same.
*/
@Override
public void populateSCC(List<CreateSCCBean> beanList) throws WTException {
long startTime = PerformanceLogger.getStartTime();
if(beanList == null || beanList.isEmpty() ) {
throw new WTException(" beanList is empty");
}
try {
//get existing scc
for(CreateSCCBean bean : beanList) {
Collection<ModelItem> modelItems = bean.getMiToEpmDocMap().keySet();
for (ModelItem modelItem : modelItems) {
String miSubType = modelItem.getMaster().getItemSubType().toString();
MPMStandardCC scc = null;
switch(miSubType) {
case MI_SUBTYPE_GTOL_CIRCULARITY:
scc = getSCC("0000000003");
break;
case MI_SUBTYPE_GTOL_FLATNESS:
scc = getSCC("0000000002");
break;
default:
scc = getSCC("0000000004");
break;
}

bean.getMiToSCCMap().put(modelItem, scc);
}
}
} catch (WTException e) {
LOGGER.error(e::getLocalizedMessage);
throw new WTException(e);
}
PerformanceLogger.logTimeTaken(startTime);
}
コードサンプルの bean.getMiToSCCMap().put(modelItem, scc) を使用して、モデルアノテーションに追加する標準管理特性を追加します。追加する標準管理特性は、永続にすることも非永続にすることもできます。
これは役に立ちましたか?