3D-CAD 雑感

以前にフリーの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にも搭載しているものですが、これに、以下のようなボタンがあって、

範囲を選択_560

 

これで出来るかもしれない・・・と思って、オンラインヘルプを探そうとしているのですが、このところ全然つながりません。FreeCADのサイトそのものは生きているようですが、出てくるはずのヘルプコンテンツが真っ白な状態です。

復活と、更なるブラシアップを期待しています。

 

123D Design

最近、3Dプリンタの話題が急速に広まってきて、その為の3D-CADツールとして、やたら取り上げられるのがこのソフトです。これも無償利用が可能で、オンラインヘルプやチュートリアルが日本語版を含めて充実しています。よくよく調べたら、すでに何冊か参考書まで発刊されていたので、そのうちの1冊を購入しました。

しかし・・・

まず躓いたのが、点や直線の位置を座標値で直接指定できない!ということ。これも上にあげた参考書やオンライン情報をさんざん調べた挙句、ようやくやまねこ@楢ノ木技研さんのツイート記事にたどりつきました。「円の直径は数字入力出来るけど、中心座標って数値入力出来ない」とかもありました。(話はそれますが、FreeCADもっと頑張れ!のコメントもありました)

とはいえ、これが出来ないからといって、致命的とまではいえないので、気を取り直してスイープブレンドの方法を探したんですが・・・まえがきにて紹介した、スィープロフトに関する記事を見つけて、ようやくこれで作ることはあきらめました。

 

Blender

すでに述べたように、Blenderであれば、スイープブレンド(Blender上では、Curve Modifierと呼ぶらしい)は可能で、検索すれば参考情報は多数見つかる(たとえば、その1その2)。

  • 実際に作ってみた例

範囲を選択_566 範囲を選択_569 範囲を選択_570

しかし、問題は、この機能が使えたとしても、総合的に見て、Blenderだけですべての操作(たとえば断面形状の作成など)を完結させるのは、よほどBlebder操作全般に習熟していない限り困難であるという点。

上の作例にしても、複数の断面形状そのものは、DesignSpark Mechanical を用いて作成⇒STLエクスポートしたものをBlenderで取り込み、再配置、側面の接続だけをBlender上で実施したものです。

  • DesignSpark Mechanical にて作成した複数の徐変する断面

範囲を選択_571

したがって、現時点、スイープブレンドだけは、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に変換可能

範囲を選択_573

  • STEP形式であれば、123D Design にて加工編集可能

範囲を選択_574

なお、フリー版と製品版の比較表にもあるように、製品のフル機能版だと、サイズ制限がないのは当然、メッシュ(といっても表面パッチのことですが)を修正したりする機能もあるようで、これで、$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にインポートして、加工(面の押し出し)しています

 

GoogleSketch

 

  • 上で作成したSketchUp形式ファイルをDesignSpark Mechanical にインポートして追加工(押し出した端面の向きを変えている)

DesignSpace

 

  • 加工編集のやり易さは、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メニューから

範囲を選択_563

  • FreeCADでインポートして追加編集

範囲を選択_564

今回の用途では、このIGES変換はあまり使うことはないかもしれませんが、完全フリーでこれが出来るようになった事は、(特に構造系のメッシュ作成向けに)かなり朗報といって良いじゃないでしょうか。

 

 

E.Mogura

情報ありがとうございます。
本文のリンク先を修正しておきました。
それにしても、つながりませんね。

座敷わらし

ブレンダーは、3dCGのソフトですよ。オプションでSTLに出力できますが、、、
ブレンダーにはプラグインが使えるので探してみるとよろしいかと。

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です