解析の途中でジョイントを無効にする
解析の途中にジョイントを無効にし、引き続き解析を続ける方法を紹介します。
たとえば、動画の最初に示しますように、ボールを放り投げるような解析が行えます。
MotionViewのtemplateエンティティを使い、MotionSolveの入力ファイルであるxmlファイルに直接コマンドを追加します。
他、Sensorエンティティの使い方も紹介します。
本機能を使うことで、様々なシミュレーションが行えますので、是非ご活用ください。
動画で使用したモデルはこちらです。
使用製品:Altair MotionSolve/MotionView
よくあるエンジニアからの質問はこちら
Answers
-
続きです。
Sensorエンティティを用いて、振り子が真下に来たときに、ジョイントを切り離します。
1 -
Sensorが起動した時刻を保存する手順を紹介します。
SensorエンティティにEvaluation expressionを追加します。Expressionは`time`とします。
これで、センサ起動時にこの式が評価され、センサ起動時のtimeが記録されます。
ただし、このセンサはこの後すぐにdeactivateで無効化されるため、別途solver variableを定義し、ここにセンサの値を保存しておきます。
出力でこのsolver variableの値を確認してみましょう。
無事センサ起動後にセンサ起動時の時刻の値が保持されました。
0 -
お世話になります。
本記事の振り子を例に質問させていただきます。
途中で切り離して落下する球を、ある時刻の相対位置関係のままFixed Jointで再度固定して、解析を続ける方法はあるでしょうか。↓
始めに振り子と球のFixed Jointを設定しておき、スクリプトシミュレーションでDeactiveにしてから解析を実行⇒途中でFixed JointをActiveにしても、初めの相対位置関係に戻ってしまいます。↓
↓JointのOriginの設定を上手く使えれば実現できるかと思い、試行錯誤してみましたが上手くいかず...
何か方法があればご教授いただけるとありがたいです。
0