高度なカスタマイズ > ビジネスロジックのカスタマイズ > Windchill で標準を使用したデータ交換 > EXPRESS を使用した STEP データ交換 > テンプレートの実装 > 関数のカテゴリ > 初期化
  
初期化
ターゲットモデル
ターゲットデータモデルは、書き込み用に暗黙的に開かれ、initTemplateAPI の単純な呼び出しによって初期化されます。'with_rdl' パラメータが 'FALSE' に設定されている場合、RDL は不要です。つまり、コンバータ自身が使用する分類の適切性を判断します。'with_rdl' パラメータが 'TRUE' に設定されている場合、templateAPI<target_model_name>_RDL という RDL か plcsrdl という RDL をデフォルトとして探します。
ソースモデル
ソースモデルは、読み取り用に暗黙的に開かれます。initTemplateAPI 関数は、テンプレート拡張インスタンスを生成します (すでに生成されている場合)。そのため、ソースモデルが PLCS ポピュレーションである場合、初期化段階で書き込み用に一時的に開く必要があります。その後、誤って更新されないように、ソースモデルを読み取り専用で再度開く必要があります。
xpxChangeOpenMode(XPXSOURCEMODELID,xpxRW);
PLCSMODELID := XPXSOURCEMODELID;
initTemplateAPI(TRUE);
xpxChangeOpenMode(XPXSOURCEMODELID,xpxRO);
PLCSMODELID は、templateAPI が対応するモデルの識別子です。デフォルトでは、PLCSMODELIDXPXTARGETMODELID に設定されます。ソースモデルが PLCS ポピュレーションである場合、初期化の際に PLCSMODELIDXPXSOURCEMODELID に切り替える必要があります。XPXSOURCEMODELID および XPXTARGETMODELID は、変数で構築された EDMxpx です。
Init 関数
Init 関数は templateAPI そのものを初期化するだけではなく、API が動作するモデル (PLCS ポピュレーション) も初期化します。representing_part インスタンスは以下の呼び出しで初期化されます。
somestuff := get_representing_part(?,?,?,?,?,?,?,?,?);
init_rep_part := TRUE;
この呼び出しは、representing_part のすべてのインスタンスの総計を返します。まだ生成されていない場合は、representing_part インスタンスが生成されます。ほかのテンプレート拡張エンティティタイプのインスタンスも同様の方法で初期化されます。多くのテンプレートがレイヤー構造になっているため、get_xxxxx がほかの 'get 関数' を呼び出すこともあります。このような依存関係のため、初期化呼び出しの順序には重要な意味があります。同じ理由で、テンプレートによっては、グローバルな初期化フラグ (initialized) に加え、プライベートな初期化フラグがあります。