3Dプリンターで造形する時は3D-CADでモデルを設計します。
設計したデータをSTL形式のファイルでファイル出力(エクスポート)し、スライサーソフトで読み込み、3Dプリンターが動作するG-code形式のファイルに変換します。
3Dプリンターでの造形を趣味にしている人は多く、それだけでなく3Dプリンターの性能や使い勝手を向上するために改造をしている人が多くいます。
ネットには改造用部品のデータを無償で配布しているところがあり、その多くはSTLファイルで提供されています。
そのまま使える場合は良いのですが、少し寸法を変えたいと思う事があり、STLファイルを編集をしたくなります。
2年前、最初の3DプリンターTronxy XY2 PROを入手した時は造形物を冷却するためのダクトやボーデン方式をダイレクトエクストルーダー方式にするための部品データをダウンロードして作りました。
先日手に入れて動作させることができた3台目のTronxy XY2 PROは今までと違ったTitan押出機になっているのでダイレクトエクストルーダー方式にするには新たな部品を作らなければなりません。
ネットで良さそうなSTLファイルを見つけたのですが、積極的に固定しているように見えませんでした。
そこでTronxy XY2 PRO本体側の使っていない穴を利用してねじ止めすることを考えました。
穴を追加するためにはSTLファイルを編集しなければなりません。
3D-CAD専用のファイル形式では例えば円筒のデータであれば円の直径と長さというような情報のデータを保存しています。
直径と長さのデータがあれば直径を大きくしたり長さを縮めたりするのは簡単です。
ところがSTL形式はモデルの形状を多数の平面の組み合わせで表現するファイル形式でメッシュデータ(網目状のデータ)になっています。
これを編集するのは大変です。
ネットで検索するといくつかの方法がありました。
1.3D-CAD Fusion360で編集
STLファイルをインポートしてメッシュデータで表現されている多数の面を同一平面や局面のデータをグループ化した後、Fusion360で編集できるソリッドデータ(立体データ)に変換するという方法です。
あちこちに解説しているところがあったのですが、いろいろ試しては検索した結果、無償版のFusion360では変換できないことがわかりました。
2.3D-CAD SolidWorksで編集
SolidWorksは有名な3D-CADで勤務先で使っているので試してみました。
まずSTLファイルをインポートしておきます。
開けたい穴の直径の円筒部品をメッシュデータとして設計してインポートしたデータの穴をあけたい部分に重ね合わせて円筒部品をツールとして共通している部分を削除するという方法です。
インポートしたデータはメッシュデータのままツールもメッシュデータで作ることで直接編集できるという話でした。
色々試してみましたが、うまく削除することができませんでした。
3.3Dモデリングツール Blender で編集
Blenderは3D-CADに近いのですが3Dモデリングツールと表現されています。
SolidWorksでの編集方法と同様に削除するための円筒部品を作って重ね合わせて共通しているところを削除するという方法です。
こちらは穴をあけるところまではうまく行きました。
あらかじめBlenderのBool Toolというプラグインが使えるようにしておきます。
(説明すると長くなるのでBool Toolで検索してください)
インポートしたSTLファイルのデータの上に開けたい穴の直径と同じ径の円筒を作りました。
作った円筒をインポートしたモデルに重ね合わせます。
重ね合わせたら円筒をクリックして選択してからShiftキーを押しながらクリックしてインポートしたモデルを選択します。
編集タブを開くとBool Toolのブーリアンが出てくるのでクリックして
Auto Booleanをクリックすると穴が開きました。
しかし、少し変でした。
あけた穴を拡大して見ると上下面に穴は開いていますが穴の内側の壁がありませんでした。
モードを編集モードに切り替えてみると
壁が無いのがはっきりしました。
頂点を選んで壁を作ることができるので破れが無い状態にしたのですがスライサーソフトはうまく変換してくれませんでした。
試しにFuson360で四角のブロックを作ってBlenderで穴あけ編集をしたところ破れもなく、スライサーソフトでも問題なく変換できました。
うまく変換できなかったのは元のSTLデータに問題があったようです。
STLファイルの直接編集がうまく行かない場合は元データに問題があるので素直にあきらめた方が良いという話です。
ここまで調べるのに使った時間は...。
何事も勉強です。