ユーザーサブルーチンとMotionSolveMotionSolve2022ホームMotionSolveリファレンスガイド本マニュアルは、MotionSolveで使用できるコマンドステートメント、モデルステートメント、関数、サブルーチンインターフェースの一覧とそれぞれの使用方法の情報を提供しています。2022の新機能について説明します。するための統合ソリューションです。チュートリアルインタラクティブなチュートリアルを使用してMotionSolveの機能について説明します。MotionSolveユーザーズガイドMotionSolveは、力学の原理に基づいたシステムレベルのマルチボディソルバーです。MotionSolveリファレンスガイド本マニュアルは、MotionSolveで使用できるコマンドステートメント、モデルステートメント、関数、サブルーチンインターフェースの一覧とそれぞれの使用方法の情報を提供しています。Statements関数MotionSolveのサブルーチンインターフェースユーザーサブルーチンとMotionSolveシステム要件ユーザーサブルーチンのタイプソルバー拡張機能の作成を簡易化するために、MotionSolveには、ユーザーサブルーチンを作成するための明確に定義された手法と明確に定義されたインターフェースが用意されています。APIステートメントMotionSolve2022ホームMotionSolveリファレンスガイド本マニュアルは、MotionSolveで使用できるコマンドステートメント、モデルステートメント、関数、サブルーチンインターフェースの一覧とそれぞれの使用方法の情報を提供しています。概要チュートリアルMotionSolveユーザーズガイドMotionSolveリファレンスガイド索引ユーザーサブルーチンとMotionSolveスクリプトやDLL/SO内のユーザー作成サブルーチン、MotionSolveによって提供されるモデリングアクセスサブルーチン、MotionSolveサブルーチンインターフェース、およびMotionSolve自体の関係を下の図1に示します。図1は、次のように解釈できます:MotionSolveが呼び出され、モデルを含む入力XMLファイルがこれに提供されます。入力XMLファイルには、動作がユーザー定義のDLL/SOまたはスクリプトで定義される複数のモデリングステートメントを含めることができます。動作がユーザー作成DLLまたはスクリプトで定義されるモデリング要素の例を以下に示します。/>この例は、ID=30101のモデリング要素Force_Scalar_TwoBodyの動作が、ファイル./MyFunction.dll内の関数Friction_LuGreによって定義されていることをMotionSolveに伝えています。ID=30102のモデリング要素Force_Scalar_TwoBodyの動作が、Pythonで記述されたファイル./MyFunction.pyc内の関数Friction_LuGreによって定義されていることもMotionSolveに伝えています。入力XMLファイルには、MotionSolveにユーザーサブルーチンによって駆動するように要求する複数のコマンドを含めることもできます。動作がユーザー作成DLLまたはスクリプトで定義されるこのようなコマンドの例を以下に示します。/>この例は、MotionSolveがモデルを読み取ったら、実行制御をファイル./MyFunction.dll内の関数Lane_Changeに渡す必要があることをMotionSolveに伝えます。この関数は、右側の列に示すように、Pythonで記述することもできます。この例は、MotionSolveがモデルを読み取ったら、実行制御をPythonで記述されたファイル./MyFunction.py内の関数Lane_Changeに渡す必要があることをMotionSolveに伝えます。(Pythonスクリプトは、コンパイルされている(*.pyc)場合とコンパイルされていない(*.py)場合があります。)入力ファイルが読み込まれ処理されると、MotionSolveはシミュレーションの準備が整い、XML入力ファイル内のコマンドを実行します。これらのコマンドは、標準のコマンドにすることも、ユーザーサブルーチンで定義されたコマンドにすることもできます。/>MotionSolveが要求された解析を実行します。UserProgramControlコマンドが出現した場合は、指定されたDLL/SOを読み込む(ドライバサブルーチンがコンパイルされている場合)か、Script_Nameで指定されたファイルにアクセスします。その後、Usersub_Fnc_Nameで指定された関数を呼び出して、ドライバユーザーサブルーチン内の命令を実行します。解析の過程において、MotionSolveは、すべてのモデリング要素を評価する必要があります。ユーザー作成サブルーチンを参照するモデリング要素が出現すると、MotionSolveは、ユーザー作成サブルーチンを読み込んで、サブルーチン内の命令を実行し、必要なデータを取得します。ユーザー作成サブルーチンライブラリまたはスクリプトへのパスは、usrsub_dll_nameまたはscript_nameを介したモデリングステートメントで直接指定することも、環境変数を介して指定することもできます。MotionSolveの環境変数のトピックをご参照ください。