使用追溯
追溯链接用于追溯外部资源与 Windchill 可追溯对象之间的关系。例如,追溯可用来描述外部系统受控需求与 Windchill 部件之间的关系。
追溯有助于项目经理和工程师了解这些关系。使用追溯链接,可以加深您对设计意图的理解,并协助您评估由变更带来的影响。
追溯链接的类型
Windchill 对象与外部项之间的追溯链接类型如下:
“分配”- 将高级别远程需求域项链接到高级别部件或装配。此链接表示需求数据至少部分满足被追溯项的约束。例如,在设计过程的早期阶段将需求文档链接到装配。
“满足”- 将 Windchill 对象链接到远程需求域项。此链接表示对象满足被追溯项的约束。例如,将装配组件链接到最终需求文档。
“实施”- 将 Windchill 可追溯对象链接到远程架构域项。此链接表示作为系统设计实体的机械、电气或软件设计实施的可追溯对象。例如,将部件链接到远程架构项或其可变类型。
* 
在设计过程的早期阶段,使用“分配”链接将外部资源分配给高级别部件,如成品或装配。在设计过程后期,使用“满足”链接将外部资源关联到装配中的特定部件。
* 
向对象添加“满足”“实施”追溯链接时,系统会创建该部件的新小版本。
关于向前复制
Windchill 对象进行迭代或版本修订时,将出现以下情况:
继续沿用已添加到对象的追溯链接。
“分配”链接将被向前复制到修订版本的所有小版本。例如,如果将部件从修订版本 A 修订为 B,B 会对先前版本应用所有追溯链接。
“满足”“实施”链接适用于其所添加到的小版本以及后续小版本和修订版本。例如,如果针对小版本 A.2 添加了“满足”“实施”链接,该链接也适用于小版本 A.3 及更高小版本,但不适用于小版本 A.1。如果针对修订版本 A 的任何小版本添加了“满足”“实施”链接,该链接也适用于修订版本 B。
类似于向前复制,向后复制的工作原理如下:
“分配”链接将被向后复制到修订版本的所有小版本。例如,如果为小版本 B.2 创建了“分配”链接,该链接对小版本 B.1 也可用,但对早期修订版本不可用。
“满足”“实施”链接适用于其所添加到的小版本,而不适用于早期的小版本或修订版本。例如,如果针对小版本 B.2 添加了“满足”“实施”链接,该链接对小版本 B.1 和修订版本 A 均不适用。
查看待查状况
如果任何与部件关联的追溯链接被标记为“待查”,“待查状况”列会显示 红色菱形图标“待查”图标。只能将此列添加到部件信息页面“结构”选项卡中的部件结构阅览器中。
要查看“待查状况”列,请执行以下步骤:
1. “结构”选项卡上,转到“视图” > “管理结构视图”
2. 创建一个新视图,并添加“待查状况”列。
3. 保存该视图后,即可从“视图”下拉列表中选择该视图。
有关自定义表格视图的详情,请参阅自定义表格视图
查看可追溯性状况
如果 Windchill 可追溯对象存在关联的远程追溯链接,“可追溯性状况”列会显示 存在远程追溯链接“存在远程追溯链接”图标。可以将此列添加到任何 JCA 表格视图中,例如部件结构阅览器、“高级搜索”“文件夹浏览器”等。
要在部件结构阅览器中查看“可追溯性状况”列,请执行以下步骤:
1. “结构”选项卡上,转到“视图” > “管理结构视图”
2. 创建一个新视图,并添加“可追溯性状况”列。
3. 保存该视图后,即可从“视图”下拉列表中选择该视图。
有关自定义表格视图的详情,请参阅自定义表格视图
自定义可追溯性状况
通过使用 BusinessAlgorithm 类创建计算属性,您可以将“可追溯性状况”列自定义为针对特定链接类型 (例如“满足”“分配”) 显示 追溯至外部系统“追溯至外部系统”图标。
使用以下 API 添加自定义属性。API 属于 TraceabilityStatusHelper 类。
public static boolean checkTraceabilityStatus(Traceable traceableObject, String... typeInternalNames)
示例代码
public class TraceabilityStatusBusinessAlgorithm implements BusinessAlgorithm {

private static final Logger logger = LogR.getLoggerInternal(TraceabilityStatusBusinessAlgorithm.class.getName());

@Override
public Object execute(BusinessAlgorithmContext context, Object[] args) {
boolean isTraceLinkPresent = false;
BusinessObject businessObject = context.getCurrentBusinessObject();

try {
final Traceable traceable = (Traceable) businessObject.getWTReference().getObject();
// Convert to String array
String[] attrStringArray = new String[args.length];
for (int i = 0; i < args.length; i++) {
attrStringArray[i] = (String) args[i];
}
isTraceLinkPresent = TraceabilityStatusHelper.checkTraceabilityStatus(traceable, attrStringArray);
} catch (WTException e) {
logger.error("An error occurred during traceability evaluation: " + e.getMessage());
}
return isTraceLinkPresent;
}

@Override
public Object getSampleValue() {
return false;
}
}
这对您有帮助吗?