親子リンクとオカレンスの定義式
オカレンスの定義式をロードするには、コンフィギュレーション可能な部品と子部品がシステムに必ず存在する必要があります。コンフィギュレーション可能な部品と子部品もロードする必要がある場合、以下の順序で操作を行います。
1. 親子リンクとオカレンスがあるコンフィギュレーション可能部品をロードします。
2. 親子リンクの定義式があればロードします。
3. オカレンスに割り当てられている定義式をロードします。
* 
親子リンクの定義式とオカレンスの定義式の両方をロードする必要がある場合、親子リンクの定義式をロードしてからオカレンスの定義式をロードする必要があります。
オカレンスのロード
オカレンスをロードするには、以下に示すような、コンフィギュレーション可能構造をロードするためのステートメントをロードファイルに追加します。
<csvBeginOccurrencedAssemblyAdd handler="wt.part.LoadPart.beginOccurrencedAssemblyAdd">
<csvassemblyPartNumber>CONFIGURABLE_PART_NUMBER</csvassemblyPartNumber>
<csvassemblyPartVersion/>
<csvconstituentPartNumber>CHILD_PART_NUMBER</csvconstituentPartNumber>
<csvconstituentPartQty>QUANTITY</csvconstituentPartQty>
<csvconstituentPartUnit>UNIT</csvconstituentPartUnit>
<csvlineNumber/>
<csvfindNumber/>
<csvoccurrenceLocation>LOCATION</csvoccurrenceLocation>
<csvreferenceDesignator>OCCURRENCE</csvreferenceDesignator>
<csvassemblyPartIteration/>
<csvassemblyPartView>VIEW</csvassemblyPartView>
<csvorganizationName/>
<csvorganizationID/>
</csvBeginOccurrencedAssemblyAdd>
親子リンクに定義式を割り当てる場合、参照指定子を指定せずに、<csvBeginOccurrencedAssemblyAdd> ブロックの直後に割り当てを行う必要があります。次の例では、親子リンクに基本定義式を割り当てています。
<csvChoiceMappableChoiceLink handler="com.ptc.windchill.option.load.Loader.createChoiceMappableChoiceLin">
<csvchoiceName>8GB </csvchoiceName>
<csvInstanceValue/>
<csvExclude/>
</csvChoiceMappableChoiceLink>
オカレンスに割り当てられている基本定義式のロード
次の例では、オカレンスに割り当てられている基本定義式をロードしています。
<!-- Add Basic Expression to OCCURRENCE-2 -->
<csvBeginAssignBasicExpression handler="com.ptc.windchill.option.load.Loader.beginAssignBasicExpression">
<csvoptionSet>Has Optionality</csvoptionSet>
<csvreferenceDesignator>OCCURRENCE-2</csvreferenceDesignator>
</csvBeginAssignBasicExpression>
<csvAddBasicExpressionMember handler="com.ptc.windchill.option.load.Loader.addBasicExpressionMember">
<csvchoiceName>8-MP</csvchoiceName>
<csvInstanceValue/>
<csvExclude/>
</csvAddBasicExpressionMember>
<csvEndAssignBasicExpression handler="com.ptc.windchill.option.load.Loader.endAssignBasicExpression"/>
オカレンスに割り当てられている高度な定義式のロード
次の例では、高度な定義式をオカレンスにロードしています。

<!-- Add Advanced Expression to OCCURRENCE-1 -->
<csvBeginAssignExpression handler="com.ptc.windchill.option.load.Loader.beginAssignExpression">
<csvexpression>EXP1 OR EXP2</csvexpression>
<csvreferenceDesignator>OCCURRENCE-1</csvreferenceDesignator>
</csvBeginAssignExpression>
<csvAddLogicalExpression handler="com.ptc.windchill.option.load.Loader.addLogicalExpression">
<csvnumber>EXP1</csvnumber>
<csvexpression>"8-MP" AND "8GB"</csvexpression>
<csvdescription></csvdescription>
</csvAddLogicalExpression>
<csvAddLogicalExpressionMember handler="com.ptc.windchill.option.load.Loader.addLogicalExpressionMember">
<csvmemberName>8-MP</csvmemberName>
<csvmemberNumber/>
<csvmemberClass>com.ptc.windchill.option.model.ChoiceMaster</csvmemberClass>
<csvcontainerPath>/wt.inf.container.OrgContainer=Demo Organization/wt.pdmlink.PDMLinkProduct=AssignOptionalityTestData</csvcontainerPath>
</csvAddLogicalExpressionMember>
<csvAddLogicalExpressionMember handler="com.ptc.windchill.option.load.Loader.addLogicalExpressionMember">
<csvmemberName>8GB</csvmemberName>
<csvmemberNumber/>
<csvmemberClass>com.ptc.windchill.option.model.ChoiceMaster</csvmemberClass>
<csvcontainerPath>/wt.inf.container.OrgContainer=Demo Organization/wt.pdmlink.PDMLinkProduct=AssignOptionalityTestData</csvcontainerPath>
</csvAddLogicalExpressionMember>
<csvEndLogicalExpression handler="com.ptc.windchill.option.load.Loader.endLogicalExpression"/>
<csvAddLogicalExpression handler="com.ptc.windchill.option.load.Loader.addLogicalExpression">
<csvnumber>EXP2</csvnumber>
<csvexpression>"6-MP" AND "16GB"</csvexpression>
<csvdescription></csvdescription>
</csvAddLogicalExpression>
<csvAddLogicalExpressionMember handler="com.ptc.windchill.option.load.Loader.addLogicalExpressionMember">
<csvmemberName>6-MP</csvmemberName>
<csvmemberNumber/>
<csvmemberClass>com.ptc.windchill.option.model.ChoiceMaster</csvmemberClass>
<csvcontainerPath>/wt.inf.container.OrgContainer=Demo Organization/wt.pdmlink.PDMLinkProduct=AssignOptionalityTestData</csvcontainerPath>
</csvAddLogicalExpressionMember>
<csvAddLogicalExpressionMember handler="com.ptc.windchill.option.load.Loader.addLogicalExpressionMember">
<csvmemberName>16GB</csvmemberName>
<csvmemberNumber/>
<csvmemberClass>com.ptc.windchill.option.model.ChoiceMaster</csvmemberClass>
<csvcontainerPath>/wt.inf.container.OrgContainer=Demo Organization/wt.pdmlink.PDMLinkProduct=AssignOptionalityTestData</csvcontainerPath>
</csvAddLogicalExpressionMember>
<csvEndLogicalExpression handler="com.ptc.windchill.option.load.Loader.endLogicalExpression"/>
<csvEndAssignExpression handler="com.ptc.windchill.option.load.Loader.endAssignExpression"/>
* 
親子リンクをロードしてそれに定義式を割り当てるだけの場合、<csvAssemblyAdd> を使用することをお勧めします。
親子リンクのロードと親子リンクへの基本定義式の割り当て
次の例では、コンフィギュレーション可能な部品と子部品をすでに定義している場合に、親子リンクをロードしてそれに基本定義式を割り当てています。
<csvAssemblyAdd handler="wt.part.LoadPart.addPartToAssembly">
<csvassemblyPartNumber>P00001</csvassemblyPartNumber>
<csvconstituentPartNumber>P00002</csvconstituentPartNumber>
<csvconstituentPartQty>1</csvconstituentPartQty>
<csvconstituentPartUnit>ea</csvconstituentPartUnit>
<csvassemblyPartVersion/>
<csvassemblyPartIteration/>
<csvassemblyPartView>Design</csvassemblyPartView>
</csvAssemblyAdd>
<!-- Add Basic Expression to Usage Link -->
<csvBeginAssignBasicExpression handler="com.ptc.windchill.option.load.Loader.beginAssignBasicExpression">
<csvoptionSet>Has Optionality</csvoptionSet>
</csvBeginAssignBasicExpression>
<csvAddBasicExpressionMember handler="com.ptc.windchill.option.load.Loader.addBasicExpressionMember">
<csvchoiceName>8GB</csvchoiceName>
<csvInstanceValue/>
<csvExclude/>
</csvAddBasicExpressionMember>
<csvEndAssignBasicExpression handler="com.ptc.windchill.option.load.Loader.endAssignBasicExpression"/>
これは役に立ちましたか?