Main Content

固体ジオメトリの表現

モデルにおけるジオメトリ

ジオメトリは、固体、および固体で構成されたボディの主要属性です。これは、モデル化に際し Solid ブロックによって視覚補助として提供される固体の可視化において、大きな役割を果たします。また、モデルの組み立て後やシミュレーション時に Mechanics Explorer 内に表示されるマルチボディの可視化においても重要です。このように固体ジオメトリの目的の 1 つは、単一の固体の構想から完全なマルチボディ モデルのシミュレーションまで、モデリング ワークフロー全体の可視化を実現することです。

ボディ要素のジオメトリ

固体ジオメトリには、あまり目立たない第 2 の目的があります。固体ブロックにおける慣性の指定を簡略化することです。固体の慣性パラメーターの大部分は、ジオメトリと質量 (または質量密度) の両方がわかっている場合には簡単に計算できます。固体ブロックには、これらの計算を実行する慣性のパラメーター表現 [Calculate from Geometry] が用意されています。固体ジオメトリとその質量の測定値を指定すると、ブロックは、残りの慣性パラメーター (慣性モーメント、慣性乗積、重心) を得るのに必要な数値積分を実行します。

Body Elements ブロックにおけるジオメトリ

固体ジオメトリは、実用面で座標系や慣性とは異なっています。後者は、Rigid TransformInertia などのブロックを使用して単独でモデル化できる属性です。固体ジオメトリには、これに相当する専用ブロックはありません。Graphic ブロックと Spline ブロックはジオメトリを表し、それらのジオメトリの可視化手段を提供しますが、どちらも実際の固体ジオメトリの代わりに使用するには不十分です。

Graphic ブロックは座標系にマーカーを追加するだけです。通常これは、その座標系を強調表示する手段です。Spline ブロックは、主に Point on Curve Constraint ブロックと共に使用する目的で平面や空間曲線を追加します。固体やボディを可視化する場合や、固体ジオメトリで可能な自動慣性計算を活用する場合には、固体ブロックを使用しなければなりません。

実践: 単純な円柱形状の指定

Cylindrical Solid ブロックを使用して、事前設定された単純な形状、半径が 5 cm で長さが 20 cm の円柱形状をもつボディをモデル化します。Cylindrical Solid ブロックの可視化ペインで固体を可視化します。(未完成の) モデル内における固体の相対配置は無視します。

  1. Cylindrical Solid ブロックを新しい Simulink モデルに追加して、ブロックのダイアログ ボックスを開きます。[Geometry] パラメーター セクションでは、1 辺が 1 m の円柱形状が既定で指定されています。

  2. [Radius] パラメーターの行で 5 の値を入力し、[cm] の単位を選択します。単位はドロップダウン リストから選択するか、手動で入力することができます。

  3. [Length] パラメーターの行で 20 の値を入力し、再度 [cm] の単位を選択します。可視化ペイン内の警告により、固体の可視化を更新するように促されます。

  4. 可視化ツールストリップで、[Update Visualization] ボタンをクリックします。可視化ペインが更新されて新しい固体ジオメトリが表示されますが、寸法が小さいためよく見えません。[Fit to View] ボタンをクリックして、ズーム レベルを最適化してください。固体のジオメトリが予想どおりであることを確認します。

  5. [Inertia] パラメーター セクションを展開し、[Type] パラメーター設定を確認します。ジオメトリからの慣性特性の自動計算は、既定で有効になっています。固体のモデルを完成させるには、固体の質量または質量密度が正しい値に設定されているのを確認するだけで済みます。[OK] をクリックして、現在の固体の設定を確定します。

モデル内での固体の位置と向きの設定

固体ブロックが接続されていないと、その固体の相対配置は定義されません。モデル内での固体の姿勢 (位置と向き) を決定するには、固体ブロックに属する基準座標系端子 (B) またはカスタム座標系端子 (任意) を接続しなければなりません。たとえば、端子 RWorld Frame ブロックの端子 W に接続すると、固体の基準座標系がワールド座標系と一致するように固体が配置されます。次の図は、そうした接続を示しています。

このような空間関係の指定は、Simscape Multibody 環境でモデル化を行う上で重要です。2 つの座標系の間に "剛体変換" と呼ばれる処理の適用によって、それらの座標系を相互に回転および並進させることができます。座標系と変換の詳細については、座標系の取り扱いを参照してください。

モデル化を容易にするため、固体ブロックには座標系作成インターフェイスが用意されています。このインターフェイスを使用すると、新しい座標系を追加して配置し、頂点、エッジ、面、ボリュームなどのジオメトリの特徴を選択できます。このインターフェイスを使用して座標系を作成する方法については、カスタムの固体座標系の作成を参照してください。

事前設定された固体形状

固体ブロックでは、事前設定された形状のかなり大きな配列が提供されます。これらの形状は、[Radius][Length] など、使いやすいパラメーターを入力とする単純なパラメーター化を備えています。事前設定された形状により、球形、円柱形、角柱形などの固体をすぐにモデル化することができます。さらなる多様性のため、事前設定された形状には Extruded Solid ブロックと Revolved Solid ブロックが含まれています。これらの形状の断面は、軸の垂直方向または水平方向に変更できます。これらの形状の詳細については、押し出しおよび回転のモデル化を参照してください。

実践: 単純な回転形状の指定

Revolved Solid ブロックを使用して、高さ 5 フィートで底面半径も 5 フィートの円錐である回転体をモデル化します。Revolved Solid ブロックの可視化ペインで固体を可視化します。(まだ未完成の) モデル内における固体の相対配置は無視します。

  1. Revolution Solid ブロックを Simulink モデルに追加します。

  2. [Cross-Section] パラメーターの行で、座標行列 [0 0; 5 0; 0 5] を入力し、[ft] の単位を選択します。行列の各行は、断面の点に対して [x z] の順で指定された座標ペアを与えます。

  3. [Update Visualization] ボタンと [Fit to View] ボタンをクリックします。固体のジオメトリが予想どおりであることを確認します。[OK] をクリックして新しい固体ジオメトリを確定し、ブロックのダイアログ ボックスを閉じます。

固体断面の指定

Revolved Solid ブロックは、z 軸を中心に、指定された xz 断面をスイープすることによって回転形状を生成します。有効な形状をエラーなしで一貫して生成するために、Revolved Solid ブロックではいくつかの規則が適用されます。その中で最優先されるのは、座標行列の 1 つの点から次に進む際、固体の領域は左側に、空 (または中空) の領域は右側に来るという要件です。押し出し形状にも同じ規則が適用されますが、断面座標は (x、y の) ペアで、断面は xy 平面にあるという 1 つの違いがあります。

インポートされた固体形状

別の方法として、File Solid ブロックを使用して外部のジオメトリ ファイルから固体をインポートすることもできます。File Solid ブロックを使用すると、複雑なジオメトリをもつ固体を作成できます。現在、File Solid ブロックは STEP (STP とも呼ばれる) 形式と STL 形式をサポートしています。

STEP 形式は、通常、同等の STL ジオメトリよりファイルが小さくなるため推奨されます。また、2 つの形式のうち、STEP のみでジオメトリからの自動慣性計算が可能です。STL ジオメトリのインポート時には、固体の慣性モーメント、慣性乗積、および重心を明示的に指定しなければなりません。

非常に大きいファイルは読み込みが遅く、通常は高速であるモデルの更新ステップ ([モデル化] タブで、[モデルの更新] をクリック) が遅くなる場合があることに注意してください。STEP ファイルや STL ファイルのサイズは、ファイルの生成に使用するアプリケーションにある程度左右されます。場合によっては、固体ジオメトリのエクスポートに別のアプリケーションを使用してサイズを縮小することができます。

実践: STEP ジオメトリ ファイルのインポート

File Solid ブロックを使用して、かさ歯車の詳細なジオメトリをインポートします。ギアのジオメトリは CAD ソフトウェアで作成され、その後、STEP 形式でエクスポートされています。Solid ブロックの可視化ペインで固体を可視化し、モデル内での固体の相対配置は無視します。

  1. File Solid ブロックを Simulink モデルに追加します。

  2. [Geometry] パラメーター セクションが更新され、必要なファイル インポート プロパティ、[File Type][File Name]、および [Units] (STL ファイルの場合のみ) が表示されます。

  3. [File Type] ドロップダウン リストから、[STEP] を選択します。これは、推奨されているジオメトリ ファイル タイプです。STEP ファイルは、通常、同等の STL ファイルより小さく、ジオメトリからの自動計算が可能です。

  4. [File Name] パラメーター フィールドに「bevel_c.step」と入力します。このファイル名は、既定で MATLAB パスに存在する STEP ジオメトリの例に対応しています。問題がある場合には、次のファイル パスを入力してください。

    matlabroot/toolbox/physmod\sm\smdemos\doc\bevel_gear\bevel_c.step
    ここで、matlabroot は MATLAB インストールのルート フォルダーです。ルート フォルダーの場所がわからない場合は、MATLAB コマンド プロンプトで「matlabroot」と入力します。

  5. [Update Visualization] ボタンをクリックし、次に [Fit to View] ボタンをクリックします。固体のジオメトリが予想どおりであることを確認します。[OK] をクリックして新しい固体ジオメトリを確定し、ブロックのダイアログ ボックスを閉じます。

固体のジオメトリ ファイルの取得

CAD モデルから STEP または STL のジオメトリ ファイルを取得することができます。ほとんどの CAD アプリケーションでは、パーツのジオメトリを (他にもある中で) これらの形式でエクスポートできます。ユーザーが CAD アプリケーションの使用に精通している場合、または精通した人のサポートを受けられる場合、詳細な固体ジオメトリを CAD で作成し、STEP ファイルまたは STL ファイルにエクスポートして、最終的なジオメトリ ファイルを File Solid ブロックにインポートできます。

プロフェッショナル向けの CAD アプリケーション ライセンスがない場合は、FreeCAD などのオープンソース ソフトウェアが適切な代替品となる場合があります。完全にクラウド化されたプロフェッショナル向け CAD アプリケーションである Onshape は、無料のサブスクリプション プランを提供しています。このツールには、関数 smexportonshape を使用してマルチボディ アセンブリ全体を Simscape Multibody 環境にインポートできるという利点があります。詳細については、Onshape インポートを参照してください。

複合固体形状

目的の固体ジオメトリが含まれる STEP ファイルや STL ファイルを取得できない場合でも、事前設定されたより単純な形状を組み合わせて、より大きな複合形状にすることで、そのジオメトリを近似できます。事前設定された各固体形状 1 つずつ、複数の Solid ブロックを使用しなければなりません。多くの場合、固体の基準座標系間に存在する空間関係を指定するために、Rigid Transform ブロックも使用しなければなりません。次の図に表示された固体ジオメトリは、1 つの複合形状、つまり、穴セクション (A ラベル)、メイン セクション (B ラベル)、ペグ セクション (C ラベル) を持つバイナリ リンクとしてモデル化できます。

この複合ボディをモデル化する方法を示す例は、実践: 複合ジオメトリの作成を参照してください。

関連するトピック