ソリッドの再生
 
次の関数について説明します。
ProSolidRegenerate() 関数は、指定されたソリッドを再生します。この関数への入力の 1 つに、再生の実行方法を指定するビットマスクがあります。ビットマスクには次のフラグが含まれます。
PRO_REGEN_NO_FLAGS - フラグを渡しません。
PRO_REGEN_CAN_FIX - 再生に失敗した場合、ユーザーインタフェースを使用して対話形式でモデルを修正できます。このビットフラグは対話形式のアプリケーションでのみ設定する必要があります。このオプションを指定しない場合、再生に成功してもユーザーインタフェースが更新されません。ProWindowRepaint()ProTreetoolRefresh() を使用し、必要に応じてインタフェースを更新します。さらに、このビットフラグは必ず分析モードで設定する必要があります。そうでない場合、ProSolidRegenerate()PRO_TK_BAD_CONTEXT を返します。
PRO_REGEN_ALLOW_CONFIRM - このフラグは Creo Parametric 4.0 M030 以降、廃止されています。再生に失敗した場合、ダイアログボックスが表示され、ユーザーは失敗したフィーチャーとその子を残すオプションを対話形式で選択できます。このビットフラグは必ず分析なしモードで設定する必要があります。そうでない場合、ProSolidRegenerate()PRO_TK_BAD_CONTEXT を返します。
*再生に失敗した場合に、失敗したフィーチャーとその子を維持するオプションを提供する対話形式のダイアログボックスはサポートされなくなりました。Creo Parametric では、失敗したフィーチャーの詳細を説明する警告メッセージが表示されます。
PRO_REGEN_UNDO_IF_FAIL - 失敗した生成を取り消し、前の状態に戻すことができます。このフラグは必ず分析なしモードで設定する必要があります。そうでない場合、ProSolidRegenerate()PRO_TK_BAD_CONTEXT を返します。分析モードの「回復」(Restore) オプションを使用したときとは結果が異なる場合があります。分析モードの「回復」(Restore) は 1 回目の失敗の直後に使用できますが、分析なしモードでこのビットフラグを使用して元に戻す操作は、すべてのフィーチャーが再生されるか失敗した後でのみ実行できます。場合によっては、まったく元に戻らないこともあります。
*ビットフラグ PRO_REGEN_ALLOW_CONFIRMPRO_REGEN_UNDO_IF_FAIL は互いに互換性がありません。これらを両方とも設定すると、PRO_TK_BAD_CONTEXT が返されます。
PRO_REGEN_SKIP_DISALLOW_SYS_RECOVER - 失敗回復の準備をスキップします。このオプションを使用した場合、失敗した場合に「変更を元に戻す」(Undo Changes) を使用できます。このオプションは必ず PRO_REGEN_CAN_FIX と併用します。
PRO_REGEN_UPDATE_INSTS - メモリ内のソリッドのインスタンスを更新します。これによって再生速度が低下する可能性があります。
PRO_REGEN_RGN_BCK_USING_DISK - バックアップモデルをディスクに保存します。これは、PRO_REGEN_CAN_FIX が設定されている場合のみ使用できます。
PRO_REGEN_FORCE_REGEN - ソリッドを完全に再生します。これによってソリッド内のすべてのフィーチャーが再生されます。このオプションを設定しない場合、Creo Parametric の内部アルゴリズムに基づいて再生するフィーチャーが決定されます。
PRO_REGEN_TOP_ASM_ONLY - トップレベルアセンブリのみを再生します。このフラグを使用すると、指定したトップレベルアセンブリで定義されているすべてのフィーチャーおよび構成部品が、最新であっても、再生されます。下位レベルのアセンブリのフィーチャーおよび構成部品も、正しいアセンブリ再生結果に必要であれば、再生プロセス中に再生されることがあります。ただし、これらは再生プロセスから除外されません。
*このフラグは PRO_REGEN_FORCE_REGEN と併用できません。
PRO_REGEN_UPDATE_ASSEMBLY_ONLY - アセンブリとサブアセンブリの配置を更新し、アセンブリフィーチャーおよび交差部品を再生します。影響を受けるアセンブリが簡略表示として読み込まれる場合、このフラグは構成部品の位置を更新します。フラグが設定されていない場合、簡略表示が読み込まれても、構成部品の位置はデフォルトで更新されません。
*このフラグは PRO_REGEN_FORCE_REGEN と併用できません。
PRO_REGEN_RESUME_EXCL_COMPS - 簡略表示から除外されている構成部品を Creo Parametric が再生できるようにします。これにより、簡略表示がさらに正確に更新されるようになります。
*このオプションを設定した場合、ProSolidRegenerate() の呼び出し時にセッションにない構成部品モデルは読み込まれません。
PRO_REGEN_NO_RESOLVE_MODE - Pro/ENGINEER Wildfire 5.0 で導入された分析なしモードを指定します。これは、Creo Parametric のデフォルトモードです。このモードでは、モデルやフィーチャーの再生に失敗した場合、失敗したフィーチャーとその子が作成され、その他のフィーチャーの再生が続行されます。
PRO_REGEN_RESOLVE_MODE - 分析モードを指定します。このモードでは、Pro/ENGINEER Wildfire 4.0 の動作が引き継がれ、モデルやフィーチャーの再生に失敗した場合、再生を再開する前に失敗を解決する必要があります。分析モードに切り替えるには、Creo Parametric セッションで、コンフィギュレーションオプション regen_failure_handlingresolve_mode に設定する方法もあります。
Creo Parametric 7.0.1.0 以降では、コンフィギュレーションオプション regen_failure_handling は廃止されました。モデルおよびフィーチャーの再生が失敗した場合に、分析モードを使用する場合は、PTC カスタマーサポートに連絡する必要があります。詳細については、Getting Started with Creo TOOLKIT ガイドのセクション「PTC テクニカルサポートへの連絡」を参照してください。
*コンフィギュレーションオプションの設定によって分析モードに切り替えた場合、分析なしモードで保存されたモデルを読み込む場合を除き、旧リリースの動作になります。常に旧リリースの動作にするには、Creo Parametric セッションの最初から全体を通して分析モードを使用してください。関連する関数でビットフラグ PRO_REGEN_RESOLVE_MODE を一時的に設定しても、旧リリースの動作にならないことがあります。
PRO_REGEN_INTERACTIVE_UI - Creo Parametric での対話型ユーザーインタフェースをサポートします。たとえば、インポートされた PRO_PROGRAM_FILE ファイルの読み取りまたは実行中にエラーが発生した場合、ダイアログボックスが Creo Parametric で開き、操作を続行するかどうかが尋ねられます。
ProSolidRegenerationIsNoresolvemode() 関数は、アクティブな Creo Parametric セッションの再生モードが分析なしモードかどうかを示します。分析なしモードを使用するには、ProBoolean 引数 is_no_resolvePRO_B_TRUE に設定します。
ProSolidRegenerationstatusGet() 関数は、ソリッドモデルの再生ステータスを返します。このステータスは、Creo Parametric ユーザーインタフェースの再生ステータスインジケータ (緑色/黄色/赤色) に対応しています。
再生ステータスは次のいずれかの値をとることができます。
PRO_SOLID_REGENERATED - モデルが最新で、再生の必要がないことを表します。
PRO_SOLID_NEEDS_REGENERATION - モデルが変更されていて、再生が必要であることを表します。
PRO_SOLID_FAILED_REGENERATION - 再生に失敗したか、再生に関して警告があることを表します。
*循環参照やアセンブリ解析フィーチャーなどの特定の内容を含むモデルでは、完全に "再生された" ことを示すステータスが返ることはありません。したがって、このステータスだけに基づいて、以降のアクションに制約を設けるべきではありません。フラグが PRO_SOLID_NEEDS_REGENERATION であっても、連続して 2 回の再生に成功した直後であれば、そのモデルは最新であると見なすことができます。
PRO_SOLID_CONNECT_FAILED - モデルは正常に再生されたが、ソリッドモデルのメカニズムに対して接続操作が失敗したことを表します。このステータスは、構成部品を移動しているアセンブリのみに適用されます。
例 2: 再生フラグの組み合わせ
<creo_toolkit_loadpoint>/protk_appls/pt_userguide/ptu_solid にある UgSolidRegen.c 内のサンプルコードは、ProSolidRegenerate() 関数の使用方法を示しています。
これは役に立ちましたか?