1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

曲がったパーツを一定の幅を持った四角形に納まるように分割する

Last updated at Posted at 2022-11-23

はじめに

かんじさんのツイートのお題が面白そうなので Rhinocros + Grasshopperでチャレンジしてみた

前提の整理

対称となるパーツは基準となるカーブがあり左右に60mmオフセットした幅120mmの曲線材と考える。
そのパーツを分割して幅200の板から作成することを考える
image.png
image.png
(画像はかんじさんの投稿から引用)

まず2分割して必要な板幅を考える

Shatter で基準カーブから二つに分割する
image.png

取り出したカーブの始点・終点を結ぶ直線をX軸としたPlaneを作る
image.png

取り出したカーブを左右に60mmオフセットする。そこに Divide Curve で適当な数(ここでは20個)の点を作成する
image.png

Plane Coordinates > Bounds > Number をつなげて必要な板長さと板幅を求める
image.png

Rectangle で四角形を書き Text Tag で寸法を表示した
image.png

Galapagosで最適化してみる

板幅の最大値を計算してGalapagosのFitnessをつなげる。
image.png
Genomeは最初に作成したスライダーに接続する
image.png

Galapagos Editor内のOptionタブでFitnessはMinimizeに設定する
image.png

SolversタブのStart Solverで最適化を始める
image.png
残念ながら2分割では板幅200mmには納まらなかった

分割数を増やしてみる

SliderではなくGene Poolをつないだ。Gene Count は2にするとカーブが3分割される
image.png

GalapagosのGenomeの接続先をGene Poolに変更する
image.png

最適化を実行。3分割でも板幅は200mmには納まらなかった
image.png

Gene Count を3にして4分割で最適化を実行。ぎりぎり板幅200mmに納まった!
image.png

分割数を自動で決められないかを考えてみる

Gene PoolのGene Count を10に増やす。切断数というSliderとSplit List を追加してGene Poolの値をいくつ取り出すかを変えられるようにした。
image.png
板幅の制限値を超えていないかという評価と切断数が少ないほど良いという評価を考慮した式をこんな感じに設定してみた。このあたりの式や係数を考えるのは試行錯誤が結構必要な感じ
image.png

最適化を実行したら5分割になった。手動で分割数を決めたときは4分割だったので多くなっている。手間なく分割数を決められることを良しとするかギリギリまで攻めることを良しとするかで選べば良さそう
image.png

まとめ

作成したGrasshopperの全体像はこちら
かんじさん楽しいお題をありがとうございました!
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?