JoinコマンドGrasshopperでやるには?
アプリクラフトが公開している記事
Rhino・Grasshopper:ブール演算の差(BooleanDifference・SolidDifference)の演算時間と代替案
この記事を参考にGrasshopperの勉強をしている
アプリクラフトが作成したこちらの記事では
板に円形の孔をあける際の手法のちがいによって、
どれだけの時間を要するか、を検証している
もちろんGrasshopperを使用しないで行う手法もあり得るとして
その作業に要する時間を試算しているから
ぜひ読んでみてほしい
普通に面白いよ
記事に記載の
案4:【Grasshopperで】Project + Loft → BoundarySurface → BrepJoin
を基にここ数日色々学んできたがとりあえず一段落した
途中までに使っていたコンポーネントは案4と同じなので割愛するが例えば以下のような記事を書いている
下図はRhinoのプレビュー画面とGrasshopperで最後の方に使ったコンポーネント
ちなみに2個の板のオブジェクトとの取り合いはこんな感じ
アプリクラフトではちゃんときれいにモデリングしているけど別にGrasshopperを勉強する上ではおおざっぱでもいいんだよ
コンポーネントの挙動を学ぶ分にはまったく問題ないから
上図のコンポーネントの図にある通り
孔の空いた板をモデル化するBoundary Surfacesと
孔の側面部分のLoftとを最後にBrep Joinで1つのオブジェクトとして扱えるようにまとめている
Brep Joinは
まあ 見たまんまのコンポーネントで
複数のサーフェス、ポリサーフェスを結合する(1つのオブジェクトにする)機能をもつ
これはRhinoでいうところのJoinコマンドとみてもらって
差し支えないんじゃないかな
Grasshopperだと他にJoin Curves、Mesh Joinがある
これらも名前の通り前者が曲線同士をJoin
後者がメッシュ同士をJoinするコンポーネントだ
Brep Joinの注意点として同じ階層同士のBrepしか結合できない
だから1つの入力端子に複数のBrepをつなげたあとにBrep Joinの入力端子側でFlattenする
もしくはあらかじめFlattenして階層を調整したものをBrep Joinにつなげる必要がある
このFlattenもいざ自分で使いこなそうとしたら忘れちゃいそうだなあ