C#ATIA

↑タイトル詐欺 主にCATIA V5 の VBA

滑らかさを手に入れる

最近忙しかったのですが、一山だけ超えました。

二番目の原因が、リバースエンジニアリングな仕事のマネキンのモデリングです。
3Dスキャンしたものからサーフェス化したものの一部(背中)がこち

f:id:kandennti:20170707130316p:plain

フリースタイルなライセンスが無い為、ゼブラ表示が出来ません。
代わりに "サーフェスの曲率 - 屈折領域" で表示させると
細かなうねりが有りまくりな事がわかります。
f:id:kandennti:20170707130334p:plain
"もっとスキャンデータの時点でスムージングやれよ" と言うご意見が
正しいのですが、不慣れなソフト・時間的な制約が有り
ナカナカ思うように行きません。(最終的にこの面は不採用)

折角なので、ブログのネタとして
これを何とかしてスムーズな面に出来ないか? と挑戦してみました。
(面を重ねた状態の画像は、水色が元面 オレンジ色が処理後の面です)

・ラフオフセット-オフセット
ラフオフセットで一度オフセットし、同じ値を再度オフセットして見ました。
当方ライセンスがないためラフオフセット利用できないのですが、
こちらのグレーな方法を利用しています。
ライセンスの無いコマンドを使用する - C#ATIA
適切な値がわからないのですが、このような設定です。
f:id:kandennti:20170707130358p:plain
見た目の結果はこち
f:id:kandennti:20170707130407p:plain
f:id:kandennti:20170707130419p:plain
細かなシワシワが無くなっています。
但し処理時間が結構かかるんですよね、ラフオフセット。

・スケーリング
単純にスケーリングで1/1000にし、再度1000倍します。
f:id:kandennti:20170707130433p:plain
f:id:kandennti:20170707130449p:plain
重ねた画像を見てもわからないぐらい、ほぼ効果がありません


ここからは、履歴を捨てた方法です。

・スケーリング-Iges
スケーリングで1/1000にしIgesでエクスポート。再度インポートし
1000倍します。
f:id:kandennti:20170707130457p:plain
f:id:kandennti:20170707130505p:plain
"悪い悪い" と言われているIgesですが、再現性が良く
ほぼ効果がありません。

・スケーリング-model
スケーリングで1/1000にしmodel(V4フォーマット)でエクスポート。
再度インポートし1000倍します。
f:id:kandennti:20170707130515p:plain
f:id:kandennti:20170707130524p:plain
面が2枚に分かれてしまいましたが、オプションの設定で
1枚で取り込むことが可能かと思います。
V4のトレランスの甘さを利用している為、効果をかなり感じます。

Fusion360-スケーリング-Iges
Fusion360のスケーリングで1/1000し、CATIAで1000倍します。
f:id:kandennti:20170707130544p:plain
f:id:kandennti:20170707130552p:plain
CATIAと大差無く、ほぼ効果がありません。


Fusion360-Tスプライン
Fusion360にはTスプラインがあるので、単純にBrep→Tスプライン
→Brepにしてみます。
Tスプライン化の際の分割数は、適切な値がわからないのですが
とりあえず 20x20 で行ってみました。(最大は100っぽいです)
f:id:kandennti:20170707130606p:plain
f:id:kandennti:20170707130615p:plain
f:id:kandennti:20170707130623p:plain
効果を実感します。


実は、このテストの最大の目的はデータの軽さです。
以前、客先より "データが重くてCAMで処理できない" と
クレームを頂いたので・・・。
軽さをどの様に比較すべきか? がよくわかっておりませんが
全てIgesでエクスポートし、サイズを比較してみます。
各ファイル名はこの様になっています。

・元のデータ : smooth_test1-Original.igs
・ラフオフセット-オフセット : smooth_test2-Rough_Offset.igs
・スケーリング : smooth_test3-Scaling.igs
・スケーリング-Iges : smooth_test4-Scaling-iges.igs
・スケーリング-model : smooth_test5-Scaling-model.igs
Fusion360-スケーリング-Iges : smooth_test6-fusion-Scaling-iges.igs
Fusion360-Tスプライン : smooth_test7-fusion-Tspline.igs

結果はこち
f:id:kandennti:20170707130635p:plain
視覚的にもそうでしたが、”スケーリング-model”と ”Fusion360-Tスプライン”が
効果を実感できます。
特にTスプラインの場合はプレビューされる為、分割数を調整する事で
案外良いのかもしれません。(個人的にはmodel方式を利用しますが)
それにしてもラフオフセットのデータの巨大さにはガッカリ・・・。

本来であれば、ある程度碁盤の目のようにワイヤーを作成し
ロフト・ブレンド・フィル辺りを利用して行うのが正攻法なのかも
しれないのですが、結構手間がかかるんですよね。
他にもお手軽に行える方法はあるのかな?

今回試しませんでしたが、Space-eの場合はサーフェスのUVの本数を
減らす事で滑らかさを手に入れることが可能だと思います。

もう一件あるんだよなぁ案件が・・・