苦行記録

有益な情報は特にありません.

DesignSpark Mechanicalで作成した3Dモデルの外形をEagleで取り込む方法

はじめに

皆さん進捗はどうですか。

自分は新機体のハードが完成し、ソフトに着手しているところです。

といっても、ハードがいくつかミスした箇所があったので修正し、Ver.2を製作中です。

機体の紹介は落ち着いたらします。

 

さて、自分は3D CADはDesignSpark Mechanicalを使って設計しているのですが、マウスの基板の外形をEagleで読み込むのにDXF形式で出力し、そのまま取り込むと一部の曲線が消え、正常に取り込むことができませんでした。

そこで、Inkscapeというソフトでデータを少し加工することで取り込むことができました。

自分なりに色々試してうまくいった方法がこれなので、もっといい方法があれば教えて頂けると幸いです。

 

使用するソフト

 

DesignSpark Mechanicalでの操作

DesignSpark Mechanicalで基板のモデルを作成します。

f:id:nout:20180311231047j:plain

吸引機構搭載、センサホルダー取り付け用の穴が空いたマウス基板です。

このとき、吸引ファンの直径と同じ大きさで円を描き、0.1mmほど下に押し出し(プル)、センサホルダーが置かれる部分もホルダーが基板に接する面積だけ0.1mmほど下に押し出しておきます。

こうすることで、外形のデータを渡す際に、シルクとなる箇所も一緒にデータを渡すことができ、Eagleでの作業を省けます。

あとは、お好みでモータマウントやモータの真下などシルクで書いておきたい箇所も押し出すといいでしょう。

 

押し出しが済んだらDXFで書き出す前に、平面ビューで上の画像のように基板を真上から見た視点にします。

DXFは今画面で表示されている通りの視点で書き出されるため、真上から見た視点にする必要があります。

 

「ファイル」→「名前を付けて保存」で、ファイルの種類を「AutoCADファイル(*.dxf)」、「単位の上書き」にチェックを入れ、単位を「ミリメーター」、バージョンは「AutoCADR13」にします。

自分の場合、バージョンはAutoCAD R13でうまくいきましたが、環境によって変わるかもしれないのでうまくいかないときは変更するといいかもしれません。

f:id:nout:20180311232744j:plain

「オプション」をクリックし、4つある項目のうち、「モノクロ保存」以外の3つの項目にチェックを入れます。

f:id:nout:20180311233202j:plain

そして保存をします。

 

Inkscapeでの操作

先程のDXFファイルを開きます。

Method of Scalingは「Manual scale」、Manual scale factorは「1.0」で、文字エンコーディングは「Latin 1」、テキスト・フォントは「Arial」にします。

f:id:nout:20180311234648j:plain

基板をドラッグし、選択します。

f:id:nout:20180311235134j:plain

「オブジェクト」→「グループ解除」をクリックします。必要ないかも(要検証)。

このとき、ノードツールを選択し、ドラッグすると次のように見えます。

f:id:nout:20180312000004j:plain

「エクステンション」→「パスの変形」→「ベジエ曲線の平坦化」をクリックします。

平坦度を「0.1」にし、適用します。

すると、ノードツールを選択し、ドラッグするとノードの数が増えていることが確認できます。

f:id:nout:20180312000144j:plain

次に、位置合わせをします。

というのも、このままだとEagleに取り込んだ際、グリッドに線が一致しないため自力で位置調整しないといけないからです。

部品とかは移動する際にCtrlを押しながらクリックすることでグリッドに位置を合わせることが可能ですが、複数選択しながらグリッドに位置合わせすることはできません(Eagle 7.7.0時点)。する方法があったら教えてください。

 

「表示」→「ページグリッド」でグリッドを表示させます。

「ファイル」→「ドキュメントのプロパティ」→「グリッド」のタブで、定義されたグリッドのグリッドの単位は「mmもしくはin」、X方向の間隔とY方向の間隔をEagleのグリッドの大きさと同じにします。自分は全部mmで統一しました。

f:id:nout:20180312001500j:plain

ドラッグ&ドロップをしてグリッドに合わせます。

画面上部のX座標、Y座標の値をきりのいい数字にするのも試しましたがうまくいかなかったためこの方法をとっています。

f:id:nout:20180312001938j:plain

位置合わせをしたら「ファイル」→「名前を付けて保存」で、形式は「AutoCAD DXF R14」を選択します。

デスクトップ カッティングプロッターのオプションタブでは「線出力のLWPOLYLINEタイプを使用する」にチェックを入れ、Base unitは「mmもしくはin」、Character Encodingは「UTF 8」を選択し、保存します。

f:id:nout:20180312002605j:plain

 

Eagleでの操作

Board Editerを立ち上げ、ツールバーから「Run ULP」をクリックし「import-dxf.ulp」をクリックします。

先程保存したDXFファイルを選択し、レイヤーは「20 Dimension」、Input Unitsは「inもしくはmm」でOKをクリック

f:id:nout:20180312003304j:plain

Run Scriptが表示されたらRunをクリック。

これでやっと外形が表示されました。

f:id:nout:20180312003655j:plain

グリッドに位置も合ってます。

f:id:nout:20180312003849j:plain

あとはシルクにしたい線のレイヤーを変更すればOKです。

吸引の穴や、センサホルダーを固定する穴が開いた基板を発注するときは、穴を開ける箇所を指定した画像を基板のデータと一緒に提出すると安心でしょう。

 

最後に

EagleのバージョンのせいなのかCADの組み合わせのせいなのか、めんどくさすぎる、訴訟。

参加予定の3/24の電通大プチコンまであと12日、皆 さ ん 進 捗 は ど う で す か 。