MV-1035: CADまたはFEのMotionViewへの読み込み

本チュートリアルでは、重要なモデリングアプローチであるCADデータからのMBDモデルの構築について学習します。

本チュートリアルでは、以下のことを学習します:
  • CADアセンブリのMotionViewへのインポート
  • CSVファイルをインポートしてポイントを作成
  • インポートされたデータを用いたMBDモデルの構築

MotionViewのImport CAD or FEユーティリティでは、CADまたはFEアセンブリをインポートすることができます。CADフォーマットには、CATIA、Parasolid、Pro E、STEP、JT、SolidWorksおよびUnigraphicsが含まれます。FEフォーマットには、HyperMeshOptiStructおよびNastranが含まれます。

CADまたはFEアセンブリは、既存のボディに関連付けされるためのグラフィックスのみとして、あるいはグラフィックスと共に計算された質量と慣性プロパティをもった新しいボディとして、MotionViewにインポートすることができます。

MotionViewで読み込むことのできるマルチボディ関連のCADアセンブリには下記が含まれます:
  • コンポーネントの質量
  • コンポーネントの慣性モーメント
  • コンポーネントの重心位置
  • コンポーネントのグラフィックス

CADインポートユーティリティは背景でHyperMeshをコールし、メッシュ化(モザイク化)されたかたちで形状の情報を有するグラフィックファイル(*.h3d)を書き出します。CADまたはFEをインポートして質量と慣性モーメントをもった新しいボディを作成する際、このユーティリティはHyperMeshを使って質量、慣性モーメントおよび重心位置を計算します。

本演習では、CADアセンブリをMotionViewに読み込み、マルチボディ解析の観点からモデルを簡略化し、拘束条件およびモデルの入出力を定義します。

mbd_modeling\automation\CADフォルダーにあるすべてのファイルを、自身の作業ディレクトリ<working directory>にコピーしてください。

MotionViewでのCADファイルの読み込み

本ステップでは、読み込みとモデルの簡略化を行う手順に焦点を当てます。

  1. をクリックし、新しいMotionViewセッションを開始します。
  2. メニューバーからFile > Import > Geometryをクリックします。

    または、

    StandardツールバーのImport Geometry をクリックします。

    Import CAD or FEダイアログが表示されます。
  3. Import Optionsの下で、Import CAD or Finite Element Model with Mass and Inertiasを選択します。
  4. Input FileプルダウンメニューからSTEPを選択します。
  5. をクリックし、STEPファイルを選択します。
  6. 作業ディレクトリからファイルFront_Assembly.stepを選択します。
  7. Openをクリックします。
    Output Graphic File欄にはH3Dファイル名として、自動的にFront_Assembly_graphic.h3dと入力されます。
  8. MDL Optionsの横のプラスボタンをクリックし、各オプションを確認します。


    Figure 1.
    Note: MDL Optionsにより、読み込みの際に柔軟なオプションが与えられます。CADファイルは既存のシステム / アセンブリ内にインポートされるか、もしくは新しいシステムを作成することが可能です。
  9. 本演習では、デフォルトの設定を使用します。
  10. Meshing Options for Surface Dataの下のオプション群を確認します。


    Figure 2.
    Note: このセクションは、メッシュのサイズをコントロールするのに役立ちます。作成されるMBDモデルが非接触問題を解くために用いられる際、Allow HyperMesh to specify mesh optionsの下のデフォルトのオプション群を使用します。Launch HyperMesh to create MDL pointsオプションでは、MDLポイントとしてMotionViewに読み込むことの可能な節点をHyperMeshで選択することができます。本演習では、マクロを使ってこれらの追加のポイントを作成するため、このオプションは不要です。接触を含むモデルの場合、Control mesh coarseness for contactsを使用することが推奨されます。Interactive mesh (launches HyperMesh) オプションは、サーフェスを手動でメッシングするために使用できます。このオプションは特に、より細かいメッシュがより良い結果を与える接触問題などで役立ちます。
  11. Locator Points (Must be in source reference frame)の横のプラスボタンをクリックし、各オプションを確認します。


    Figure 3.
    Note: Locator Pointsオプションは、読み込まれるCADモデルがMotionView内のモデルと同じ座標系にないような場合に使用できます。このオプションによりユーザーは、ソースグラフィックス上の3つの節点または座標値を指定し、それらを使って、読み込み後にMotionViewで3つのポイントにより方向付けを行うことができます。本チュートリアルではインポートされたグラフィックが必要とされる位置にあるため、このオプションは必要ではありません。
  12. Noneを選択します。
  13. OKをクリックします。
    Import CADダイアログが表示されます。
    Note: このダイアログは、質量と慣性の情報を生成するのに役立ちます。一覧には、インポートされる各種ボディまたはコンポーネント、およびデフォルトの密度7.83e-6に基づいた体積と質量の情報が表示されます。各コンポーネントの密度値は修正することができます。また、 CADサマリーファイルを使って質量 / 体積を抽出することも可能です。
  14. Input file lengthをMillimeterに設定します。
  15. Componentの下で、Wheel_body1を選択します。Apply density to selected components欄で、密度の値を8.5e-7に変更し、Applyをクリックします。


    Figure 4. Import CADダイアログ
  16. その他のコンポーネントの密度値はデフォルトのままとします。OKをクリックします。
    MotionViewへのインポートが正常に完了すると、"Translating/Importing the file succeeded!"というメッセージがメッセージログに表示されます。
  17. メッセージログをクリアします。
    ボディ、および関連したグラフィックスがmodeling windowに表示されます。
    Note: Extract mass/inertia data from CAD summary file:オプションは、CATIAサマリーファイルにのみ使用できます。現時点では、その他のCADパッケージからのサマリーファイルはこのオプションでサポートされていません。

サスペンションアセンブリボディの統合と名称変更

Strut_rodというプリフィクスのついたボディが3つあります。これらのボディは実際には繋がっていて、1つのボディとして表すことができます。これらのボディが別々に扱われると、モデルの複雑さが増し、また、それらの相互作用も私たちの興味の対象ではないので、ボディは1つに統合します。
  1. Project BrowserでボディStrut_rod_1_body1Strut_rod_body1およびStrut_rod_body2を選択します。右クリックで、コンテキストメニューを呼び出します。


    Figure 5.
  2. Merge Bodiesを選択します。このオプションは、2つ以上のボディを1つに統合するために使用されます。
  3. Merge Bodiesダイアログで、Label:にStrut_rod、Varname:にb_Strut_rodと入力します。OKをクリックします。
    選択された3つのボディは消去され、これより以前に入力された1つの新しいボディに置き換えられます。このボディの質量と慣性値は、置き換えられた3つのボディの有効質量および慣性値と同等です。


    Figure 6.
  4. 手順1.から3.を繰り返し、ボディStrut_tube_1_body1Strut_tube_body1を統合します。作成される新たなボディについて、Label:にStrut_tube、Varname:にb_Strut_tubeと入力します。
  5. Project Browserから、Wheel_body1 (ホイールパート)を選択します。
  6. F2を押すかWheel_body1を右クリックし、Renameを選択します。
  7. 選択されたボディのラベルをWheelに変更します。
  8. 同様に、下記のパートの名称も変更します:
    S. No 元の名称 新しい名称
    1 Wheel_Hub_body1 Wheel_Hub
    2 Lower_Control_Arm_body1 Lower_Control_Arm
    3 Axle_Shaft_body1 Axle_Shaft
  9. モデルをfront_susp.mdlとして保存します。


    Figure 7.
Merge Bodiesオプションについての注意事項:
  • Mergeに際し新たに生成されるボディの質量および慣性モーメントは、統合されるボディ群の有効質量および慣性モーメントと同等になります。
  • 新しい重心ポイントは、統合されるボディ群の有効重心ポイント位置に作成されます。
  • ペアボディは統合できません。
  • Mergeオプションは、同じコンテナ(System/Assembly/Analysis)内でのみ機能します。異なるコンテナエンティティに属するボディの統合はサポートされていません。コンテキストメニューアイテムは、これらのケースでは表示されません。
  • 統合されるボディが式で参照されている場合、Merge後にこれらの式を修正し、新たに作成されるボディを指すようにしなければなりません。
  • ボディに属するグラフィックスは、新しいボディに自動的に解決されます。
  • 統合されるボディに関連付けされたジョイント、ブッシュなどが存在する場合、それらは新しいボディに自動的に解決されます。

ポイントの作成

ボディの作成後、ジョイントの位置と向きの指定に使用される追加のポイントが必要となります。これらのポイントは、Macrosメニュー内に用意されているマクロを使って生成できます。

  1. MacrosメニューからCreate Points > Using Coordinatesを選択するか、もしくはCreate points using Coordinates をクリックします。


    Figure 8.
  2. をクリックし、ポイントテーブルファイルを読み込みます。


    Figure 9.
  3. 作業ディレクトリからファイルsuspension_points.csvを選択します。
  4. Openをクリックします。
    CSVファイル内のすべてのポイントの座標がユーティリティにインポートされます。


    Figure 10.
  5. Varname prefixをp_susp.と指定します。
  6. OKをクリックします。
    モデルにポイントが追加されます。これらの追加のポイントは、ジョイント、方向、およびその他のモデル入力の定義に使用されます。
    Note: このマクロを使用するには、下に示すフォーマットの*.csvファイルを作成する必要があります:


    Figure 11.

    1st Column - X座標

    2nd Column - Y座標

    3rd Column - Z座標

  7. モデルを保存します。

ジョイントとスプリングダンパーの作成

このステップでは、ボディを結合するジョイントと、StrutチューブとStrutロッドの間のスプリングダンパーを追加します。

  1. Project BrowserModelを右クリックし、Add > Constraint > Jointを選択します(もしくは、ツールバーからJoints を右クリックします)。
    Add Joint or JointPairダイアログが表示されます。
  2. LabelとVariableをそれぞれWheel Spindle RJj_whl_spindle_revjに指定します。
  3. TypeにRevolute Jointを選択します。
  4. OKをクリックします。
  5. 以下の選択を行います:
    1. ジョイントのBody1にWheelと指定します。
    2. Body2にWheel_Hubを指定します。
    3. OriginにPoint7を指定します(ホイール中心廻りのポイント)。
    4. AxisにPoint19を指定します(軸シャフト中心廻りのポイント)。


    Figure 12.
  6. 以下の一覧を使って、モデルの残りのジョイントを追加します:
    S.No Label Type Body 1 Body 2 Origin(s) Orientation Method Ref. 1 Ref. 2
    1 Strut Hub Fix Fixed Joint Wheel_Hub Strut_rod Point8      
    2 Strut Trans Translation Joint Strut_rod Strut_tube Point23 Axis(Pt) Point9  
    3 Strut Tube Ground UJ Universal Joint Strut_tube Ground Body Point9 Shaft(Pt)

    Shaft(Vect)

    Point23 Global X
    4 Axle Hub Fix Fixed Joint Axle_Shaft Wheel_Hub Point19      
    5 Hub Control Arm Ball Ball Joint Lower_Control Arm Wheel_Hub Point3      
    6 Control Arm Ground Rev Revolute Joint Lower_Control Arm Ground Body Point1 Axis(Pt) Point2  
  7. Project BrowserModel and select Add > Force Entity > Spring Dampers を選択します(もしくは、ツールバーからSpring damper アイコンを右クリックします)。
  8. LabelをStrut-SpringDamper、Variableをsd_strutと指定します。
  9. Create explicit graphicsボックスにチェックマークを入れ、スプリングダンパーエンティティに明示的グラフィックを作成します。
  10. OKをクリックします。
  11. Body1とBody2にそれぞれStrut_tubeStrut_rodを指定します。
  12. Point1とPoint2にそれぞれPoint9Point0を指定します。
  13. Propertiesタブをクリックし、stiffness (K linear)を10、damping (C linear)を0.1と指定します。
  14. モデルを保存します。

モデルへのジャッキの追加

次に、このモデルにジャッキを追加し、このジャッキを使ってホイールに縦の動きを与えます。.
  1. Project BrowserModelを右クリックし、Add > Reference Entity > Body を選択します(もしくは、ツールバーからBodies を右クリックします)。
  2. LabelをJack、Variableをb_jackとして、ボディを追加します。
  3. Propertiesタブをクリックし、Massに0.01、ボディの3つの主慣性値にそれぞれ100100100と指定します。
  4. CM Coordinatesタブをクリックし、Use CM Coordsysボックスにチェックマークを入れます。
  5. Point10(Wheelボディの下部)をJackボディのCM Originとしてピックします。
  6. Project BrowserModelを右クリックし、Add > Reference Entity > Graphic を選択(もしくは、ツールバーからGraphic を右クリック)してグラフィックを追加します。
  7. グラフィックのLabelにJack Plateと指定し、TypeとしてドロップダウンメニューからCylinderを選択します。
  8. デフォルトの変数を受諾します。
  9. Connectivityタブで、Parent BodyにJackを選択します。
  10. Point10をOriginとしてピックします。DirectionをVectorに切り替え、Global Zを選択します。
  11. Propertiesタブをクリックします。その横の欄に値-30を入力します。
  12. Radius 1に値250を指定します。

    Radius 2欄がRadius 1と同じ値で更新される点にご注目ください。

  13. Project BrowserModelを右クリックし、Add > Constraint > Jointを選択します(もしくは、ツールバーからJoints を右クリックします)。
  14. LabelにJack Wheel Inplane、Variableにj_jack_wheelと指定します。
  15. Typeに、ドロップダウンメニューからInplane Jointを選択します。
  16. OKをクリックします。
  17. Connectivityタブで、Body1にWheel、Body2にJackを選択します。
  18. OriginとしてPoint10、Normal.としてVector Global Zを選択します。
  19. Addでもう1つジョイントを追加し、LabelにJack Ground Trans、Variableにj_jack_grndと指定します。
  20. TypeにTranslational Jointを選択します。
  21. OKをクリックします。
  22. Connectivityタブで、Body1にJack、Body2にGround Bodyを選択します。
  23. OriginとしてPoint10、Alignment AxisとしてVector Global Zを選択します。
    これで、モデルに必要なすべてのジョイントが揃いました。
  24. モデルを保存します。


    Figure 13. フロントサスペンション

モーション入力の指定とMotionSolveでのモデルの実行

本ステップでは、ジャッキに適用されるモーションを作成し、モデルを解決します。

  1. Project BrowserModelを右クリックし、Model and select Add > Constraint > Motionを選択(もしくは、ツールバーからMotion を右クリック)してモーションを追加します。
  2. LabelにJack Motionと指定します。Variableにmot_jackと指定します。
  3. Connectivityタブで、JointにJack Ground Trans(JackとGround Bodyの間の並進ジョイント) を選択します。
  4. Propertiesタブで、プロパティタイプをドロップダウンメニューからExpressionに変更します。変位モーションの式として、`50*sin(TIME)`と入力します。
  5. 別のモーションを追加し、ホイールの自由バネを拘束します。モーションを追加し、ラベルにWheel Spindle、変数名にmot_wheelと指定します。
  6. ConnectivityタブからJointにWheel Spindle RJを選択します。
  7. Propertiesタブで、Motionの値が0.0となっていることを確認します。

    この0.0ラジアンのモーションは、Wheelボディが軸周りに自由にスピンしないようにします。

  8. モデルを保存します。
  9. Check Model をクリックします。表示されるMessage Logで、ワーニングやエラーのないことを確認します。メッセージログをクリアします。
  10. Runパネルに移動します。
  11. Save and run current model をクリックし、MotionSolvee入力XMLファイルの名称を指定します。
  12. Simulation typeドロップダウンメニューからStatic+Transientを選択します。
  13. Runをクリックします。
  14. 実行が完了したらAnimateをクリックし、シミュレーションのアニメーション表示を確認します。