ProFeatureCreate() 関数の呼び出し
 
次の関数について説明します。
ProFeatureCreate() の構文は次のとおりです。
ProError ProFeatureCreate (
ProSelection model, /* (In) The part on which the
feature is being
created. If the feature
is created in an
assembly, you must
specify the component
path. */
ProElement elemtree, /* (In) The element tree. */
ProFeatureCreateOptions options[], /* (In) An array of user
options. */
int num_opts, /* (In) The number of options
in the options array. */
ProFeature *p_feature, /* (Out) The feature handle. */
ProErrorlist *p_errors /* (Out) The list of errors. */
)
ProFeatureCreate() への最初の入力引数が、新しいフィーチャーを含むソリッドを識別します。これは ProSelection オブジェクトの形式で表されます。
*ProFeatureCreate() への入力の ProSelection オブジェクト、およびフィーチャーツリー要素に割り当てられたすべての ProSelection オブジェクトは、必ず同じルートアセンブリを参照する必要があります。
2 つ目の入力引数は ProElement オブジェクトで、フィーチャー要素ツリーのルートを形成します。
次の 2 つの入力は、作成オプションの配列と配列のサイズです。作成オプションは、要素ツリーが不完全な場合、またはジオメトリを構築できない場合に、ProFeatureCreate() がすべきことを指定します。各オプションは、次の列挙型 ProFeatureCreateOptions のいずれかの値です。
PRO_FEAT_CR_NO_OPTS - オプションは選択されません。
PRO_FEAT_CR_DEFINE_MISS_ELEMS - 要素が不足している場合、ユーザーにフィーチャーを完成するよう指示を出します。
PRO_FEAT_CR_INCOMPLETE_FEAT - いくつかの要素が不足していても、フィーチャーを作成します。フィーチャーは Creo+ フィーチャーリストとモデルツリーに表示されますが、再生には使用されません。
PRO_FEAT_CR_FIX_MODEL_ON_FAIL - フィーチャージオメトリが構築できないとき、問題を解決するようユーザーに指示します。
オプションが必要ない場合は、配列を NULL に、サイズをゼロに設定できます。オプションを設定しない場合、ProFeatureCreate() は失敗し、要素ツリーが不完全またはジオメトリが構築できない場合は、エラーが返されます。
フィーチャーの完全性をチェックするには、関数 ProFeatureIsIncomplete() を使用します。
次の引数は、新しく作成されたフィーチャーを識別する ProFeature オブジェクトを提供する出力です。
最後の引数は、フィーチャー要素ツリーで検出されたエラーをレポートする出力です。誤ったアプリケーションコードが原因で生じたエラーのみがレポートされるため、この引数はアプリケーション開発者用に設計されています。この引数は、Creo+ ユーザーにエラーをレポートするための方法ではありません。エラーは ProErrorlist と呼ばれる構造体に書き込まれます。その ProItemerr.h での宣言は次のとおりです。
typedef struct
{
ProItemerror *error_list;
int error_number;
} ProErrorlist;
typedef struct
{
int err_item_id;
ProErritemType err_item_type;
ProError error;
} ProItemerror;
typedef enum ProErritemTypes
{
PRO_ERRITEM_NONE = -1,
PRO_ERRITEM_FEATELEM = 1
} ProErritemType;
error_list フィールドは、ProFeatureCreate() が検出したフィーチャー要素ツリー内のすべてのエラーの配列です。各エラーは標準の Creo TOOLKIT エラータイプである ProError で表された値を持ち、指定された識別子の要素を参照できます。それ以外の場合は一般的なエラーです。
Creo TOOLKIT ロードポイントの Creo TOOLKIT サンプルコードには、多くの便利なユーティリティがあります。ProUtilElementtreePrint() などのユーティリティは、要素ツリーの構築やデバッグにおいて特に便利です。
Pro/ENGINEER Wildfire 5.0 以降、関数 ProFeatureCreate() は廃止が予定されています。代わりに、入力引数 flagsPRO_REGEN_NO_FLAGS に設定して関数 ProFeatureWithoptionsCreate() を使用することで、同等の処理が可能です。ProFeatureWithoptionsCreate() については、コア: フィーチャーのセクションの再生フラグに基づいたフィーチャーの操作のセクションで詳しく説明されています。
これは役に立ちましたか?