MSolve API
MotionSolveのPythonインターフェースについて
MotionSolveで使用するために開発されたPythonインターフェースがあります。これは、Pythonで記述したMotionSolveがライブラリとして用意されているということです。明確に定義された一連のPythonの関数、プロトコル、およびツールを通じて、MotionSolveのすべての機能にアクセスできます。NumPyやMatplotlibなどのライブラリにアクセスする場合とまったく同様に、PythonからMotionSolveの機能にアクセスできます。このインターフェースが使用可能になったことで、MotionSolveを操作する方法が根本的に変わっています。
Python環境でMotionSolveを使用するために、プログラミングのスキルが必要になることはありません。これまでと同様、MotionSolveで解析するモデルを用意できます。さらに、MotionSolveを使用してプログラミングし、独自のソリューションを作成することもできます。
従来からMotionSolveはブラックボックスでした。MotionSolveと通信する手段は、下の図に示すXMLの入力ファイルとユーザーサブルーチンのみでした。
Pythonインターフェースは、これまでの操作方法を主に4つの方法で変革します。
- MotionSolveへの入力はPythonコマンド群です。これらのコマンドは、スクリプトやPython関数、クラスに都合よくまとめられ、再利用できます。
- 標準のPythonを使用して、MotionSolveの中核機能を拡張できます。このため、MotionSolveを従来よりはるかに容易にカスタマイズできます。
- モデルの入力ファイル、コマンド、およびユーザーサブルーチンの間の区別はなくなります。これらはすべてMotionSolveへの入力となります。一部の入力はシミュレーション前に処理され、他の入力はシミュレーション中に処理されます。これら3つはすべて同じ言語を使用して表現されます。
- Pythonとそのアプリケーションライブラリで使用できるさまざまな機能をMotionSolveの機能と容易に統合して、オープンで拡張性に優れ、きわめて高機能なマルチボディシミュレーション機能群を用意できます。
新しいパラダイムを使用することは必須ではありません。旧来のパラダイムは現在でも有効であり、完全にサポートされています。希望に応じてこちらを使用し続けることもできます。
Pythonインターフェースのユーザー
Pythonインターフェースは、次の4つのユーザーグループで使用されます。
- エンドユーザー: MotionSolveを使用したプログラミングを扱うことを特に考えていないユーザーです。これまでと同様にMotionSolveで入力デックを提供できるので、目的とする解がMotionSolveによって生成されます。MotionSolveは完全な後方互換性を備えているため、以前とまったく同じように機能します。
- 上級ユーザー: 自身のニーズを満たすようにMotionSolveをカスタマイズできます。新しいモデリング要素の作成、複合エンティティの開発、カスタム結果の計算、それらの結果に対するポスト処理などの各種操作を、すべてPythonの機能を活用して実行できます。
- MotionView開発者: Pythonインターフェースを使用して、マルチボディシミュレーションに対応したインタラクティブなユーザー環境を作成できます。ソルバーをモデル構築フェーズに統合できます。
- サードパーティ開発者:Pythonインターフェースを使用して、挙動の物理特性がわかっているアプリケーション固有のオブジェクトを作成できます。MotionSolveとの通信は、これらの高度なオブジェクトを使用して実行できます。
このインターフェースの構成要素
- 新しいオブジェクト指向の、MotionSolveのPythonインターフェース
- このインターフェースのリファレンスドキュメント一式
- このインターフェースの使用法を示す多くの例
- ウェビナー形式のトレーニング、有用な情報が記載された専用のConfluenceページ、および1対1のサポート