Grasshopper tips//閉じたメッシュの向きを確認する

This topic contains 0件の返信, has 1件の返信, and was last updated by Hiroaki Saito のプロフィール写真 Hiroaki Saito 1 年 7 ヶ月前.

215 Views
LICENSE GNU GPL
  • by Hiroaki Saito のプロフィール写真 Hiroaki Saito #6975

    仕事の中で他ソフトから書き出したdwg等の3DモデルをRhinocerosにインポートする際に予期しない閉じたメッシュ面の反転がランダムに起きる事が時々起きるのですが、他ソフト側では正常にモデル作業が成されているようで、どうもデータを書き出して読み込む間に何かしらの問題が発生している事が考えられました。

    いくつか方法を考えたうちの一つとして、単純に内向きになった閉じたメッシュのみを反転できるようなものを考えてみました。コードは画像2を参照下さい。

    尚、閉じたポリサーフェスの場合はそもそも面の内向きをRhinocerosが許してくれないので今回の事例はあくまでメッシュでの話になります。

    コードについて、SolidOrientationというメソッドを利用して面の内向き、外向きを確認しています。

    Mesh.SolidOrientation Method

    http://developer.rhino3d.com/api/RhinoCommon/html/M_Rhino_Geometry_Mesh_SolidOrientation.htm

    仮に一部のみ面が反転している場合も想定して、UnifyNormalsメソッドを利用して、面の向きを統一する事もしています。

    http://developer.rhino3d.com/api/RhinoCommon/html/M_Rhino_Geometry_Mesh_UnifyNormals.htm

    ASMO_Before

    画像1:左から正常な外向きの閉じたメッシュ、内向きの閉じたメッシュ、内にも外にも向いている閉じたメッシュ。

    ASMO_After

    画像2:全選択してコンポーネントにセットした後、ベイクしたもの。正常なメッシュはそのまま、内向きのものは外向きに、内外に向いているものは内に向いているものだけ外に向く。

    今回のコンポーネントは閉じたメッシュにのみ動作するもので、他の挙動は確認していませんのでご注意ください。

     

    添付ファイル:
    添付ファイルを見るためにはログインが必要です。

このトピックに返信するにはログインしてください。

openDDLにログイン

or    

ログイン出来ない場合

パスワードをお忘れですか?