以前にフリーの3次元CADを使ったポンプのインペラー作成記事を掲載しましたが、今年になってから、引き続きポンプのケーシング作成に取り組んでいます。
ただ今回は少し本格的な取り組みとして、流路断面(円周上の半径方向)を複数箇所で指定して、それらを円周上で滑らかに繋いでやろうと思っています。これを実現するには、CADツールとして、スィープロフトとか、スィープブレンド、といった機能が必要になり、たとえば“swept blend”で検索すれば、PTC:Creo Parametric(Pro/ENGINEER)を使ったチュートリアルがたくさん出てきます。しかし、残念ながら(数100万円級の)高価な市販ツールに関するものばかりです。個人事業主には手が届きません。
単純に断面形状をロフトもしくはスィープさせる機能は、たいていのフリーの3D-CADにも備わっているんですが、この断面積を徐々に変化させるとなると、フリーのツールでは実現できそうにないということも判ってきました。
但し、これはあくまでソリッド系の3D-CADについて言えることであり、blenderを代表とするポリゴン系の3D-CADであれば可能ではあるので、現在はこのスイープブレンドする部分だけをblenderにやらせる方法を模索中で、実用性はともかく、ほぼ実現可能の見通しを得るまでにはなっています。
その方法の中味については、今少しブラシアップして、いずれ別記事にて公開したいと思っていますが、本稿では、そこに至るまでの間で、判った事や気付いたことがあり、ほっておくと忘れてしまいそうな事が多くあったので、この長いまえがき(ここまでの経緯)を含めて、ここに記しておくこととしました。
DesignSpark Mechanical
当初このツールで出来ないかと、さんざん調べましたが、結局出来そうにない・・・となって、ここしばらく別のソフトの調査にかかっていました。
しかし後述しますが、回りまわって最終的にスィープ・ブレンド以外の部分は、このソフトで出来そう(一番使い易そう)な感触を得ています。
FreeCAD
オープン系の代表格であるソリッド系3D-CADで、DEXCSにも搭載しているものですが、これに、以下のようなボタンがあって、
これで出来るかもしれない・・・と思って、オンラインヘルプを探そうとしているのですが、このところ全然つながりません。FreeCADのサイトそのものは生きているようですが、出てくるはずのヘルプコンテンツが真っ白な状態です。
復活と、更なるブラシアップを期待しています。
123D Design
最近、3Dプリンタの話題が急速に広まってきて、その為の3D-CADツールとして、やたら取り上げられるのがこのソフトです。これも無償利用が可能で、オンラインヘルプやチュートリアルが日本語版を含めて充実しています。よくよく調べたら、すでに何冊か参考書まで発刊されていたので、そのうちの1冊を購入しました。
しかし・・・
まず躓いたのが、点や直線の位置を座標値で直接指定できない!ということ。これも上にあげた参考書やオンライン情報をさんざん調べた挙句、ようやくやまねこ@楢ノ木技研さんのツイート記事にたどりつきました。「円の直径は数字入力出来るけど、中心座標って数値入力出来ない」とかもありました。(話はそれますが、FreeCADもっと頑張れ!のコメントもありました)
とはいえ、これが出来ないからといって、致命的とまではいえないので、気を取り直してスイープブレンドの方法を探したんですが・・・まえがきにて紹介した、スィープロフトに関する記事を見つけて、ようやくこれで作ることはあきらめました。
Blender
すでに述べたように、Blenderであれば、スイープブレンド(Blender上では、Curve Modifierと呼ぶらしい)は可能で、検索すれば参考情報は多数見つかる(たとえば、その1、その2)。
- 実際に作ってみた例
しかし、問題は、この機能が使えたとしても、総合的に見て、Blenderだけですべての操作(たとえば断面形状の作成など)を完結させるのは、よほどBlebder操作全般に習熟していない限り困難であるという点。
上の作例にしても、複数の断面形状そのものは、DesignSpark Mechanical を用いて作成⇒STLエクスポートしたものをBlenderで取り込み、再配置、側面の接続だけをBlender上で実施したものです。
- DesignSpark Mechanical にて作成した複数の徐変する断面
したがって、現時点、スイープブレンドだけは、Blenderでやることとし、その他の作図は、ソリッド系の3D-CADを使用するという前提で調査を続けた。
データの互換性
複数のCAD間でデータをやり取りするには、データ形式を合わせなければならない。ソリッド系ではSTEP形式、ポリゴン系ではSTL形式が代表的であり、ここに取り上げた3D-CADツールでは、これらのデータ形式を通して、やり取り出来ます。
問題は、双方向のやり取りは容易でない、もしくは不可能であるという点です。以下に、それぞれのツールの特徴を記しておきます。
- DesignSpark Mechanical
- 入力:STEP(△),STL(△)
- 出力:STEP(✕),STL(○)
- FreeCAD
- 入力:STEP(○),STL(△)
- 出力:STEP(○),STL(○)
- 123D Design
- 入力:STEP(○),STL(△)
- 出力:STEP(✕),STL(○)
- Blender
- 入力:STEP(✕),STL(○)
- 出力:STEP(✕),STL(○)
入力で△となっているのは、読み込みは出来ても編集加工が出来ないという意味です。
実は、ここまでのところはある程度判っていたことで、これらのことから結論として、Blenderでしか出来ないことがあったとしら、Blenderを最終工程に持ってくるしかない、ということになってしまいます。BlenderではSTLしか出力できず、ソリッド系のツールでは、STLを読むことは出来ても加工出来ないからです。
これだと、Blenderのスィープブレンド機能だけを使いたいという、当初の前提に照らすと、かなり困難な作業になってしまいそうです。
データ変換
STLデータをSTEP形式に変換できないか?・・・ということで調べたら⇒ちょっと前までは、100万円級の有料ソフトを使うしか無い・・・でしたが、今回調べなおしたらフリーで使えるものが見つかりました。⇒InStep, Google SketchUpのプラグイン。
ということで、これからが今回調査の本題です。
InStep
Windows版しかないという点と、変換できるファイルのサイズに制限(3000 Facets / 1 Body)がありますが、ちゃんと変換してくれました。123D Design で読み込んで、加工編集が出来ることも確認出来ました。
- InStepで取り込んだSTLファイルはSTEPに変換可能
- STEP形式であれば、123D Design にて加工編集可能
なお、フリー版と製品版の比較表にもあるように、製品のフル機能版だと、サイズ制限がないのは当然、メッシュ(といっても表面パッチのことですが)を修正したりする機能もあるようで、これで、$149.99ということなので、このくらいであれば購入しても良いかな・・・という気にはなっています。ただ下の方法でも出来ることが判ったので、今のところはパッチ修正機能の様子見(下の方法で使い物になるか、この有料版を試すか)です。
DesignSpark Mechanicalのデータ互換性について、STEP形式はNGでしたが、実はSketchUp形式(*.skp)のデータであればOKであるという記事を見つけました。
Google SketchUp
このツールもかなりポピュラーで参考書籍もたくさん出ていますが、建築系の用途での情報ばかりが目立ってしまっている為、機械系CAE用のモデリングツールとしては考えていませんでした。標準の入出力で、STLやSTEP形式をサポートしていないから、という理由もありました。
ただ、後者に関しては、公開されたプラグインが多く出まわっており、とくにSTLに関しては古くからその存在は知られていました。
そこで、このプラグインについても、今回新たに調べ直すこととしました。
STLに関しては、やはり色々あるようで、STL for SketchUp というのをインストールしてみましたが、問題なく使えました。
これで、Blenderで出力したSTLファイルをSketchUpに取り込んで、加工編集出来る事も確認。さらにSketchUp形式で出力して、DesignSpark Mechanicalにインポートして加工できることも確認。これで当初の目論見(Blender上での作業を極力減らす)が何とかなりそうになった、ということです。
- Blenderで出力したSTLをGoogleSketchにインポートして、加工(面の押し出し)しています
- 上で作成したSketchUp形式ファイルをDesignSpark Mechanical にインポートして追加工(押し出した端面の向きを変えている)
- 加工編集のやり易さは、DesignSpark Mechanical >> Google SketchUp
ついでながら、STLだけでなく、STEP形式に関するプラグインがあるかどうか?についても調べてみました。
“skp to step converter”でググってみると、
sketch is done with SKETCHUP
file is export in IGES with plugin iges_export.rb
the backup is done in STEP avec FreeCAD
STEP file is open with 123D BETA
という記事が見つかりました(記事の内容は、同サイトにてユーザー登録しないと見れないようです)。
どうやら、iges_export.rbプラグインというのがあるらしい・・・となって、今度はこれを探したのですが・・・どうにもGoogle検索では見つけられません。結局判ったのが件のサイト sketchUcation にて SketchUcation Tools なるものをダウンロードしてSketchUpにインストールすると、そのサイトにある700本以上のプラグインをダウンロード出来るようになって、そのうちの一つが、iges_export.rbであったという顛末でした。
あと、件のサイト でのユーザー登録は、色んな料金システムがあって、ひょっとして有料でないと使えないかも?・・・との心配はありましたが、無料登録でもOKでした。
何は、ともあれ、これをインストールすると、、、メニューはファイルメニューでない予想外のところに追加されましたが、ちゃんと使えました。上のBlenderからSTLインポートしたファイルを取り込み、今度は、IGES形式で出力。これならFreeCADでインポート出来て加工編集もOKでした。
- IGES Export は、toolメニューから
- FreeCADでインポートして追加編集
今回の用途では、このIGES変換はあまり使うことはないかもしれませんが、完全フリーでこれが出来るようになった事は、(特に構造系のメッシュ作成向けに)かなり朗報といって良いじゃないでしょうか。
FreeCADのHPは下記に移った様です。
http://www.freecadweb.org/
情報ありがとうございます。
本文のリンク先を修正しておきました。
それにしても、つながりませんね。
ブレンダーは、3dCGのソフトですよ。オプションでSTLに出力できますが、、、
ブレンダーにはプラグインが使えるので探してみるとよろしいかと。