高级自定义 > 业务逻辑自定义 > 使用 Windchill 中的标准进行数据交换 > STEP 和 PLM 导出导入
  
STEP 和 PLM 导出导入
导出
wtCollection 的导出受导入导出框架的支持。使用以下 API 将 wtCollection 导出到 jar 中:
IXBExpImpStatus status = IXBSvrHelper.service.doExport(parameters,true/*Server Export*/);
其中,
parameters
ObjectExportParameters
布尔标志指示执行在方法服务器存根内部进行。
IXBExpImpStatus 对象承载了导出操作的结果。
以下是执行导出所需的关键导出参数和 API。
参数
说明
setClientFileName
创建输出 jar 的绝对文件路径。客户端文件名不得存在。它是客户端期望存储输出 jar 的占位符。如果未提供文件路径,则会将信息导出到一个随机的临时位置。PTC 建议您将此参数设置为导出。
setCollection
wtCollection 包含要导出的可持续对象。存在导入/导出处理程序并支持导出的可持续对象。预设支持的对象列表可能会根据所使用的格式类型而有所不同。有关详细信息,请参阅相关的标准文档。
setFormatType
ExportImportFormatType 枚举用于定义导出的格式。支持的格式类型为:
PLM_FORMAT - 以 PLMS 消息格式导出
STEP_FORMAT - 以 STEP 格式导出
WNC_FORMAT - 以 Windchill 格式导出。Windchill 格式是指基于对象所有者提供的标准 DTD 定义的 XML。这是默认格式类型。
setIxFormatType
IXFormatType 用于定义协议、实现方法、格式类型和版本等信息。此功能用于基于 STEP 格式的导出。
IXFormatType 对象必须始终使用以下方法创建:
IXFormatTypeHelper.getIXFormatType
设置以下信息:
setProtocol - IXFormatProtocolType - 执行导出的协议。
setImplementationMethod – IXFormatImplementationMethodType - 导出的实现方法,比如 XML、Part 21 和 Part 28。
用于执行 wtCollection 导出的示例代码
以下是通过 AP214 协议和 Part 21 实现方法以 STEP 格式导出 wtCollection 对象的示例代码:
ObjectExportParameters exportParameters = new ObjectExportParameters();
exportParameters.setCollection(wtCollection);
IXFormatType formatType = IXFormatTypeHelper.getIXFormatType(null, ExportImportFormatType.STEP_FORMAT);
formatType.setProtocol(IXFormatProtocolType.AP214);
formatType.setImplementationMethod(IXFormatImplementationMethodType.PART_21)
exportParameters.setIXFormatType(formatType);
String clientFile = “D:\temp\step.jar” – Absolute file path
exportParameters.setClientFileName(clientFile);
IXBExpImpStatus status = IXBSvrHelper.service.doExport(exportParameters, true);
Vector messages = status.getMessages();
System.out.println("Export messages:");
for (Object object : messages) {
System.out.println(object);
}
int count = status.getObjectCount();
System.out.println("No. of objects exported "+count);
boolean outcome = status.getOutcome();
System.out.println("Outcome of the export "+outcome);
String failureMessage = status.getFailureMessage();
System.out.println("Failure message "+failureMessage);
IXBExpImpStatus 对象包含导出或导入操作的响应。使用对象的以下 API 来获取信息:
参数
说明
getMessages
提供导出状况消息的消息矢量。这与在 UI 导出操作期间轮询的消息类似。
getObjectCount
导出或导入的对象数。
getOutcome
操作的结果,无论是成功还是失败。对于成功,值为 True;对于失败,值为 False
getFailureMessage
诸如导出或导入期间的异常之类的失败信息。
导入
通过以下服务器端 API 将 jar 导入到给定的容器中:
IXBExpImpStatus expImpStatus
= IXBSvrHelper.service.doImport(objectimportparameters,true);
此处的 objectImportParameters 是指 ObjectImportParameter 对象,该对象承载了执行导入所需的所有信息。
以下是执行导入所需的关键导入参数和 API。
参数
说明
setContainer
执行导入的容器。
setDataFile
IXBStreamer 表示要导入的文件。
setIxFormatType
IXFormatType。有关详细信息,请参阅本主题中的“导出”一节。这必须用于基于 STEP 的导入。它必须与执行文件导出时所使用的参数相同。
setRepository
IxbSTEPRepository 对象是 STEP 文件导入的输入。它封装了导入所需的信息,例如文件和格式类型。
用于执行 STEP 格式导入的示例代码
以下是通过 Part 21 实现方法使用 AP214 协议中导出的 STEP 格式文件的 ObjectImportParameters 执行导入的示例代码:
ObjectImportParameters objectimportparameters = new
ObjectImportParameters();
IxbSTEPRepository repository = new IxbSTEPRepository(file);//file to import
objectimportparameters.setContainer(wtCoontainerRef);
IXFormatType formatType = IXFormatTypeHelper.getIXFormatType(null, ExportImportFormatType.STEP_FORMAT);
formatType.setProtocol(IXFormatProtocolType.AP214);
formatType.setImplementationMethod(IXFormatImplementationMethodType.PART_21)
ImportContextData importcontextdata = (ImportContextData)
objectimportparameters.getContextData();
importcontextdata.setEnableTuning(false);//Tuning is not supported for STEP formats.
repository.setIXFormatType(formatType);
objectimportparameters.setRepository(repository);
用于执行 PLM 格式导出和导入的示例代码
以下是 PLM 格式导出的示例代码。它与 STEP 格式相同,但有以下异常:
exportParameters.setFormatType(ExportImportFormatType.PLM_FORMAT);
以下是 PLM 格式导入的示例代码。它与 STEP 格式相同,但有以下异常:
* 
通过流转换器对象而不是存储库考虑文件。
IXBSvrStreamer ixbstreamer = new IXBSvrStreamer(file);
ixbstreamer.setAttrib(IXBStreamer.SAVED_AS_FILE, file);
objectimportparameters.setDataFile(ixbstreamer);
支持的 API 详细信息
API
用途
ObjectExportParameters
ObjectImportParameters
setDetailedLog
要提取导出/导入操作的详细信息。此信息被捕获到状况对象的内存中。如果是大型数据导出或导入,建议不要使用此功能。
ObjectExportParameters
ObjectImportParameters
setValidation
要在导出/导入期间避免 DTD 验证。这在开发用例期间是必需的。在生产设置中,不要将此 API 部署为 false。
ObjectImportParameters
setDataFile
用于导入 WNC_FORMAT 或 PLM_FORMAT 文件的流转换器文件。IXBSvrStreamer 对象用于封装要导入的文件信息。
ObjectImportParameters
setUseExtendedMapping
要支持元数据的 AP242 协议映射的扩展映射。有关详细信息,请参阅配置元数据映射