2020年6月6日土曜日

【Grasshopper_34】トリムされた複数枚サーフェスを1枚のサーフェスに置き換える小ネタ


平面上に作った2Dパターンを3Dサーフェス上にマッピングする際、マッピング対象のサーフェスはトリムされていない状態の物を指定する必要があります。

分割やトリムコマンドでトリムされた状態のサーフェスにMap to Surafaceコンポーネントにつなぐとエラーになります。

車のモデリングデータは随所にトリムされたサーフェスが張られていることが多いので、この問題に直面することが時たまあるわけです。

この問題の対処法の一つは、サーフェスをRhinoもしくはAliasなどの他のCAD上でアントリムを実行し、トリムする前の状態に戻すことです。

また、アントリムが難しい場合(サーフェスの数が多くてアントリムしても整合が取れない場合など)は、新たに一枚のサーフェスをほぼ同等の寸法精度で作り直す方法が次に考えられます。

ここでは、なるべく簡単に張りなおす方法を紹介します。
大抵の場合、ライノ上で作業したほうが早くて確実なんですが、Grasshopperの勉強も兼ねて、コンポーネントで組んでみることにしました。

Step.1 データの準備

・今回のサンプルとして、トリムされた9枚のサーフェスを用意しました。上のサーフェスすべてがパターンを配置する範囲とします。大きなサーフェスからパターンを配置する範囲を切り抜いた状態を想定しています。

Step.2 結合してオープンエッジが無いかチェック

・Rhino上で、すべてのサーフェスを結合コマンドでくっつけた後、「解析→エッジツール→エッジの表示」とたどって実行します。

・ピンク色が外周のみ表示されていればOKです。もしサーフェス同士の境界部分もピンク色で表示されたら、それは隙間が出来ていることになり、この後の工程でエラーとなりますので、表示オプション→単位とたどり、絶対許容差を少し大きくするか、あるいはもう1度新しくサーフェスを張り直し、オープンエッジが外周部のみの状態にします。

Step.3 Grasshopperに取り込む

・結合したサーフェスをGrasshopperに取り込みます。結合した状態のサーフェスは、Grasshopper上ではBrepというデータ形式になります(ポリサーフェスに近いイメージです。個々のサーフェス情報は保存されています)。

・取り込んだ状態の中身は、Reference BrepもしくはOpen Brepが一個のみが正しい状態です(複数のサーフェスを取り込んだ時は、Brep Joinコンポーネントを使って結合します)。複数のBrepが表示されてしまうのは結合されていない状態ですので、Step.2に戻ってオープンエッジが表示されないか確認します。

Step.3 外周の曲線を求める

・Brep Edgeコンポーネントにつないで各サーフェスのエッジを取り出します。

・En出口のカーブデータをJoin Curvesコンポーネントにつなげると、上の図のようにBrepの外周のみの閉曲線ができます。それを、Discontinuity、Shutterコンポーネントにつなげて4隅のコーナーで分解し、4つのエッジ曲線ができます。

Step.4 平面を作る

・4つのエッジのうち、縦と横をそれぞれ一つずつ選び、Perp Framesコンポーネントを使って平面(Plane)を作成します。両端の部分は無い方がいいので、Cull IndexコンポーネントのI入力に0と-1をつないで除外します。

Spte.5 縦と横のカーブをそろえる

・Step.4で作った平面を使って、それぞれStep.3で読み込ませたBrepとの交線をBrep|Planeコンポーネントを使って求めます。両端のカーブは、Insert Itemsコンポーネントをそれぞれ二つ用意し、0番目と-1番目(リストの一番末尾)に挿入し、順番がそろった曲線をまとめます。

Step.6 完成

・最後に、縦と横のカーブをNetwork Surfaceコンポーネントにつないだら完成です。

・取り込んだサーフェスがより複雑な形をしているために部分的に乖離が大きい場合、Step.4で作る平面の数を増やすと、形がより細かくなり、元のサーフェスにより近い形状になりますが、その分、制御点の数が多くデータが重くなりますので、どれぐらい細かくするかはケースバイケースとなり、その都度、調整が必要です。

0 件のコメント:

コメントを投稿

【Grasshopper_98】SporphとSurface Morphingの特徴、違いなどについて

今年もまたGWに突入しましたね。コロナ明けに円安、インバウンド特需のおかげで東京から郊外に出かけると例年以上に混雑に巻き込まれそうなので、昨年と同様、連休中は家に籠ってブログを更新します。今回のテーマは、Surface MorphingとSporphの違いについてまとめてみました。