FreeCADでも出来る Plasticity風サーフェスモデリング Part designワークベンチから外に出てみよう

今回はFreeCADを使ったサーフェスモデリングについてです。Plasticityがすごくかっこいいので、同じようなことができるかやってみました。手順が流石に複雑ですが、パラメトリック(履歴がある)にできるので後からある程度寸法等のコントロールができるのは魅力だと思います。

はじめに

商用利用含め一切の制限がないながらも、とっつきにくいため敬遠されることも多いFreeCAD。当ブログではFusionをお使いの方等に向けてFreeCADの情報発信を行っています。今までPart designワークベンチによるソリッドモデリングと並行してCurvesワークベンチを用いたサーフェスの扱い等も色々見てきていますが、今回もサーフェスのコントロールについてみていきましょう。意外と色々なことが出来ますよ!

FreeCADについて、最近の記事はこちらにもありますので、よかったらこちらもぜひ。

Plasticityで見たモデリングムービー、 FreeCADでも出来る?

今回はPlasticityというCADで簡単に行われていたサーフェスモデリングをFreeCADで再現できるかやってみるお話になります。

当時のTwitter(X)のリンクも貼っておきますね。

ちなみにPlasticityはCAD for Designerというくらいで、非常に柔軟なサーフェスモデリングが行えるCADソフトウエアです。CADとしては異色でそもそもパラメトリックではなく操作履歴という概念はありません。またスケッチ等での拘束という概念もなく、分類としてはポリゴンを使用しないCADですが、モデリング感覚としてはFusionでいうところのフォームモデリングに似ている感じです。

個人的にはこれ、FreeCADとも相性いいと思うんですよね。感覚的なモデリングってFreeCADでちょっと面倒ですし、寸法系が苦手なPlasticityと相補的な関係になれそうです。Plasticityは有料ソフトウエア(Indieで175ドル、1年の限定アップデート付き買い切り)ですが、そのうち購入してみたいと思っています。

特にStudioというお値段が高いバージョン(299ドル、他は同上)では、複雑な曲面を構築するためのxNURBSが使用できまして、これがめちゃスゴそうなんですよね・・・。SolidworksやRhinocerosで使おうとすると追加で6-10万かかります。つまり実質タダ?

PlasticityはBlenderとも相補的な関係にあり、Plasticityからblenderにモデルをリアルタイムに転送するようなBridge機能もあります。

FreeCADver1.1もリリース間近

そうそう、FreeCADの最新情報ですが、近日FreeCADの1.1がリリース予定です。今回はあまり紹介しませんが、特にPart designワークベンチでの機能向上が図られる予定です。最初に挙げた前回の記事もVer1.1に近い状態のFreeCAD ベータ版(weekly build)で行っています。

Ver1.0からかなり使い勝手が向上しエラー等も生じにくくなっていますので、昔のバージョンで挫折した方が新たに始めるには良いきっかけになるのではと思っています。(私も以前、ver0.2シリーズで2回挫折した組です)

Ver1.0リリース当時のブログ記事はこちらもぜひご参照ください。大変さも同時に語っておりますので、FreeCADへの理解が深まること請け合いです。

FreeCADでサーフェスモデリング 使うワークベンチはやはりこれ

今回のモデリングにも、やはり使用するのはPartワークベンチとCurvesワークベンチ、surfaceワークベンチです。初心者にもとっつきやすいPart designワークベンチではソリッドしか扱えないので、このツール群が扱いなれていないとサーフェスモデリングはできないんですよね・・・。

忠告になってしまいますが、FreeCADを最初に使用する際はPart designワークベンチで出来る範囲のソリッドモデリングにとどめるべきです。今回のはかなり応用編になります。入門者の方はまずは以前のこちらの記事から入るのがおすすめです。

また、Curvesワークベンチは当ブログで多用しているためもうインストールされている方も多いと思いますが、今まで使っていない方は、Curvesワークベンチをあらかじめアドオンマネージャからインストールしておいてくださいね。

さて、今回はPart designワークベンチに入らないので新規ファイルを作成する際、Empty Fileにしてみてください。何もない状態からPartワークベンチを選んで、スケッチを作っていきます。

Plasticityっぽい元の形状の枠を作る感じでいくつかスケッチを作ります。メインの枠組みと、それらをつなぐ曲線を書きましょう。一回のスケッチで書いてしまうと後から個別に線が移動ができないので独立して複数のスケッチを書く必要があります。投影(Fusionでいうプロジェクト)で既存のスケッチを利用し線を引いてください。こういった作業はCADでは多いと思うのであまり戸惑うことはないと思います。なお以前もお伝えしましたが、同じ平面で書いてもデータタブ上で位置を変更することで各スケッチはxyz方向それぞれにスライドできます。

そうそう、最新バージョンになって投影した場合、そのスケッチ線が実線になるようになりました。参照として使用する場合は参照線との切り替えを行っておきましょう。

全部引けるとこんな感じになります。昔ながらのワイヤーフレーム表示みたいですね。では、ここにサーフェスを張っていきます。サーフェスワークベンチに入って、Boundariesを選択してサーフェスを作りましょう。スケッチ1を全周囲えばまずは平面が出来上がります。ここからが本番で、サーフェスに方向性をつけましょう。面があると選択がしにくいので面は左の一覧のタブでいったん非表示にします。そこでエッジの拘束を設定しましょう。面を構成する内側を順に選択していってください。選択後に面を再表示すると、エッジに沿って面が出来ていることが確認できます。(一つ選択できていないように見えますが、実際は選択しています。こういうところはまだFreeCADを感じるところですね)

サーフェスは断片的な線から面を想像して生成されるため、線の角度や量によっては上手に面が作られない可能性もあります。その場合は補助線を増やしてあげたり、基準となる捨て面を置いてあげたりするとうまくいくことがあります。サーフェスモデルはやってみないとわからないことも多いですが、慣れると「なるほどな」という面を作ってくれる印象です。ぜひ色々試してみてくださいね。

他の面も同様にBoundariesで貼っていきます。スケッチを選択しているのか、面を選択しているのかが分かりにくくなるので、私は作る面以外は非表示にしています。これでスケッチを元にしたメインの面が張れました。

次はフィレット部分です。FreeCADではG0のカクっとしたフィレットはフィレットのツールが使えますが、Plasticityのデモでやっていたような流れるような曲面(Apple製品のようなエッジのない曲面)は作れないんですよね・・・。しかしあきらめるのは早い!

FreeCADでの曲面連続フィレットの作成はちょっと面倒

じゃあどうするかというと方法はいくつかあります。まずは王道、Plasticityデモで使用されていたパイプと似た機能、sweepでフィレットの下地を作ってみます。ひとつ前の図にも出てしまっていますが、中央やや上に小さい円が見えると思います。これがsweep用のスケッチです。交差する今回は半径1mmにしました。sweepを選んで、対称となるスケッチを矢印で右に持ってきます。ダイアログ下部ボタンを押したのち経路を順にCtrlを押しながらクリックして終了します。今回はエッジではなくスケッチを経路として指定しました。パイプが出来上がりましたか?その後、それぞれの面を、Sweepした形状を使ってカットしていきましょう。

カットの際には警告が出ます。これはサーフェスとソリッドをブーリアンしているためです。今回の場合は問題になりませんので「はい」で構いません。結果が最後の図ですがSweep形状が削られて、フィレット分の穴が開いているのが分かると思います。最後は当ブログでもお馴染み、CurvesワークベンチのBlendSurfaceの出番です。円弧側を「面、接続エッジ、接続エッジ、面」の順にCtrlキーを押しながら選択して実行すると滑らかなフィレットが作成されます。反対の円弧も同様にサーフェスを貼ります。

残った部分をBoundariesで塞げば完成です。Boundariesではそれぞれの面との接続をG1接続にしましょう。これで単純なフィレットではない、滑らかなフィレットが完成します。厚みをつけたり面を閉じて、ソリッド化すればプリンターで印刷できます。ただ、FreeCADでのソリッド化はちょっと面倒で、面全てを選択してCurvesワークベンチのParametoric solid等で一体化する必要があります。まず厚み付けのために最初に作ったスケッチを使ってPartから押し出します。ソリッド化のチェックを外すとサーフェスの押し出しが出来ます。底面はBoundariesで作成しました。最後に全部の面を選択してParametoric solidを押すと、ソリッド化が完成です。

ソリッド化した後は、Part designワークベンチに持って行って後加工なども行えます。ボディを選択した状態でPart designワークベンチに移動して、新規ボディを選ぶことでPart designワークベンチで扱うことが出来ます。ただしこうやって履歴付きで移動したボディでは問題が生じることもありますので、事前にPartワークベンチで形状のノンパラメトリックコピー(履歴なしのもの)を行ってからワークベンチを渡り歩くのが個人的なお勧めです。

別な方法もあります

一旦作ったフィレットの面を消してやりなおす方法もあります。Curvesワークベンチで行いましょう。ただこの方法には注意があって、パラメトリックではなくなってしまう(後から寸法調整が効かない)というデメリットがあります。形状が出来上がった最後に行ったほうがいいです。

しかしこの作業は元の形状を壊さず使いやすく、私はCurvesワークベンチの中でも利用頻度が高いです。ということで手順がこちらになります。

Curvesワークベンチでこの3つの面を選んで、Parametoric solid(緑の立方体)を選びましょう。形状がまとまって一つのシェルになります。重なっているので今回は下にずらします。Partワークベンチのフィレットを使ってシェルにフィレットをかけます。この場合、エッジを一つ選択してフィレットすればOKです。2mmでフィレットしました。このフィレットは通常のG0接続なので、一旦この面を削除してやり直そうと思います。

今度はフィレット以外の部分を選択してExtract subshapeを選びます。そうすると選ばれた面のみがコピーされて残りました。この面小さいほうはBlendサーフェスで繋ぎ、もう一つは先ほどのBoundariesで繋ぎ合わせればほぼG2接続のフィレットが出来るはずです。(広範囲の面をBlendサーフェスで繋ぐと不具合が出ることがあります)全部をまとめてシェルにすることでようやく滑らかなフィレットを持つ形状が完成です。

この滑らかなフィレットはFreeCADだと大変なところなのがお判りいただけたでしょうか?これのために手順がめちゃ増えてしまいます。正直Plasticityがうらやましいです。なお、円柱が入る部分は盛り上がってしまっていますが、隠れるので問題はありません。

FreeCADでも意外と色々出来る ワークベンチを渡り歩こう

FreeCADはワークベンチのツール群なので、使いやすい定番ワークベンチを使ったワークフローを確立するのが大切です。面倒ではあるのですが、人間恐ろしいことに慣れます(笑)当ブログで紹介した技法もほどいていけば単純なフローです。自由な形を最初から作るのにはちょっとハードルが高いものの、ある程度使えるポテンシャルはお示しできた気がしますがいかがでしょうか?出来上がったソリッドなんてちょっとPlasticityっぽいですよね。バージョンが上がるごとに便利になっていくFreeCAD、あなたの手の内に入れておいてはいかがでしょうか?

今回も最後までお読みいただきありがとうございました!