2020年9月6日日曜日

【Grasshopper_36】ランダムに分割したパターンの作り方


石が自然に割れたような感じのパターン。


Step.1 ランダムに配置した点に平面を作って交線を求める

・大きさが200mm四方の正方形を作り、その内部にPopulate 2Dコンポーネントでランダムな位置に点を配置します。

・ランダムに配置した点と正方形の中心点の間に直線を引き、その直線の方向を鉛直とする、ランダム点における平面を点の個数の分だけ作ります。

・作った平面を使って正方形との交線を求めます。

Step.2 交線に厚みをつけて、結合する

・Step.1で作成した直線をオフセットさせます。方向はそれぞれ正と負の両方を作るので、Offsetコンポーネントを2つ作り、片方のD入力のExpression欄にx*-1を入力して数値を反転させます。

・オフセットさせた直線を少し延長させ、Loftコンポーネントを使って面化します。

・面化したサーフェスのエッジを取り出し、Join Curvesコンポーネントを使って結合した後、Region Unionコンポーネントを使ってブーリアン演算の和を実行します。

Step.3 正方形を分割する

・Step.2で求めた結合直線を使って正方形を分割します。

・面積の値を求めてソートし、末尾のデータを削除すると、上図のような中抜き状態となります。

Step.4 微小面積部を除去し、Rをかける

・Step.3で求めたサーフェスの集合体の中から、微小な面積を持つものを除外します。

・Brep Edgesコンポーネントを使って各サーフェスのエッジを取り出した後、Join Curvsコンポーネントにより結合し、面積を計算します。

・求めた面積をLarger Thanコンポーネントを使って比較し、B入力よりも小さいものをCull Patternコンポーネントを使って除外します。

・そのあと、Filletコンポーネントを使ってRをつけておきます。

Step.5 完成

・最後に、もう一度、正方形を分割したら完成です。

0 件のコメント:

コメントを投稿

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

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