資料管理能力 > 管理零件結構 > Windchill 選項及變體功能 > 管理選項及變體的資料 - 參考 > 載入選項及變體的資料 > 使用關係連結與出現位置上的運算式
  
使用關係連結與出現位置上的運算式
欲載入出現位置上的運算式,您需要確保可供配置零件與子零件存在於系統中。如果也必須載入可供配置零件與子零件,請遵循下列順序:
載入具有使用關係連結與出現位置的可供配置零件
載入任何使用關係連結上的運算式 (如果有)
載入指派給出現位置的運算式
* 
如果您需要載入使用關係連結與出現位置上的運算式,必須在載入使用關係連結上的運算式之後載入出現位置上的運算式。
欲載入出現位置,請將陳述式包括在用來載入可供配置結構的載入檔案中,如下所示。
<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"/>
下面這個範例顯示如何將進階運算式載入至出現位置:
<!-- 將進階運算式新增至 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>
<!-- 將基本運算式新增至使用關係連結 -->
<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"/>