Product Design eXchange (PDX) のエクスポートのサポート
Product Design eXchange (PDX) は、ビジネスパートナー間での製品設計データの共有に使用するファイルフォーマットです。これを使用することで、ドキュメント、部品、製品構造、部品表 (BOM) に関する情報を共有できます。
Windchill から Agile を含む PDX フォーマットにデータをエクスポートできます。BOM データの PDX フォーマットへのエクスポートにもカスタマイズできます。
OOTB PDX エクスポートでは、以下をエクスポートできます。
• ドキュメント
• 部品
• CAD ドキュメント
Windchill システム内のサンプル製品構造
PDXplorer に表示される PDX 出力
カスタマイズポイント
必須コンポーネント
• クラスファイル: wt.ixb.pdx.*
• 変換に使用される XSL パス: <Windchill>\codebase\registry\ixb\pdx
• DTD パス: <Windchill>\codebase\registry\ixb\pdx\dtds
デフォルトの動作
• デフォルトで、Agile 互換となります。
• デフォルト:
◦ "Agile_07.dtd" と "wcxml12pdx_agile.xsl" はそれぞれ Agile フォーマットに対応する DTD と XSL です。
◦ "IPC_2571.dtd" と "wcxml2pdx.xsl" はそれぞれ PDX フォーマットに対応する DTD と XSL です。
wt.properties のオーバーライド可能なプロパティ
• pdx.export.dtdFilePath=$(wt.home)$(dir.sep)codebase$(dir.sep)registry$(dir.sep )ixb$(dir.sep)pdx$(dir.sep)dtds$(dir.sep) Agile_07.dtd
• pdx.export.xslFilePath=$(wt.home)$(dir.sep)codebase$(dir.sep)registry$(dir.sep) ixb$(dir.sep)pdx$(dir.sep) wcsml2pdx_agile.xsl
• pdx.AgileCompatible=true
• pdx.debug.enable=false
xsl は要件に合わせて修正したり、その他のエクスポート可能な Windchill オブジェクトの PDX エクスポートをサポートするように修正することもできます。
サポートされている API
• ExportPackage exportPackage= ExportPackageForPDX.createExportPackageForPDX(...)
• PDXExportHelper.doExportToPDX(...)
createExportPackageForPDX
ExportPackageForPDX には、この機能をサポートする 4 つの静的パブリック API (createExportPackageForPDX) があります。
public static wt.ixb.objectset.ExportPackage createExportPackageForPDX
public static wt.ixb.objectset.ExportPackage createExportPackageForPDX(
java.lang.String name, java.lang.String description,
java.lang.String exporter, java.langString[] generIds,
java.lang.String[] generParams, java.lang.String[] filterIds,
java.lang.String[] filterParams) throws wt.util.WTException
• 目的: PDX フォーマットでのエクスポートに必要なすべての情報を持つ ExportPackage を作成します。オブジェクトは、標準 ixb 収集メカニズム (ジェネレータとフィルタ) を使用して収集されます。
• パラメータ:
◦ name - エクスポートパッケージ名
◦ description - エクスポートパッケージの説明
◦ exporter - エクスポートするユーザーの名前
◦ generIds - {"singleDocument","productStructureNavigatorWithEPM"} など、オブジェクトセットジェネレータタイプの文字列 ID の配列
◦ generParams - 対応するシードオブジェクトのローカル ID の配列
◦ filterIds - オブジェクトセットフィルタの文字列 ID の配列
◦ filterParams - フィルタのパラメータを表す文字列の配列
• スロー: wt.util.WTException
public static wt.ixb.objectset.ExportPackage createExportPackageForPDX
public static wt.ixb.objectset.ExportPackage createExportPackageForPDX(
java.lang.String name, java.lang.String description,
java.lang.String exporter, java.lang.String[] generIds,
java.lang.String[] generParams) throws wt.util.WTException
• 目的: フィルタなしでオブジェクトを収集する一般的なケースでの使用に便利なメソッド
• パラメータ:
◦ name - エクスポートパッケージ名
◦ description - エクスポートパッケージの説明
◦ exporter - エクスポートするユーザーの名前
◦ generIds - {"singleDocument","productStructureNavigatorWithEPM"} など、オブジェクトセットジェネレータタイプの文字列 ID の配列
◦ generParams - 対応するシードオブジェクトのローカル ID の配列
• スロー: wt.util.WTException
public static wt.ixb.objectset.ExportPackage createExportPackageForPDX
public static wt.ixb.objectset.ExportPackage createExportPackageForPDX(
java.lang.String name, java.lang.String description,
java.lang.String exporter, java.lang.String[] generIds,
java.lang.String[] generParams) throws wt.util.WTException
• 目的: フィルタなしでオブジェクトを収集する一般的なケースでの使用に便利なメソッド
• パラメータ:
◦ name - エクスポートパッケージ名
◦ description - エクスポートパッケージの説明
◦ exporter - エクスポートするユーザーの名前
◦ generIds - {"singleDocument","productStructureNavigatorWithEPM"} など、オブジェクトセットジェネレータタイプの文字列 ID の配列
◦ generParams - 対応するシードオブジェクトのローカル ID の配列
• スロー: wt.util.WTException
public static wt.ixb.objectset.ExportPackage createExportPackageForPDX
public static wt.ixb.objectset.ExportPackage createExportPackageForPDX(
wt.inf.container.WTContainerRef container,
java.lang.String name,
java.lang.String description,
java.lang.String exporter,
java.lang.String[] generIds,
java.lang.String[] generParams)
throws wt.util.WTException
• 目的: フィルタなしでコンテナ内でオブジェクトを収集する一般的なケースでの使用に便利なメソッド
• パラメータ:
◦ container - コンテナのオブジェクト参照
◦ name - エクスポートパッケージ名
◦ description - エクスポートパッケージの説明
◦ exporter - エクスポートするユーザーの名前
◦ generIds - {"singleDocument","productStructureNavigatorWithEPM"} など、オブジェクトセットジェネレータタイプの文字列 ID の配列
◦ generParams - 対応するシードオブジェクトのローカル ID の配列
• スロー: wt.util.WTException
doExportToPDX
public static void doExportToPDX
public static void doExportToPDX(
ExportPackageForPDX expPackage, String attachmentOption,
File dirToSave, String zipName)
throws wt.util.WTException
• 目的:サーバー上に pdx ファイルを作成します。
• パラメータ:
◦ container - ソースコンテナ
◦ expPackage - エクスポートパッケージ
◦ attachmentOption - 添付資料オプション。以下の値があります。
▪ PDXExportHandler.XML_VALUE_ATTACHMENTS - pdx パッケージにコンテンツファイルが含まれます (デフォルトのオプション)
▪ PDXExportHandler.XML_VALUE_NO_ATTACHMENTS - コンテンツファイルは無視されます (pdx.xml 内に記述なし)
▪ PDXExportHandler.XML_VALUE_ATTACHMENTS_AS_FILE_NAMES - pdx.xml ファイル内にコンテンツファイルの記述はありますが、zip には含まれません
◦ dirToSave - 結果の pdx ファイルが保存されるサーバー上のディレクトリ
◦ zipName - 結果の pdx ファイル名 ('.pdx' が追加されるので、拡張子なしの名前を渡します)
• 以下をスローします。wt.util.WTException
public static void doExportToPDX
public static void doExportToPDX(
ExportPackageForPDX expPackage, java.lang.String
java.io.File dirToSave, attachmentOption,
throws wt.util.WTException java.lang.String zipName)
• 目的:サーバー上に pdx ファイルを作成します。
• パラメータ:
◦ expPackage - エクスポートパッケージ
◦ attachmentOption - 添付資料オプション。以下の値があります。
▪ PDXExportHandler.XML_VALUE_ATTACHMENTS - pdx パッケージにコンテンツファイルが含まれます (デフォルトのオプション)
▪ PDXExportHandler.XML_VALUE_NO_ATTACHMENTS - コンテンツファイルは無視されます (pdx.xml 内に記述なし)
▪ PDXExportHandler.XML_VALUE_ATTACHMENTS_AS_FILE_NAMES - pdx.xml ファイル内にコンテンツファイルの記述はありますが、zip には含まれません
◦ dirToSave - 結果の pdx ファイルが保存されるサーバー上のディレクトリ
◦ zipName - 結果の pdx ファイル名 ('.pdx' が追加されるので、拡張子なしで渡します)
• 以下をスローします。wt.util.WTException
エクスポートするデータの準備
File dir = new File(dirToSave);
WTCollection seedParts = // Get List of Parts as seed
if(!seedParts.isEmpty()) {
String [] genIds = new String[seedParts.sixe()];
String [] genParams = new String[seedParts.size()];
Iterator<WTReference> it = seedParts.referenceIterator();
int i = 0;
while(it.hasNext()) {
genIds[i] = "productStructureNavigator";
genParams[i] = it.next().toString();
i++;
}
WTContainerRef sourceContainer = WTContainerRef.newWTContainerRef(container);
PDX フォーマットへのエクスポート
ExportPackage exportPackage =
ExportPackageForPDX.createExportPackageForPDX("name_of_exp_package", "description",
"author", genIds, genParams);
PDXExportHelper.doExportToPDX(sourceContainer,(ExportPackageForPDX)exportPackage,
PDXExportHandler.XML_ATTR_ATTACHMENTS_OPTION, dir, "zipName");