FreeCADでサーブボードのキーホルダをつくる
サーフボードのキーホルダを3Dプリンタでプリントするため用意した素材をFreeCADを使って組み合わせていきます。
プリントした時の強度などを考慮しつつ形を作ります。
サーブボードを設計できるBoardCADで作ったSTLファイルを3DプリンタにやさしいSTLに修正しました。
BoardCADで作ったサーフボードをMeshLabを使って3Dプリンタで使えるSTLにする
それでは作っていきましょう。
FreeCADにインポートする前にもう少しMeshLabで加工しておいた方が良い事があります。
BoardCADは実物のサーフボードを設計するソフトウエアです。そのままのデータでは寸法が2m~3mほどになっています。キーホルダにするには後々面倒なのでMeshLabで縮小した方が良いでしょう。
私は全長12cmをめどに縮小しました。
こんなことはFreeCADでもできると思われるでしょう。ところがかなり面倒なのです。
もちろん拡大縮小ができない事はありません。ワークベンチでドラフトにすれば拡大縮小ツールがあります。ですがかなり曲者です。慣れないとオブジェクトがどこかへ行ってしまいます。消えたと勘違いしないように。
上のフォーラムの続きにもありますがFreeCADはスクリプトとして強力なPythonが使えます。拡大縮小するマクロに関するスレッドへの誘導があるので覗いてみてもよいでしょう。
MeshLabは寸法の概念が希薄なのでMeshLabで事前に縮小しておいた方が断然楽です。
ちなみにメニューは
Filters->Normals, Curvatures and Orientation->Transform: Scale
です。
FreeCADを使い始めると戸惑う事にオブジェクトの種類がたくさんある事だと思います。2次元製図とスケッチ、メッシュとソリッドとか何が違うのか判りません。オブジェクトが異なるとできる操作も異なります。そもそもワークベンチっていう考え方も慣れません。
インポートしたSTLファイルはメッシュというオブジェクトになっています。メッシュの状態ではほぼ何も加工はできません。
OpenSCADをインストールすると何かしら機能が追加されるようですが、私はちゃんと使えた事がありません。
ここから愚痴モード。
もう手順を説明できないほど面倒でした。縮小したらオブジェクトがあさっての座標に移動するわ、平行移動してサーフボードのテールにもっていきたいけど座標平面上で移動せずどこか斜めの平面で移動してるわ。
FreeCADのグラフィック描画も遅くマウスの移動に描画がシンクロしません。ここだ!とマウスをクリックしてもその座標が反映されなかったり。
当然64bit版を使っていますが64bit変数を使っている雰囲気がありません。複雑なモデルを扱うのは難しい感じです。
さらに半日ほど使い続けると何かモデルの操作がうまくできなくなります。移動させたいのに移動しません。何度も移動させようとしていたらブルー画面でパソコンが落ちたこともあります。座標変換が何かおかしいのかもしれません。
私のパソコンのCPUはi7-2600Kなので4コア8スレッドですがFreeCADはシングルスレッドでしか動いていないようです。という事は最新のCPUに買い替えても操作性の向上は望めないかも。どこかに設定があるのでしょうか?Battlefieldで遊ぶためのパソコンなので性能はそこそこありますが全くパソコンのパワーを引き出せません。
必要なパーツの形を作ったら一旦STLにして、拡大縮小位置合わせはMeshLab状で行った方がよいかも。
愚痴モードお終い。
プリントした時の強度などを考慮しつつ形を作ります。
サーブボードを設計できるBoardCADで作ったSTLファイルを3DプリンタにやさしいSTLに修正しました。
BoardCADで作ったサーフボードをMeshLabを使って3Dプリンタで使えるSTLにする
今回はFreeCADを使ってフィンを付けてキーホルダにします。
フィンを設計できるfinFoil.ioで作ったフィンを使おうと思ったのですが
キーホルダのサイズだとフィンは1cmにもなりません。そのため形をリアルにする意味が全くありませんでした。なにしろプリントできません。
ボードもデフォルメ気味にしましたがフィンはもうそれっぽい突起が付いていれば十分なようです。
使うソフト
できるだけ個人利用なら費用のかからないソフトを使います。
- BoardCAD https://sourceforge.net/projects/boardcad/
- サーフボードの形状を設計します。
- MeshLab http://meshlab.sourceforge.net/
- BoardCADのメッシュデータを整形するのに使います。
- FreeCAD http://www.freecadweb.org/
- 複数の3Dデータを合成するのに使います。
- OpenSCAD http://www.openscad.org/
- 直接は使いませんがFreeCADでメッシュを扱う時に使うかも。
それでは作っていきましょう。
FreeCADにモデルをインポートする前にスケールサイズを合わせておく
前回の記事でメッシュを少なくしたボードのSTLをFreeCADにインポートします。FreeCADにインポートする前にもう少しMeshLabで加工しておいた方が良い事があります。
BoardCADは実物のサーフボードを設計するソフトウエアです。そのままのデータでは寸法が2m~3mほどになっています。キーホルダにするには後々面倒なのでMeshLabで縮小した方が良いでしょう。
私は全長12cmをめどに縮小しました。
こんなことはFreeCADでもできると思われるでしょう。ところがかなり面倒なのです。
FreeCADは機械製図のような性格が強いようです。モデルの寸法を変えてしまうような操作は避けるのでしょう。NormandCHelp on using FreeCAD / FreeCAD
"FYI, in CAD as a rule you should not scale a solid, but model it to the desired dimensions. There are very, very few use cases where scaling an object is required: for injection mold tooling for example."
もちろん拡大縮小ができない事はありません。ワークベンチでドラフトにすれば拡大縮小ツールがあります。ですがかなり曲者です。慣れないとオブジェクトがどこかへ行ってしまいます。消えたと勘違いしないように。
上のフォーラムの続きにもありますがFreeCADはスクリプトとして強力なPythonが使えます。拡大縮小するマクロに関するスレッドへの誘導があるので覗いてみてもよいでしょう。
MeshLabは寸法の概念が希薄なのでMeshLabで事前に縮小しておいた方が断然楽です。
ちなみにメニューは
Filters->Normals, Curvatures and Orientation->Transform: Scale
です。
STLファイルをインポートする
FreeCADにSTLをインポートするのは簡単ですね。ファイルをつまんで落っことしてもできます。FreeCADを使い始めると戸惑う事にオブジェクトの種類がたくさんある事だと思います。2次元製図とスケッチ、メッシュとソリッドとか何が違うのか判りません。オブジェクトが異なるとできる操作も異なります。そもそもワークベンチっていう考え方も慣れません。
インポートしたSTLファイルはメッシュというオブジェクトになっています。メッシュの状態ではほぼ何も加工はできません。
OpenSCADをインストールすると何かしら機能が追加されるようですが、私はちゃんと使えた事がありません。
メッシュをソリッドに変換する
サーフボードにフィンを追加したいのですがメッシュのままではできません。他のオブジェクトと結合したりくり抜いたりするにはソリッドというオブジェクトである必要があります。
メッシュをソリッドにするのは簡単です。2つの操作でできます。その前に準備が・・・
FreeCADのワークベンチをCompleteにしましょう。
どうもワークベンチというものの設計思想が判りません。多機能なためUIの切り替えをして画面をすっきり使いやすくしたいのだろうとは思います。しかしこれは初心者キラーにしかなっていません。何もできないと思いすぐに使うのをあきらめちゃいます。
ワークベンチでCompleteを選ぶと一通りの機能が画面に表示されます。まずはここからいじって感じをつかむと良いと思います。初めてならこの文の意味すら分かりませんね。ここらへんは他のサイト様にお任せ。
それでは作業を進めます。
インポートしたサーフボードをコンボビューのモデルで選択しておきます。
メニューの
部品->メッシュから形状を作成...
をクリックします。するとダイアログが表示されます。
そのままOKを押します。
するとコンボビューのモデルにオブジェクトが一つ追加されます。2つのサーフボードが重なって画面に表示された状態です。コンボビューのモデルでオブジェクトを選択した状態でスペースキーを押すと表示と非表示を切り替えられます。変換する前のサーフボードを選択して消してください。
この操作で形状というものができました。何が違うのでしょう?形状と書かれると良く判りません。シェルの方が理解しやすいかも。殻です。形の外側の面だけの殻に変換されました。殻なのに画面ではメッシュが表示されるようになるので誤解を招きます。シェルに変換する前はメッシュが表示されていなかったのに。
殻なので中身は何もない空洞という扱いになります。これではまだ他のモデルと合成する事ができません。
次はシェルをソリッドに変換します。
メニューの
部品->ソリッドに変換
をクリックします。
モデルにオブジェクトが一つ追加されます。先ほどと同じようにシェルを非表示にしましょう。
シェルがソリッドへ変換されました。
ソリッドって何でしょうか?シェルの中身が詰まったものです。見た目は何も変わりませんが殻の中身が詰まった塊として扱われます。
前回の記事でMeshLabを使ってボードの穴を塞ぎました。穴が空いていてはシェルからソリッドへ変換できません。穴のあるものの中身ってどうしたら良いか困るでしょ。
ソリッドになるとFreeCADで他のオブジェクトと組み合わせていろいろな形へ変えていく事ができます。やっとスタートラインに立った感じです。
フィンを作る
フィンを作りましょう。フィンは平面図に外形を書いてから押し出しにより立体化します。
スケッチを使います。ワークベンチでSketchrを選びます。
スケッチの作成をクリックします。
スケッチは平面なのでどの面に図形を描くか選択するダイアログが出ます。ご自分のモデルに合わせて選びます。
雰囲気さえ表現できれば十分なので楕円2つでそれっぽくします。
お絵かきツールのように線を描いていきます。線と線を連結するには一致拘束を使います。線を閉じる事をお忘れなく。
書き終わったら編集を終了します。ワークベンチをCompleteにしてスケッチの押し出しをします。
書き終わったスケッチを選択して押し出しボタンを押します。
押し出す方向と長さを指定します。コンボビューのモデルタブで後からでも変えられます。
キーホルダにはこのくらいで十分です。
最初はこんな感じでボードと結合してプリントしてみたのですが、どうやら細すぎてフィンが取れてしまう事が多かったです。
厚みを増やすとさすがにフィンに見えなくなるので付け根に土台を設けてフィレットで少しだけ接触面を増やします。土台はフィレットを付けるために必要となります。
付け根の土台はボードに埋まるように位置調整をして見えなくします。
こんなもんでしょうか。ちょっと土台がはみ出てますがプリントしても再現できませんから問題にはなりません。
そしてトライフィンにしたいのでこれをコピーして2つ追加します。
サイドフィンは少し小さくしたいので鬼門の縮小作業をします。80%ほどのサイズにしました。
ここから愚痴モード。
もう手順を説明できないほど面倒でした。縮小したらオブジェクトがあさっての座標に移動するわ、平行移動してサーフボードのテールにもっていきたいけど座標平面上で移動せずどこか斜めの平面で移動してるわ。
FreeCADのグラフィック描画も遅くマウスの移動に描画がシンクロしません。ここだ!とマウスをクリックしてもその座標が反映されなかったり。
当然64bit版を使っていますが64bit変数を使っている雰囲気がありません。複雑なモデルを扱うのは難しい感じです。
さらに半日ほど使い続けると何かモデルの操作がうまくできなくなります。移動させたいのに移動しません。何度も移動させようとしていたらブルー画面でパソコンが落ちたこともあります。座標変換が何かおかしいのかもしれません。
私のパソコンのCPUはi7-2600Kなので4コア8スレッドですがFreeCADはシングルスレッドでしか動いていないようです。という事は最新のCPUに買い替えても操作性の向上は望めないかも。どこかに設定があるのでしょうか?Battlefieldで遊ぶためのパソコンなので性能はそこそこありますが全くパソコンのパワーを引き出せません。
必要なパーツの形を作ったら一旦STLにして、拡大縮小位置合わせはMeshLab状で行った方がよいかも。
愚痴モードお終い。
慣れないうちはコピーやスケールではなくスケッチで一個一個作った方が楽かもしれません。
ひもを通す穴をボードに空ける
キーホルダにするためひもを通す穴を空けます。
穴の形を作るため円柱を追加します。
円柱の半径を2mmにして追加しました。
円柱をボードのテールへ移動します。穴を空ける位置を決めて穴が打ちぬくイメージで置きます。
減算をするボタンを押すと穴が空きます。
次は穴の開いたボードにフィンを結合します。
これでサーフボードの形が完成しました。
STLへエクスポートして完了です。
ワークベンチをDraftにします。
上の図のボタンか、メニューのドラフト->テキストからシェイプへ を押すと文字を入れられます。
タスク画面の指示に従います。
ちなみに直接入力できない文字があります。プログラムをやる方ならエスケープを必要とする文字と同じと言えばピンとくるでしょう。
例えばダブルクオーテーションはタスク画面では入力できません。一旦文字を作成した後、プロパティ画面で文字列の修正ができます。そこで、\記号でエスケープできます。
例えば
Signal Flag "Z"
と書きたい場合は
Signal Flag \"Z\"_ (最後の_はスペースです。)
と入力します。最後にエスケープが必要な文字を入れるには後にスペースが必要なようでした。
大きさと場所をボードに合わせて調整します。
文字はボードと結合しない方が使い勝手が良いでしょう。文字だけのSTLをエクスポートしておきます。
Simplify3Dでは個別にインポートしてもきれいに一体化してくれました。
後で文字を変更するのも楽です。
本当はボードに文字の窪みを付けたかったのですができませんでした。
まだまだFreeCADの使い方がわかりません。
次回はプリントするところを書きたいと思います。
造形ベッドと接触する平面がほとんど無いモデルなのでサポートの設定、ABSの温度やら造形スピードを調整しまくる事になります。
次は穴の開いたボードにフィンを結合します。
ボードとフィンを結合する
穴の開いたボードとフィン3つを選択した状態で、先ほどの減算の右隣の和集合ボタンを押します。これでサーフボードの形が完成しました。
STLへエクスポートして完了です。
文字を作る
フォントファイルをコピーしておく
FreeCADは文字フォントを選択して立体文字を作ることができます。しかし、フォントの選択の仕方が独特です。マルチプラットフォームのソフトウエアなので仕方ないですかね。
Windowsのfontフォルダから使いたいフォントをどこか作業しやすいフォルダへコピーしておく必要があります。そのファイル名を指定してフォントを変えます。
Windows10だとちょっと戸惑いました。フォント一覧が表示されたらつまんでデスクトップにでも落っことせばコピーできます。
Windows10だとちょっと戸惑いました。フォント一覧が表示されたらつまんでデスクトップにでも落っことせばコピーできます。
文字を配置する
サーフボードとは別にボードに刻む文字を作ります。刻むと書きましたが文字を掘る事にまだ成功していません。上に文字を乗っけます。
ワークベンチをDraftにします。
上の図のボタンか、メニューのドラフト->テキストからシェイプへ を押すと文字を入れられます。
タスク画面の指示に従います。
ちなみに直接入力できない文字があります。プログラムをやる方ならエスケープを必要とする文字と同じと言えばピンとくるでしょう。
例えばダブルクオーテーションはタスク画面では入力できません。一旦文字を作成した後、プロパティ画面で文字列の修正ができます。そこで、\記号でエスケープできます。
例えば
Signal Flag "Z"
と書きたい場合は
Signal Flag \"Z\"_ (最後の_はスペースです。)
と入力します。最後にエスケープが必要な文字を入れるには後にスペースが必要なようでした。
大きさと場所をボードに合わせて調整します。
文字はボードと結合しない方が使い勝手が良いでしょう。文字だけのSTLをエクスポートしておきます。
Simplify3Dでは個別にインポートしてもきれいに一体化してくれました。
後で文字を変更するのも楽です。
本当はボードに文字の窪みを付けたかったのですができませんでした。
まだまだFreeCADの使い方がわかりません。
次回はプリント
これでキーホルダのSTLモデルを用意する事が出来ました。次回はプリントするところを書きたいと思います。
造形ベッドと接触する平面がほとんど無いモデルなのでサポートの設定、ABSの温度やら造形スピードを調整しまくる事になります。
コメント
コメントを投稿