2020年9月20日(日) 14:10 JST

新しい講義「建築形体論理」

  • 2020年9月15日(火) 11:44 JST
  • 投稿者:

仰々しい名前がついていますが…プログラミングによる三次元モデリングにおいて制作可能なモデルを作ることにフォーカスした講義です。「制作可能な」をもう少し具体的に言えば、多軸加工機等でのファブリケーションの入力として利用できるように、納まりが表現されていて(≒構法)、制作できそうな(≒工法)水準の三次元モデリングを考えよう、ということになるでしょうか。今年度からの開講となりました。建築分野における三次元モデル、特にBIMな三次元モデルは属性オリエンテッドで、属性をうまくつかってシミュレーションや情報伝達がなされていますが、三次元モデルの目的の一つである「建てる」を考えれば、やっぱり形状も大切です。加工機でのファブリケーションを想定すれば、加工の可否判断や制御の導出に必要ですので、なおのこと重要であることがわかります。

プログラミングによる三次元モデリングに関しては、2017年からArchiCAD付属のモデリング言語GDLを建築生産設計という講義でも扱っています(研究室としては2005年からゼミのコンテンツとしていました)。研究室で毎年行っている木工実習では、この建築生産設計で学んだことを活かし、三次元モデルでの設計が行われますが、実習向けの簡単な対象であってもちゃんと納まり等を加えようとするとちょっと難しいようです。レシプロカル・タワーのように斜めかつ部品種数が多いアルゴリズミックな対象ではさらにハードルがあがり、スケジュールの兼ね合いもあってモデリングを完走できる学生がぐっと減ってしまいます。このあたりの問題意識をモチベーションに、建築生産設計(学部四年生向け)を基礎編、建築形体論理(修士向け)を応用編のように位置づけ、制作に耐える三次元モデリングを目標に据えました。

初回となる今年度は:

  1. 三次元曲面を含むような複雑形状のモデリング
  2. 継手仕口のような納まりの生成の仕方
  3. 進化的アルゴリズムによる最適化の導入
の三つの構成を試行しました。この記事では内容や成果について簡単に紹介したいと思います。


ソフトウェアは学生の嗜好からRhinoceros(Grasshopper)を使ってみました。納まりの生成(2.)において、部材AとBを蟻継で接合するなど図面上に配置されているオブジェクト(インスタンス)を入力とする処理がRhinoceros(Grasshopper)であれば書きやすいのでは※という個人的な興味もありましたが…。

※:「継手仕口による納まりのプログラム言語を用いた記述に関する研究、日本建築学会技術報告集、第21巻 第49号、pp.1297-1300、2015.10」においてはArchiCADのGDLとAPIを用いアドオンとして納まりの生成システムを実装しており、ArchiCADでも出来ます。が、APIによるアドオンの実装を講義として扱うのは少々ハードルが高いかと判断しました。

1. 三次元曲面を含むような複雑形状のモデリングでは、GDLと同じく立体トラスを題材にしました。ロッドとボールジョイントとのソリッド演算を使った納まり表現や、ロッドを角材にした際の向きの制御、レシプロカル化などを応用として加えています。GDLやC言語に慣れていると、配列はどうしてもFORループで処理したくなりますが、GrasshopperですとそうはいきませんのでListやTreeの操作などもポイントとして扱っています。ListやTreeに対する抽出や並び替え操作になれるとコンポーネントのモジャっとした感じが抑えられますね。

2. 継手仕口のような納まりの生成の仕方では、Rhinoceros上にある二つの横架材を入力に腰掛け蟻仕口を生成する仕組みを題材にしました。単純には一方の端部に男木を作ってからソリッド演算(減算)すればよいのですが、レシプロカル・タワーのような複雑形状へと適用するために、斜めの場合や部材の断面が異なる場合や、他の納まりバリエーションへの適用を想定した手順となっています。具体的には、部材の相対的な位置関係から、右上のエッジ、左上のエッジ、手前の面など要素にラベリングを(エイリアスを設定)する手順と、それに基づきソリッド演算用の形状を定義する手順に整理しました。

3. 進化的アルゴリズムによる最適化の導入では、GalapagosやOctopusを使った最適化を扱ってみました。本来であれば、2.で生成した継手仕口が無理なく納まるように何某かのパラメータ(例えば曲面の曲率や分割数)を最適化するなどといった題材が良かったのですが、今年度は新型コロナ影響で非対面、短縮スケジュールといった事情もあって、面積や視野の最大化、単純梁のたわみ量と体積の最適化など基礎的な内容を押さえるに留まりました。このあたりは来年度に向けて再検討したいと思っています。

講義全体を通しいくつか課題を設定しましたが、最終的なまとめ課題としては、1+2(納まりのある複雑形状)か、1+3(最適化を行った複雑形状)、どちらかを使いフォリー作品をモデリングしてくるといったものを課しました。うちの研究室の学生は前者を選ぶ傾向があり、「1+2」を選ぶか「1+3」を選ぶかに所属研究室のカラーがでた点が興味深かったです。全体としては、(2)納まりのほうはパイプなど棒材での接合をソリッド演算で表現するものが多かったです。加工機的な可能性を考えるともう少し凝った接合もできそうだとは思います。(3)最適化のほうは目的関数の設定が難しいところですね。日照や歩留まりなどを取り入れると良さそうです。来年度はもう少し具体的な設計対象を指定して、「1+2+3」を考える、などし、教材のブラッシュアップをしたいと思います。

以下に作品を示します。学生の皆さん、お疲れ様でした!

パネルを組み合わせた漏斗状の形状:パネル同士は凸と凹が噛み合うように納まるようです。パネル側面が捻じれているのも制作上は問題となりそう、とのことです。

捻じれのある構造:フレーム間に張る膜に一部透過性のあるものを用いる設計になっているようで、その位置にLADYBUGを使った最適化が採用されています。

Spirallohedraを用いたパビリオン:支持用のフレームもシステマティックにモデリングされています。制作に対する配慮として形状の同異にも着目したアルゴリズムになっています。

バスストップ:体積と表面積について多目的最適化(Octopus)が行われています。体積と表面積を目的関数にするのは例題的な側面もあるのでもう少し建築的な目的関数を講義でも取り入れたいと思います。

象⽛多層球のモデル:制作にむけた~というわけでは無いかと思いますが、層状になった球が個別に動かせるようになっています。

画像を入力としたボロノイパターンの最適化:OpenCVによる画像処理を併用しています。他のライブラリによる拡張も色々な展開がありそうです。

納まりまで表現された鳥居のモデル:笠木と島木について端部の成が増す部分の表現がなされていませんが、各部材間の納まりはモデリングされています。ただ、全体を一つのGrasshopperでモデリングすると規模が大きくなってくるとちょっと大変になります。

懸垂ボロノイグリッドシェル:物理演算エンジン機能であるKangarooを用いて懸垂曲線(面)が表現されています。三から四股のロッドをパイプ上のジョイントで繋ぐような構成になっていますが、パイプ長が一定以下の場合はロッドを一体とするといった破綻を防ぐ工夫もされている。

水戸芸術館シンボルタワー:大入れ+丸ほぞのようなボールジョイントがモデリングされています。全体もパラメトリックになっており四面体の数なども変えられるようです。

Floating Stone Pavilionを模したフォリー。ボックス間の距離が均等になるよう最適化することで重なりを回避しています。ボックス同士はパイプ材で繋ぐとのことですが、ボックスのエッジに穴が掛からないようパイプと直交する面で切り落としています。