製品コンテナの作成
現在、製品コンテナは 1 ステップで作成できます。ただし、この例では、以前の Windchill の読み込み処理に基づいて顧客があらかじめ製品のロードファイルを用意しています。
コンテナに関する一般的な管理情報については、
コンテキストの概要を参照してください。
プロセスフローを以下に示します。
1. 顧客の適切なデータを使用するために、CSV2XML ユーティリティを使用してデータファイルを XML に変換しています。以下の例を参照してください。
<?xml version="1.0" ?><!DOCTYPE NmLoader SYSTEM "standardX20.dtd">
<NmLoader>
<csvProductContainer handler="wt.part.LoadPart.createProductContainer">
<csvuser>productcreator</csvuser>
<csvname>TestLoad3</csvname>
<csvpnumber>TestLoad3</csvnumber>
<csvsharedTeamName>Shared Team 2</csvsharedTeamName>
<csvcontainerExtendable>true</csvcontainerExtendable>
<csvdescription>Test</csvdescription>
<csvview></csvview>
<csvsource></csvsource>
<csvdefaultUnit></csvdefaultUnit>
<csvtype></csvtype>
<csvcontainerTemplate>General Product</csvcontainerTemplate>
</csvProductContainer>
</NmLoader>
<csvsharedTeamName>Shared Team 2</csvsharedTeamName> と <csvcontainerExtendable>true</csvcontainerExtendable> はオプションです。これらは、読み込みデータに共有チームを含める場合にのみ使用します。
2. データは更新後、カスタム構築された XSL スタイルシートを使用して処理されます。以下の例を参照してください。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
method="xml"
indent="yes"
encoding="iso-8859-1"
doctype-system="standardX20.dtd"
/>
<xsl:template match="/">
<NmLoader>
<xsl:for-each select="//csvProduct">
<csvProductContainer handler="wt.part.LoadPart.createProduct
Container" >
<csvname><xsl:value-of select="csvpartNumber"/></csvname>
<csvnumber><xsl:value-of select="csvpartNumber"/></csvnumber>
<csvsharedTeamName>Shared Team 2</csvsharedTeamName>
<csvcontainerExtendable>true</csvcontainerExtendable>
<csvdescription><xsl:value-of select="csvpartName"/></csv
description>
<csvview></csvview>
<csvsource></csvsource>
<csvdefaultUnit></csvdefaultUnit>
<csvtype></csvtype>
<csvcontainerTemplate>General Product</csvcontainerTemplate>
</csvProductContainer>
</xsl:for-each>
</NmLoader>
</xsl:template>
</xsl:stylesheet>
<csvsharedTeamName>Shared Team 2</csvsharedTeamName> と <csvcontainerExtendable>true</csvcontainerExtendable> はオプションです。これらは、読み込みデータに共有チームを含める場合にのみ使用します。
|
この例では示していませんが、データをテストして検証するための XML コードを開発できます。たとえば、必要な値が空白である場合に、デフォルト値を代用できます。
|
3. 上記の XML コードを使用すると、読み込み準備ファイルが作成されます。製品コンテナは組織に属するため、読み込みユーティリティを呼び出す場合は、該当する組織を指定する必要があります。
製品コンテナの読み込みユーティリティを実行する場合は、ユーザーを指定する必要があります。このユーザーは、指定した組織の製品作成者であることが条件です。また、管理者グループに属している必要があります。この操作は通常、手動で行います。
|
製品コンテナの作成にデフォルト管理者アカウントは使用しないでください。また、デフォルト管理者アカウントをコンテナのチームメンバーとして加えないでください。詳細については、 開始する前にを参照してください。
|
複数の製品コンテナを 1 つのロードファイルに含めることができます。
コマンドの例を以下に示します。
windchill wt.load.LoadFromFile -d product_container.xml -u productcreator
-p productcreator -CONT_PATH \"/wt.inf.container.OrgContainer=My Organization\"
|
UNIX で wt.load.LoadFromFile を呼び出す場合、コンテナの名前にスペースが含まれているときは、コンテナを引用符で囲みます。また、引用符はバックスラッシュを使用してエスケープします。
|
|
代替デフォルト値を指定するには、Windchill 内の「サイト」コンテキストの製品 (最終品目) 初期化規則を調整します。
|
例
バッチファイルの例を以下に示します。
echo *************************************************
echo ** Variable Setup
echo *************************************************
set tmp_org="/wt.inf.container.OrgContainer=My Organization"
echo *************************************************
echo ** Legacy Products Containers
echo *************************************************
windchill wt.load.LoadFromFile -d product_container.xml -u
productcreator -p productcreator -CONT_PATH \%tmp_org%
アセンブリの作成
ほかの製品と共通する部品を使用したり、ほかのライブラリとは独立して存在する製品を作成したりするには、アセンブリを作成する必要があります。
<csvAssemblyAddLoad> タグは既存の部品に対してのみ使用できます。つまり、既存の部品を使用して新規アセンブリを作成する場合にのみこのタグを使用できます。<csvAssemblyAddLoad> タグは、まったく新しい部品を作成する場合は使用できません。
たとえば、以下のファイルの場合を検討します。
<csvBeginWTPart handler="wt.part.LoadPart.beginCreateWTPart">?
このファイルを最初に使用して部品を作成し、次に構成部品を追加する必要があります。
タグの説明の後に、2 つのアプローチ例を示します。
タグの説明
<csvAssemblyAddLoad> タグには以下のタグが含まれます。
• assemblyPartNumber - アセンブリの部品番号。値は必須です。
• constituentPartNumber - 構成部品の部品番号。値は必須です。
• constituentPartQty - 部品の数。値は必須です。
• constituentPartUnit - 部品ユニット (ea など)。値は必須です。
• assemblyPartVersion - 部品バージョン。値を指定しないと、最新バージョンが使用されます。
• assemblyPartIteration - 部品の作業版数。値を指定しないと、最新バージョンが使用されます。
• assemblyPartView - アセンブリ部品の部品構造ビューの名前 (Design や Manufacturing など)。部品構造ビューを使用する場合は、アセンブリ部品のビューバージョンを識別するためにビューを指定する必要があります。部品構造ビューが使用されていない場合、この属性は空白のままにしておきます。
• organizationName - アセンブリ部品を所有する組織の名前。これは部品を所有している組織の名前で、組織コンテナの名前ではありません。組織オーナーシップが使用されていない場合 (部品の名前を変更するときにオーナー組織を選択できない場合)、この属性は空白のままにしておきます。
• organizationID - アセンブリ部品を所有する組織を指定するもう 1 つの方法。組織オーナーシップが使用されていない場合 (部品の名前を変更するときにオーナー組織を選択できない場合)、この属性は空白のままにしておきます。この属性を指定する場合は、以下のフォーマットを使用します。
<コーディングシステム>$<組織 ID>
ドル記号 ($) は区切り記号として機能します。コーディングシステムは、以下のいずれかになります。
◦ 0141 または CAGE
◦ 0060 または DUNS
◦ 0026 または ISO65233
組織 ID は、「参加者管理」または WTOrg 情報ページで指定した組織 ID です。
たとえば、CAGE$1234 は、CAGE コードコーディングシステムを使用していて、その CAGE コードが 1234 である組織を示しています。
|
organizationName および organizationID のいずれかを指定する必要があります。両方を指定する必要はありません。両方を指定する場合は、どちらも同じ組織を指している必要があります。
|
• componentID - 親子リンクに関連付けられる ID。これは、親部品と子マスターの各ペアに対して一意です。言い換えると、親部品を含む親子リンクは別の ID を持ちます。
• inclusionOption (コンフィギュレーション可能部品で使用) - リンク (子部品) が構造に含まれるかどうかを指定します。true に設定すると、リンクが含まれます。false に設定すると、リンクは含まれません。
• quantityOption - InclusionOption と連動して、バリエーション内の子部品の数量を制御します。この数量が固定値 (5 など) の場合、バリエーションの対象子に対してその数量が設定されます。数量がパラメータの場合、そのパラメータの値に基づいて、バリエーションの子の数量が設定されます。数量を 0 以下に設定すると、子部品が含まれなくなります。
• reference ID - コンフィギュレーション可能な子部品に割り当てられるエイリアス。その子部品 (またはその子孫) のパラメータを参照する場合に必要となります。たとえば、親部品にはパラメータ A、子部品にはパラメータ B が割り当てられ、部品間の親子リンクには参照 DOOR が割り当てられている場合、パラメータ間には次の対応を確立できます。A == DOOR.B