Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Onshape インポート

Onshape とは

Onshape® は、マルチボディ モデルのインポート元とすることが可能なサードパーティ製の CAD アプリケーションです。他の CAD アプリケーションと同様に、Onshape ソフトウェアは 3 次元パーツや、連結部をもつアセンブリをモデル化するために使用します。Onshape は完全にクラウド化されたソフトウェアであり、実行にはローカルのインストールを必要としません。

ソフトウェアを使用するには、有効な Onshape アカウントが必要です。CAD エクスポートの手段として、Simscape™ Multibody™ Link プラグインに代えて Simscape Multibody の関数 smexportonshape を使用します。このプラグインは Onshape に対応していないため Onshape モデルでは使用できません。

Onshape モデルとは

Onshape モデルは、構成の面で他のマルチボディ モデルと似ています。パーツは [Ball]、[Slider]、[Revolute] などのメイトを介して接続され、連結部をもつリンク機構、メカニズム、機械を形成します。モデルは階層型で、パーツとメイトをサブアセンブリ内で入れ子にし、そのサブアセンブリをさらに大きなサブアセンブリ内で入れ子にすることができます。

各 Onshape モデルはクラウド ドキュメント内にあります。ドキュメントには、パーツのモデル化用の [Part Studio] タブとパーツの合致用の [Assembly] タブを複数設けることができます。[Part Studio] タブでは複数のパーツを扱うことができ、たとえば、組み立て時に [Fixed] メイトを使用せずに剛性グループを形成するなど、最終的なアセンブリで予想される相対的な姿勢でこれらのパーツをモデル化できます。

剛性グループは Onshape モデル固有のもので、剛結合されたボディを囲む形で Simulink® Subsystem ブロックにマッピングされます。

用語について

Onshape モデルと Simscape Multibody モデルでは、同じ事柄に対し異なる標準用語がしばしば使用されます。Onshape モデルのパーツは、Simscape Multibody モデルのボディです。Onshape モデルのメイトと関係は、Simscape Multibody モデルのジョイントと拘束です。これらの用語は、ここでは意味を区別せずに使用されます。

インポートのためのモデルの準備

Onshape の各サブアセンブリに 1 つのパーツを固定することを検討してください。固定されたパーツは、インポートされたモデルにおけるサブアセンブリの基準座標系の位置を決定します。基準パーツは、そのパーツを含むサブアセンブリ タブに直接固定しなければなりません。ルート アセンブリ タブ (他のすべてのサブアセンブリまたはボディを含んでいる) に固定されたパーツは、サブアセンブリの基準座標系の位置に影響を与えません。

Onshape のパーツにジオメトリの誤りがなく、メイトが完全に定義されていることを確認します。2 つのパーツ間にメイトが存在しない、つまり、それらに 6 相対自由度がある場合、インポートされたモデルでは、対応するボディ サブシステム間に 6-DOF Joint ブロックが表示されます。少なくとも 1 つのパーツをルート アセンブリ レベルで固定し、このようなブロックがアセンブリとワールド座標系の間に追加されるのを防ぎます。

Onshape モデルのインポート

関数 smexportonshape および関数 smimport を使用して、Onshape モデルを Simscape Multibody 環境にインポートします。関数 smexportonshape は、Onshape モデルを XML ファイルと一連の STEP ファイルからなる中間表現に変換します。関数 smimport は、XML ファイルを最終的な Simscape Multibody モデルとサポート データ ファイルに変換します。

Onshape CAD インポートのワークフロー

中間ファイルについて

XML ファイルは、Onshape モデルを Simscape Multibody 環境で作成し直すのに必要なデータを関数 smimport に提供します。このファイルは "マルチボディ記述" ファイルと呼ばれ、モデルのインポートに必要となります。

STEP ファイルは、インポートされたモデルが生成されると、固体ブロックと Mechanics Explorer の可視化ペインでボディをレンダリングするために必要となる 3 次元ジオメトリをモデルに提供します。このファイルは "ジオメトリ ファイル" と呼ばれ、モデルのインポートではオプションとなります。

インポートしたモデルについて

ジオメトリ ファイルは、インポートしたモデルの固体ブロックで参照されます。ジオメトリ ファイルが見つからない場合、またはファイルへのパスが変わった場合には、固体ブロックおよび Mechanics Explorer の可視化ペインにボディのジオメトリが表示されなくなります。その他の点でまだモデルが有効である場合は、シミュレーションには影響がありません。

残りのブロック パラメーターは、関数 smimport で生成されたサポート データ ファイルで定義済みの MATLAB® 変数によって指定されます。変数は、単一のデータ構造体に格納されます。そのデータ フィールド名とインデックスは、たとえば smiData.Solid(2).mass のように、変数に対応するブロック パラメーターを特定します。

インポートできるもの

関数 smexportonshape および関数 smimport を使ってインポートできるのは、Onshape の [Assembly] タブの内容のみです。[Part Studio] タブには完全な XML マルチボディ記述ファイルを生成するのに必要な情報が不足しているため、関数 smexportonshape でエラーが発生する原因になります。[Drawing] や [Folder] などの他の Onshape ドキュメント タブでも同じ問題が発生し、エクスポートはできません。

単一のパーツのインポートが必要な場合

Onshape の [Export] 機能を使用すると、Onshape ドキュメントから直接にパーツのジオメトリをエクスポートできます。この機能では、さまざまな形式でジオメトリを保存できますが、Simscape Multibody モデルと互換性があるのは STL と STEP の 2 つのみです。エクスポートした後で、ジオメトリを個別に Simscape Multibody の固体ブロックにインポートできます。実践: STEP ジオメトリ ファイルのインポートを参照してください。

ユーザー認証とアカウントのアクセス許可

関数 smexportonshape では、Onshape モデルをエクスポートする前に Onshape アカウントを認証し、Simscape Multibody Exporter アプリに Onshape モデルへのアクセス許可があることを確認しなければなりません。

認証は、OAuth2 と呼ばれるプロトコルに基づいて MATLAB セッションごとに 1 回行われます。アカウントを確認できるように、関数 smexportonshape はセッションの最初のエクスポート試行に際して自動的に Onshape のログイン ページを開きます。

アクセス許可が取り消されるまでは、Simscape Multibody Exporter アプリにアクセス許可を与える必要があるのは 1 回だけです。アプリのアクセス許可を設定できるように、関数 smexportonshape は最初のエクスポート試行に際して自動的に Onshape のアプリケーション認証ページを開きます。

アクセス許可は、Onshape の [Applications] ページからいつでも取り消すことができます。

OAuth2 プロトコルについて

OAuth2 は、アカウントをホストするサービス (この場合は Onshape) に認証プロセスを委任する認証プロトコルです。oauth.net の Web サイトでは、このプロトコルを、Simscape Multibody などのサードパーティ製アプリケーションがアカウントの (すべてではなく) 一部の側面にアクセスできるようにするバレット キーとして説明しています。具体的には、Simscape Multibody ではアプリのアクセス許可データにはアクセスできますが、個人のログイン資格情報の表示や保存はできません。

Simscape Multibody ブロックへのマッピング

Simscape Multibody では、等価なブロックへの [Tangent] を除き、Onshape のすべてのメイトをマッピングできます。マッピングは容易で、メイト名とブロック名の僅かな違いが目に付く程度です。次の表は、モデルのインポート時に使用されるマッピングを示しています。

Onshape のメイトSimscape Multibody のブロックまたは機能
BallSpherical Joint
CylindricalCylindrical Joint
Fastened直接接続ライン
ParallelAngle Constraint
Pin SlotPin Slot Joint
PlanarPlanar Joint
RevoluteRevolute Joint
SliderPrismatic Joint

Onshape の [Gear] や [Linear] などの関係はサポートされません。モデル内のすべての関係はインポート時に無視されます。無視された関係は、たとえば、Common Gear Constraint ブロックを使用して 2 つのギア間の [Gear] 関係をモデル化するなど、多くの場合 Simscape Multibody ブロックを使用してモデル化できます。このようなブロックを追加する前には、座標系を作成して慎重に配置しなければならない場合があります。

Onshape インポートの警告とエラー

無効なアセンブリの URL

関数 smexportonshape には、引数として Onshape の [Assembly] タブの URL が必要です。Onshape のドキュメントは、多くの場合 [Part Studio]、[Drawing] およびその他のタブで構成されています。アセンブリを含んでいない不適切なドキュメント タブの URL を誤って指定した場合、関数はエラーをスローします。

ゼロ質量のボディ

材料が割り当てられていない Onshape のパーツは、慣性がゼロの Simscape Multibody ボディに変換されます。このような質量のないボディは、質量縮退エラーによってシミュレーションが失敗する原因となる可能性があります。MATLAB の警告は、モデル内に質量のないボディが確認された場合、それらをすべて特定します。インポート後に、質量のないボディの Brick Solid ブロックを使用して質量を手動で指定できます。ただし、ベスト プラクティスとして、常にエクスポートの前にアセンブリ内の各ボディに材料を割り当てるようにしてください。

サポートされていないメイトおよび関係

Onshape の [Tangent] のようなメイトや [Gear] のような関係はサポートされません。関数 smexportonshape は、サポートされていないどのメイトや関係についても、確認された場合は警告をスローします。サポートされていないメイトは、Simscape Multibody モデルではマッピングされません。インポート可能な Onshape のメイトのリストは、Simscape Multibody ブロックへのマッピングを参照してください。

物理単位

インポートされたモデルのブロック パラメーターは、Onshape モデル ワークスペースの既定の単位になっています。これらの単位には、SI 系、CGS 系、および他の単位系から派生したものがしばしば混在しています。モデル全体の単位は Onshape モデル ワークスペースで変更でき、個々のブロックの単位はインポートされた Simscape Multibody モデルで変更できます。

インポート対象とする Onshape モデルの入手

Onshape の無料アカウントを作成すると、アカウント内で独自のアセンブリ モデルを作成したり、モデルをインポートしたりすることができます。多数の Onshape アセンブリ モデルが公開されています。このようなモデルは、すべて Simscape Multibody 環境にインポートできます。

参考

|

関連するトピック