2021/08/23(月) [n年前の日記]
#3 [cg_tools][povray] FreeCAD 0.1.9 を試用
POV-Ray関係の情報をググってるうちに、FreeCAD + POV-Ray という組み合わせをたまたま目にした。もしかして FreeCAD を POV-Ray のモデリングツール代わりに使えるのではないか。試してみよう…。
環境は、Windows10 x64 21H1。
_FreeCAD: あなたのための 3D パラメトリック・モデラー
FreeCAD は無料で利用できる3D-CAD。
FreeCAD-0.19.2.7b5e18a-WIN-x64-installer1.exe をDL。実行してインストール。
使い方は、以下のページが参考になりそう。
_実験記録 No.02 : FreeCAD - 初心者向けチュートリアル
_無償3D CAD「FreeCAD」を使ってみよう - MONOist
環境は、Windows10 x64 21H1。
_FreeCAD: あなたのための 3D パラメトリック・モデラー
FreeCAD は無料で利用できる3D-CAD。
FreeCAD-0.19.2.7b5e18a-WIN-x64-installer1.exe をDL。実行してインストール。
使い方は、以下のページが参考になりそう。
_実験記録 No.02 : FreeCAD - 初心者向けチュートリアル
_無償3D CAD「FreeCAD」を使ってみよう - MONOist
◎ レンダリングしてみた。 :
FreeCAD は、POV-Ray、もしくは LuxRender (LuxCoreRender) を呼び出して、レンダリングをすることもできるらしい。
_FreeCADのレンダリング関連ワークベンチはまだまだ発展途上!?:無償3D CAD「FreeCAD」を使ってみよう(7)(1/5 ページ) - MONOist
POV-Ray 3.7 x64 をインストールしてある環境で、上記の記事に従って自分も試してみた。
ちょっとハマったのは、PovProject に各パーツを登録していくあたり。PovProject さえあれば全体が自動的にレンダリングされるのかと思い込んで作業して「変だな…レンダリングされないぞ…?」と悩んでた…。「このパーツをレンダリング対象にしろ」的に、登録していかないとダメなのだな…。
さておき。自分の環境も、たしかに POV-Ray 3.7 (pvengine.exe) が起動するものの、エラーメッセージが表示されてレンダリングが実行されなかった。
出力された .povファイルを、手動で起動した POV-Ray で開いて Run をしたら、一応レンダリングはされた。つまり、FreeCAD から直接 POV-Ray を呼び出して利用することはできないけれど、FreeCAD から .pov を出力してそれを利用することはできなくもない、という状態っぽい。
しかし…。穴を開けた部分や、角を丸めた部分が、何一つ反映されてなかった。これでは全然使い物にならない…。
また、形状データはことごとく mesh2 になっていた。
ダメじゃん。それでは意味が無いじゃん。
FreeCAD上では、矩形や円の押し出しで形状を作って、かつ、それら矩形や円の情報をいつまでも保持しているのだから、それらのデータの持ち方を比較的保持したまま POV-Ray に形状データを渡すことを期待してたわけで…。ポリゴンの羅列に変換されてしまうなら、あえてわざわざ FreeCAD を使う意味が無い。だったら最初から別のツールを ―― 例えば Wings 3D あたりでも使ったほうが快適に作業できるわけで…。
それはともかく。.povファイルを覗いてみたら、「#version 3.6;」という文字列が目に入った。ひょっとすると FreeCAD は POV-Ray 3.6 の仕様に合わせてこのあたりの機能を作ってあるような気がする…。
更におそらく POV-Ray は、3.6 から 3.7 になる際、他のプログラムから呼び出される時の仕様が色々変更されているのではないかなと邪推してみたりして。「POV-Rayを呼び出してレンダリングできます」と謳ってたこの手のソフトは、軒並み POV-Ray 3.7 に未対応・正常動作しないので…。POV-Ray 側が無頓着に仕様を変えてしまったのではないかなあ、と。
ただ、POV-Ray 3.7 は2013年に公開されているので、そこからずっと何年も、他のソフトが未対応のままというのも妙な話で…。
もっとも、つまりはそれだけ、POV-Ray は誰も使わないソフトになっているのかもしれず。POV-Ray を呼び出せるその手のソフトがそもそもえてしてマイナーだったりするし、加えて POV-Ray を呼び出そうとする人はほとんど居ない、ということかも…。
_FreeCADのレンダリング関連ワークベンチはまだまだ発展途上!?:無償3D CAD「FreeCAD」を使ってみよう(7)(1/5 ページ) - MONOist
POV-Ray 3.7 x64 をインストールしてある環境で、上記の記事に従って自分も試してみた。
ちょっとハマったのは、PovProject に各パーツを登録していくあたり。PovProject さえあれば全体が自動的にレンダリングされるのかと思い込んで作業して「変だな…レンダリングされないぞ…?」と悩んでた…。「このパーツをレンダリング対象にしろ」的に、登録していかないとダメなのだな…。
さておき。自分の環境も、たしかに POV-Ray 3.7 (pvengine.exe) が起動するものの、エラーメッセージが表示されてレンダリングが実行されなかった。
出力された .povファイルを、手動で起動した POV-Ray で開いて Run をしたら、一応レンダリングはされた。つまり、FreeCAD から直接 POV-Ray を呼び出して利用することはできないけれど、FreeCAD から .pov を出力してそれを利用することはできなくもない、という状態っぽい。
しかし…。穴を開けた部分や、角を丸めた部分が、何一つ反映されてなかった。これでは全然使い物にならない…。
また、形状データはことごとく mesh2 になっていた。
ダメじゃん。それでは意味が無いじゃん。
FreeCAD上では、矩形や円の押し出しで形状を作って、かつ、それら矩形や円の情報をいつまでも保持しているのだから、それらのデータの持ち方を比較的保持したまま POV-Ray に形状データを渡すことを期待してたわけで…。ポリゴンの羅列に変換されてしまうなら、あえてわざわざ FreeCAD を使う意味が無い。だったら最初から別のツールを ―― 例えば Wings 3D あたりでも使ったほうが快適に作業できるわけで…。
それはともかく。.povファイルを覗いてみたら、「#version 3.6;」という文字列が目に入った。ひょっとすると FreeCAD は POV-Ray 3.6 の仕様に合わせてこのあたりの機能を作ってあるような気がする…。
更におそらく POV-Ray は、3.6 から 3.7 になる際、他のプログラムから呼び出される時の仕様が色々変更されているのではないかなと邪推してみたりして。「POV-Rayを呼び出してレンダリングできます」と謳ってたこの手のソフトは、軒並み POV-Ray 3.7 に未対応・正常動作しないので…。POV-Ray 側が無頓着に仕様を変えてしまったのではないかなあ、と。
ただ、POV-Ray 3.7 は2013年に公開されているので、そこからずっと何年も、他のソフトが未対応のままというのも妙な話で…。
もっとも、つまりはそれだけ、POV-Ray は誰も使わないソフトになっているのかもしれず。POV-Ray を呼び出せるその手のソフトがそもそもえてしてマイナーだったりするし、加えて POV-Ray を呼び出そうとする人はほとんど居ない、ということかも…。
◎ 別フォーマットでエクスポートしてみた。 :
形状データがポリゴンに変換されてしまうあたりにちょっとガッカリしたけど、でもまあ、ポリゴンに変換してしまえば、他のソフトでも読み込めるようになるし…。と気を取り直して、Wavefront OBJ (.obj) でエクスポートして blender でインポートしてみたのだけど。
角の丸みがガタガタ…。曲面をポリゴンで置き換える際の分割数が少な過ぎる…。このあたり、オプションで変えられないのかな…。
.dae でエクスポートしてみた。このフォーマットなら、もう少し細かく分割される模様。
.stl でもエクスポートしてみた。これも .dae と同程度に分割されていた。
角の丸みがガタガタ…。曲面をポリゴンで置き換える際の分割数が少な過ぎる…。このあたり、オプションで変えられないのかな…。
.dae でエクスポートしてみた。このフォーマットなら、もう少し細かく分割される模様。
.stl でもエクスポートしてみた。これも .dae と同程度に分割されていた。
◎ 雑感。 :
FreeCAD を POV-Ray関係のモデリングツールとして使えないかと期待してたけど、全然ダメだった。直接呼び出せないし、ポリゴンに変換されちゃうし…。これは使えないなと…。ちょっと残念。もっとも、POV-Ray を使ってレンダリングする機能はオマケのようなものかもしれないので、期待するほうがおかしいのかもしれず。
この記事へのツッコミ
[ ツッコミを読む(1) | ツッコむ ]
以上です。
形状の問題はメッシュに変換するfreecadの問題ですね。
レイトレースの品質は無数にあるパラメータの組み合わせで良くも悪くもなるので、cad使いの人でも、レイトレースの知識がないと使えないものだと思います。