自定义在检入 CAD 模型自动创建标准控制特征并将注释指定为控制特征
使用“自动创建标准控制特征”首选项可在 Windchill 中通过 Creo 自动创建标准控制特征。
依预设,在 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) 添加想要添加到模型注释的标准控制特征。添加的标准控制特征可为持续或非持续特征。