その他のアプリケーションとの統合 > Windchill Workgroup Manager のマニュアル > CADDS 5 > 高度な技術 > ビジネスオブジェクトの管理 > 使用例
  
使用例
CADDS 5 のビジネスオブジェクトの詳細を Windchill の既存部品から設定
このシナリオでは、ビジネスオブジェクトジェネレータが、Windchill にすでに存在する、新しく作成された Creo CADDS 5 部品内にビジネスオブジェクトを特定していると仮定します。これは、たとえばトップダウン開発プロセスで部品が実際に設計される前に、Windchill で指定された場合などに起こります。設計者は後から部品を Creo CADDS 5 で設計し、すでに定義されている WTPart に関連付けます。
1. 部品を Creo CADDS 5 で開き、ビジネスオブジェクトエクスプローラを起動します。
2. エクスプローラでビジネスオブジェクトを選択します。
3. ドロップダウンメニューを右クリックして、「サーチ」を選択します。Windchill Workgroup Manager ユーザーインタフェースが開きます。
* 
ビジネスオブジェクト上で Windchill 部品をサーチするには、ビジネスオブジェクトエクスプローラのビューをシングルレベルに設定する必要があります。一方、カタログアイテムのオカレンスでは、マルチレベルビューの設定後にサーチを起動できます。
4. Windchill ユーザーインタフェースでサーチ基準 (番号=1234名前=XYZ など) を定義します。サーチ結果で、目的のビジネスオブジェクトに対応する Windchill 部品 (WTPart) を見つけて「OK」をクリックします。
ビジネスオブジェクトエクスプローラの BO ID フィールドに対応する Windchill 部品番号が表示されました。
サーチした WTPart の情報を保存する場合は、次のように (パブリッシングする WTPart をサーチした) ビジネスオブジェクトを選択する必要があります。
* 
また、これらの手順では、選択したビジネスオブジェクトがパブリッシング対象としてマークされます。
1. ビジネスオブジェクトエクスプローラのナビゲータツリーで、次のようにビジネスオブジェクトのチェックボックスをオンにします。
2. ビジネスオブジェクトエクスプローラで、「ファイル」 > 「適用」の順に選択します。
これらの手順を省略すると、エクスプローラビューを更新するか、エクスプローラを閉じたときに、ビジネスオブジェクトエクスプローラからサーチした WTPart の情報が失われます。
ビジネスオブジェクトを生成して部品をチェックイン
このシナリオは以下を前提としています。
部品が Creo CADDS 5 でアクティブである。
ビジネスオブジェクトが定義され、パブリッシングにマーク付けされている。
ビジネスオブジェクトエクスプローラで任意のビジネスオブジェクトの横のチェックボックスをオンにして、「ファイル」 > 「適用」の順に選択してパブリッシングするビジネスオブジェクトをマーク付けします。部品とビジネスオブジェクトレポートが、ワークスペースローカルディレクトリとローカルワークスペースキャッシュに保存されます。
* 
ビジネスオブジェクトは全体を選択できますが、サブコンポーネントは選択できません。
ビジネスオブジェクトには正しい XML が存在する。
モデルアイテムのサブタイプにグローバル属性が定義されている。(後述の属性のマッピングに関するセクションを参照してください)
Windchill 部品のサブタイプが正しいモデルアイテムのタイプに定義されている。
* 
この操作は、Windchill サーバー管理者が「タイプおよび属性マネージャ」ユーティリティを使用して実行する必要があります。このユーティリティにアクセスするには、管理者としてログインし、「サイト」 > 「ユーティリティ」 > 「タイプおよび属性マネージャ」の順に選択します。「タイプおよび属性マネージャ」で、「タイプを管理」を選択してから「モデルアイテム」エントリを展開して適切なサブタイプを選択します。「タイプおよび属性マネージャ」の使用方法については、タイプおよび属性の管理ユーティリティの使用、または「Windchill ヘルプセンター」「特殊な管理」 > 「タイプおよび属性マネージャの使用」のトピックを参照してください。
Creo CADDS 5「ファイル」メニューで、「チェックイン」を選択します (「自動」でも「カスタム」でも構いません)。CAD 部品と Windchill 部品を含むモデルアイテムの自動関連付けが必要な場合、チェックイン時に指定します。また、Windchill 部品の構造のビルドも指定できます。カスタムチェックインは、自動関連付け領域で設定します。ビルドオプションはこのユーザーインタフェースから指定できます。自動チェックインは、Windchill「プリファレンス管理」ユーティリティを使用して設定できます。
この時点で、Creo CADDS 5 はビジネスオブジェクトジェネレータを再実行して、最初に定義されてから更新されたビジネスオブジェクトがないかどうかを確認します。ある場合、チェックインは失敗します。なければ、古いビジネスオブジェクトレポートが使用されます。Windchill Workgroup Manager は各ビジネスオブジェクトのモデルアイテムを作成し、ビジネスオブジェクトレポートから属性を取り込みます。部品と関連付けられた情報がすべて Windchill にアップロードされ、チェックインされます。CAD ドキュメントおよびモデルアイテムドキュメントは、対応する Windchill 部品に関連付けられます。これらの操作は、ユーザーの操作を必要とせずに実行されます。
構造オブジェクトを関連付けられた WTPart とともに Windchill にパブリッシングするには、WTPart との関連付けを作成する前に、構造オブジェクトの ST 数量を計算する必要があります。これを行わないと、WTParts との関連付けは失敗し、その結果、チェックインも失敗します。数量が計算されていない構造オブジェクトを含む CAD 部品をチェックインすると、自動関連付けオプションがパブリッシング対象としてマークされている場合、「数量が計算されていないか 0 です」というメッセージが表示されます。「自動関連付け」オプションを無効にすると、チェックインは成功します。数量を計算するには、パブリッシング対象としてマークされている構造オブジェクトごとに、Creo CADDS 5 の「Calculate STQuantities」コマンドを実行する必要があります。
チェックインプロセスが完了すると、Creo CADDS 5 内の情報と Windchill 内の情報が同期されます。特定されたビジネスオブジェクトは、部品に属するモデルアイテムとしてチェックインされます (部品もチェックインされます)。CAD ドキュメントとモデルアイテムは、対応する適切なタイプの Windchill 部品にすべて関連付けされます。
一般に、パブリッシング済みビジネスオブジェクトを持つ CAD 部品や、関連付けられ、構築された WTPart の Windchill 部品構造は、次のようになります。
CAD ドキュメントの WTPart
ビジネスオブジェクト (BO) の WTPart
オカレンスの WTPart
ライブラリアイテム (カタログ部品) の WTPart
Workgroup Manager クライアントからの部品のチェックイン
このシナリオは前のものと似ていますが、Creo CADDS 5「ファイル」メニューを使用してチェックインする代わりに、Windchill Workgroup Manager クライアントを使用します。さらに、ビジネスオブジェクトレポートは直近の Creo CADDS 5 セッションで行われた変更に同期していないと仮定します。
「チェックイン」セクションの説明に従って、部品をチェックインします。
前のシナリオと同じシーケンスでイベントが発生しますが、この場合、ビジネスオブジェクトジェネレータはバックグラウンドで動作し、新しいビジネスオブジェクトレポートを生成します。Windchill のモデルアイテムがビジネスオブジェクトに発生する変更と同期していない場合、チェックインは失敗します。
ライフサイクル状態の使用
意図しない変更が行われるのを防ぐために、部品のロックが必要な場合があります。これは、Windchill でライフサイクル状態を変更して実行できます。
このシナリオでは、部品と関連付けられているすべてのビジネスオブジェクトおよびモデルアイテムが Windchill にチェックインされ、正しい Windchill 部品に適切に関連付けられており、モデルアイテムはそれぞれ Windchill 部品のライフサイクル状態システム属性を保存するよう定義されていると仮定します。
この時点で、Windchill で適切なモデルアイテムを選択し、状態を「リリース済み」に更新します。そのためには、オブジェクトをワークスペースにチェックアウトし、「操作」メニューで「状態を設定」を選択します (管理者またはオブジェクトを修正するためのアクセス許可が必要です)。これで、Creo CADDS 5 で部品をアクティブ化し、ビジネスオブジェクトエクスプローラを起動すると、ビジネスオブジェクトが「ロック済み」として表示されます。この状態は、Creo CADDS 5 のコマンドウィンドウで「List Property: <ビジネスオブジェクトの UID>」を実行して、確認できます。このコマンドで、ビジネスオブジェクトのプロパティが表示されます。このシンボルは、ビジネスオブジェクトが「リリース済み」状態であることを示します。また、RDON プロパティは値 1 を持ち、読み取り専用であることを示します。
変更を加えることはできません。(これは、Windchill Workgroup Manager ユーザーインタフェースを表示して、対応する Windchill 部品のライフサイクル状態が「リリース済み」であることから確認できます。)
* 
CAD 部品がすでに Windchill で開かれていて、Windchill 部品の状態が「リリース済み」に変更されている場合、ビジネスオブジェクトの読み取り専用状態を確認するには、部品ファイルを一度閉じてから再度開く必要があります。
デフォルトの CADDS 5 モデルアイテム属性
デフォルトで Creo CADDS 5 ビジネスオブジェクトから次の属性が渡されます。
UID - 一意の ID 番号
stockno - 素材番号
説明 - ビジネスオブジェクトの説明
すでに説明したように、管理者は「タイプおよび属性マネージャ」を使用して、これらの属性を Windchill Workgroup Manager のモデルアイテムに追加できます。これらは文字列タイプの属性として、Creo CADDS 5 ビジネスオブジェクトを管理するモデルアイテムのサブタイプおよび WTPart のソフトタイプに追加されます。
データ辞書マッピングファイルの使用
前述のように、データ辞書は Creo CADDS 5 のビジネスオブジェクトの属性とそれに対応する Windchill Workgroup Manager のモデルアイテムの関係を記述した XML ファイルです。このファイルには bo2mi_mapping.xsl という名前が付けられ、usr/apl/cadds/data/businessobject ディレクトリに格納されます。これは、マッピングファイルのデフォルトの場所です。マッピングファイルをカスタマイズして、デフォルト以外の場所から使用するには、環境変数を setenv BOXSLMAPPINGFILE "<マッピングファイルを含むディレクトリへのパス>/bo2mi_mapping.xsl"> に設定します。
次の例は、ビジネスオブジェクト DUCTLINE とオカレンスアイテム DUCT_NLINE のマッピングがどのように作成されるかを示しています。
----------------------------DUCTLINE-----------------------------------
<xsl:template match="SUPER_ITEM[@NAME='DUCTLINE']">
<bo>
<xsl:call-template name="BO_ATTRS"/>
<iba Name="Description">
<xsl:attribute name="VALUE">
<xsl:value-of select="CLASS[@NAME='MAIN']/LABEL/@VALUE"/>
</xsl:attribute>
</iba>
<iba Name="UID">
<xsl:attribute name="VALUE">
<xsl:value-of select="@UID"/>
</xsl:attribute>
</iba>
<xsl:apply-templates select="CLASS[@NAME='LIBRARY']/descendant::
ITEM[@NAME='DUCT_NLINE']"/>
<xsl:apply-templates select="CLASS[@NAME='LIBRARY']/descendant::
ITEM[@NAME='DUCT_FITTING']"/>
<xsl:apply-templates select="CLASS[@NAME='LIBRARY']/descendant::
ITEM[@NAME='DUCT_NLINE_GASKET']"/>
</bo>
</xsl:template>
----------------------------DUCTLINE_NLINE-----------------------------
<xsl:template match="ITEM[@NAME='DUCT_NLINE']">
<!--Occurence-->
<occurence>
<xsl:call-template name="OCCURENCE_ATTRS"/>
<iba Name="UID">
<xsl:attribute name="VALUE">
<xsl:value-of select="@UID"/>
</xsl:attribute>
</iba>
<library>
<xsl:call-template name="LIBRARY_ATTRS"/>
<iba Name="stockno">
<xsl:attribute name="VALUE">
<xsl:value-of select="PROP[@PUBLISH_NAME='STOCK NUMBER']/@VALUE"/>
</xsl:attribute>
</iba>
</library>
<link>
<xsl:call-template name="OCC_TO_LIB_LINK_ATTRS"/>
<xsl:attribute name="mQuantity">
<xsl:value-of select="LENGTH/@VALUE"/>
</xsl:attribute>
<xsl:attribute name="mUnits">
<xsl:value-of select="LENGTH/@UNITS"/>
</xsl:attribute>
</link>
</occurence>
</xsl:template>
この例でわかるように、ビジネスオブジェクト、オカレンス、およびライブラリのノード (BO_ATTRS、OCCURRENCE_ATTRS、LIBRARY_ATTRS) の属性をマッピングするために、共通のテンプレートが用意されています。オカレンスとライブラリの間のリンクにも、テンプレートが用意されています (OCC_TO_LIB_LINK_ATTRS)。ビジネスオブジェクトの設定プロセスが正しく動作するために必須の属性がいくつかあります。これらは変更できません。ファイルにはこれを示すコメントが表示されています。
1. 共通テンプレート (BO_ATTRS) を呼び出して、属性を入力します。
2. グローバル属性はモデルアイテムのユーザー定義属性です。特定のモデルアイテムに必要な属性に応じて、グローバル属性タグの追加、修正、または削除ができます。
3. ビジネスオブジェクトのオカレンスアイテムごとに apply_templates 操作を呼び出す必要があります。
オカレンスノードのテンプレートを作成する際には、次のことに注意します。
1. 共通テンプレート (OCCURENCE_ATTRS) を呼び出して、属性を入力します。
2. オカレンステンプレートは、<occurence> </occurence> で囲まなければなりません。
3. オカレンスモデルアイテムをカタログアイテムにリンクしなければならない場合、<library> タグおよび <link> タグが必要です。そうでない場合、これらは必要ありません。
4. <library> </library> セクションでは、共通テンプレート (LIBRARY_ATTRS) を呼び出して属性を入力します。
5. <link> </link> セクションでは、共通テンプレート (OCC_TO_LIB_LINK_ATTRS) を呼び出して属性を入力します。ただし、属性 quantity および units は、各オカレンスタイプで xpath の値が異なるため、共通テンプレートから除外されます。これらは共通テンプレートを呼び出した後で追加する必要があります。
モデルアイテムの属性の定義
これらの値タイプの形式は、グローバル属性用に bo2mi_mapping.xsl ファイルで使用されます。記述されていないかぎり、データタイプは文字列です。
タイプ
整数
<iba Name=”PSO_MI”>
<xsl:attribute name=”TYPE”>INTEGER</xsl:attribute>
<xsl:attribute name=”VALUE”>101</xsl:attribute></iba>
文字列
<iba Name=”PSO_MI”>
<xsl:attribute name=”TYPE”>STRING</xsl:attribute>
<xsl:attribute name=”VALUE”>string value</xsl:attribute></iba>
実数
<iba Name=”PSO_MI”>
<xsl:attribute name=”TYPE”>REAL</xsl:attribute>
<xsl:attribute name=”VALUE”>10.11</xsl:attribute></iba>
ブール
<iba Name=”PSO_MI”>
<xsl:attribute name=”TYPE”>BOOLEAN</xsl:attribute>
<xsl:attribute name=”VALUE”>Yes</xsl:attribute></iba>
CADDS 5 モデルアイテムでのサブタイプの使用法の定義
Windchill コードベースで EPMDefaultSoftTypes.xml ファイルを使用するには、EPMDefaultSoftTypes.xml というファイルを次の内容で作成し、Windchill Workgroup Manager サーバーの <$WT_ホーム>/codebase ディレクトリに追加します。次にサーバーを再起動します。
<?xml version="1.0" encoding="UTF-8"?>
    IMP NOTE: PLEASE do NOT edit this file directly. In order to override the
subtypes specified here,        
create a similar file [with the same name] under $WT_HOME/codebase
directory and restart the server.   
Document  : EPMDefaultSoftTypes.xml   
Created on : August 21, 2009, 2:14 PM   
Author    : kboora   
Description:        
 Specify the out-of-the-box subtype mappings for a given type and subtype of a
model item / EPM document per authoring application
-->
<SoftTypeDescriptor xmlns='http://www.ptc.com'                   
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xsi:schemaLocation='http://www.ptc.com
SoftTypeDescriptor.xsd'>
<AuthAppSoftTypeInfo authAppName="CADDS5">
<ObjectClassInfo classType="ModelItem">
<ObjectTypeInfo type="COMPONENT">
<SoftTypeInfo softTypeId="${internet_domain_name}.BOM"/>
<SoftTypeInfo subType="CUSTOM"
softTypeId="${internet_domain_name}.MI_BO"/>
<softTypeInfo subType="LIBRARY" softTypeId="${internet_domain_name}.BOM"/>
</ObjectTypeInfo>
</ObjectClassInfo>
</AuthAppSoftTypeInfo>
</SoftTypeDescriptor>
モデルアイテムでグローバル属性を使用してサブタイプを定義するには、サイト管理者として Windchill Workgroup Manager にログインし、サイトレベルの「プリファレンス管理」ユーティリティに移動します。「Subtype Parameter」プリファレンスを検索します。このプリファレンスに定義されている既成のグローバル属性は 'UPLOAD_SOFT_TYPE' です。
このグローバル属性をデータ辞書マッピングファイルの bo2mi_mapping.xsl で使用して、次のようにモデルアイテムのサブタイプを簡単に定義できます (必要なモデルアイテムのサブタイプおよび対応する WTPart サブタイプは、すでに作成済みであるとします)。
<!-- ===========================BO PIPE SPOOL
================================================== -->
  <!-- ====================================================================
======================= -->
<xsl:template match="SUPER_ITEM[@NAME='PIPESPOOL']">
<bo>
<xsl:call-template name="BO_ATTRS"/>
<iba Name="Description">
<xsl:attribute name="VALUE">
<xsl:value-of select="CLASS[@NAME='MAIN']/LABEL/@VALUE"/>
</xsl:attribute>
</iba>
<iba Name="UID">
<xsl:attribute name="VALUE">
<xsl:value-of select="@UID"/>
</xsl:attribute>
</iba>
<iba Name="UPLOAD_SOFT_TYPE">
<xsl:attribute name="VALUE">com.ptc.ptcnet.C5_MI_BO</xsl:attribute>
</iba>
* 
com.ptc.ptcnet.C5_MI_BO は、モデルアイテムサブタイプの内部名です。