2020年4月26日日曜日

ジェネレーティブデザイン(2)

相反する課題

3つのBOXのマスの検討では、

条件

ボックス1、2、3は平面形状は変更できませんが、高さとその相対位置を変更することができる。

目標

床面積を最大化して、表面積を最小化すること

この二つの条件は一般的には相反する内容ですが、3つのBOXを適切に重なり合わせる(3つのSOLIDをブーリアン演算で結合する)ことで、表面積を抑えながら床面積を最大化することを目指します。

生成の設定について

生成の設定では既定値を受け入れました。
生成の設定
訳がちょっとおかしいので、それぞれを英語版がどのように表示しているか確かめてみました。
  • Population Size : 母数
  • Generation :世代
  • Seed :シード
となります。
母数: 各世代で生成するオプションの数。
世代:作成する世代の数。次の世代は前の世代のベスト解の二つから派生します。

母数が多ければ多いほど、世代が多ければ多いほど、設定した目標に向かってよりよい結果を得ようと進化していきますが、時間もかかってしまいます。

結果の見方

生成ボタンを押すと次の図のような結果が表示されます。
デザイングリッド
赤枠の部分を「デザイングリッド」といいます。このデザイングリッドの個々の3Dビューはマウスで回転することができます。
左上のボタン(下図緑枠)を切り替えることで、下の図のような「デザインテーブル」に切り替え一覧表示することもできます。
デザインテーブル
また、下の図の赤枠の欄は「平行座標」で、結果として各変数がどのような値になったかを示しています。
平行座標
こちらも左上のボタンで切り替えができて、「分布図」として表示することができます。
分布図

フィルタ

平行座標を使って結果をフィルタリングしてみます。まず、床面積と表面積をみて、床面積が大きく取れているうちで比較的表面積が小さなもの、つまり床面積から表面積に向かって右下がりの要素をフィルタしてみます。床面積のバーの上をドラッグして下の図のように範囲を選択します。
床面積をフィルタする
すると、上部のデザイングリッドの数が絞られてくることがわかります。
次にボックス2の高さを大きくとるとすれば、一番右の三つの指標がへの字になるような位置にフィルタを作成します。
高さにフィルタを作成
こうしたフィルタリングを繰り返して、だんだんと候補を絞り込んでいきます。
絞込

今回のような例では、決定的な方向性というのはなかなか見えてきませんが、多くのオプションの中から、適切な指標をもって選択することが可能になります。



2020年4月19日日曜日

ジェネレーティブデザイン(1)

Generative Designとは

多数の条件、多数の目的、多数の解。私たちは日常的にこのような複雑な問題を解決するために非常に多くの試行錯誤を繰り返しています。ジェネレーティブデザインはこの試行錯誤を非常にスピーディかつ大量に行ってくれます。人間はその多数の解の中から最も適切であると判断した答えを選択します。
ジェネレーティブデザインの画面
Revit2021にはジェネレーティブデザインが実装されました。これはいわゆる「最適化問題」の解法であり、古くからさまざまなアルゴリズムが研究者から提起されてきました。大変敷居の高かった最適化問題を、ジェネレーティブデザインという手法を用いて、ついに一般人が解を得られるようになりました。どんな仕組みなのか実際に触りながらジェネレーティブデザインとはどんなものなのかを体験していきましょう。

起動方法

早速使ってみましょう。
  1. Revit2021を起動し任意のテンプレートを使ってプロジェクトを作成。
  2. 管理タブ>ジェネレーティブデザインパネル>スタディを作成。
    管理タブ>ジェネレーティブデザインパネル>スタディを作成
ここで次のダイアログボックスが表示されてなかなか次へ進まない場合があります。
ジェネレーティブデザインはライセンスが別途必要
ジェネレーティブデザインを使用するにはAECコレクションを契約する必要があります。しかし、AECコレクションの契約がなくてもダイナモ(Dynamo for Revit)を使えば同じことができます。上記のダイアログを右上の✖で閉じて、今度はダイナモを起動します。

ダイナモで起動

どちらから起動しても機能はまったく同じです。
  1. 管理タブ>ビジュアルプログラミング>Dynamo
    管理タブ>ビジュアルプログラミングパネル>Dynamo
  2. ジェネレーティブデザイン>スタディを作成
    ダイナモからジェネレーティブデザインを起動する
ジェネレーティブデザインはダイナモを使って様々な新しいスタディを開発するこができるので、ちょっと「生っぽい」ですが、開発に興味がある方にはこちらがおすすめです。

基礎知識

ジェネレーティブデザインに必要な項目が4つあるので、まずこれだけは覚えておきましょう。
  • 目標
  • 定数
  • 拘束
  • 変数
の4つです。

目標~これを達成したい!

達成すべき目標です。複数あって構いません。たとえば「床面積を最大にしてかつ表面積を最小にする」など、一見矛盾したような目標でもOKです。

定数~これは動かしちゃダメ!

変更できない固定値です。部屋の中に机を配置するような場合は、部屋の形状とか机の数などが定数になります。

拘束~これだけは守ってください

「少なくとも○○が必要」といえばわかりやすいかもしれません。ビルの幅は最小20m最大50mなど、ある範囲の中でスタディを作成するようにしないと、あまり現実的でない結果が多数生成されるようになってしまいます。

変数~自由にいろいろやってみて!

自由に変更する複数値です。コンピュータはこの複数の値を様々に変化させて、多くの結果を作成します。

まずはやってみよう

スタディを作成ダイアログボックスには、あらかじめオートデスクが用意した3つのスタディタイプが表示されています。
用意された3つの例
これらは単純なように見えますが、ジェネレーティブデザインを理解するのに非常に役に立ちます。一つずつ実行しながらジェネレーティブデザインの世界に慣れていきましょう。
3つのボックスのマスをクリックしてください。すると、スタディを定義ダイアログボックスが表示されます。
スタディを定義
このスタディでは一辺が50フィートの正方形のボックスの高さと互いの位置を変更して、床面積と表面積の計算を行います。

方法

方法は「optimiza(最適化)」「Cross Product(均等分布)」「Randomize(ランダム化)」「Like this(似たもののバリエーション検討)」の4つがあります。これを変更するたびに入力条件が変更されます。
方法は4種類
まずはOptimizeを選択しておいてください。

異なる入力を選択(誤訳)→変数を選択

異なる入力はではなく、どれを変数にするか、という意味です。ボックス1~3の高さとボックス2~3の座標(ボックス1の位置は固定)のうち変更してもよい値を選択します。
変数を選択
ここでは全てにチェックを入れておきます。

目標を設定

スタディの目標を設定します。
目標を設定
ここでは床面積を最大化し、表面積を最小化することを目標としてみます。

拘束を設定

計算結果の床面積と表面積の範囲を設定します。
拘束を設定はOFF
最初はどれくらいの結果が得られるかわからないので、両方オフにしておきます

生成方法

方法としてOptimize=最適化が選択された場合、Revitは最適化エンジンとして「遺伝的アルゴリズム(GA)」を採用しています。難解な遺伝的アルゴリズムを簡単に使用できるのは素晴らしいことです。この各項目は遺伝的アルゴリズム特有の項目ですが、今回は規定値を受け入れます。

さて、生成ボタンを押してみましょう。

すぐに結果を得ることができます。
スタディ結果

実行はクラウドではなくPC上で行われます。Revitとは完全に別スレッドで動きますので、Revitの操作を妨げることはありません。マルチタスクで実行されるので非常に高速です。下の図は実行時のCPUの動きですが、すべてのCPUが稼働していることがわかります。
マルチスレッドで実行される
次回はこの結果の見方について考えてみます。

2020年4月12日日曜日

Revit2021 注目の新機能

Revit2021はかなりの進化

Revit2021が4月8日にリリースされました。今回から数回に分けてその新機能についてみていきます。総評としてはかなりの進化を遂げているといえるでしょう。このバージョンは「買い」ではないかと思います。

動画による紹介

Revit2021がまだ手元にない方も、以下のURLに動画があります。英語版ですが、Revitに慣れたユーザーであれば十分にその機能を理解できると思います。
https://blogs.autodesk.com/revit/2020/04/08/whats-new-in-revit-2021/
REVIT BLOG

YouTube

こちらはサイレントですが日本語による紹介動画です。
YouTube

ヘルプ

Revitのヘルプからも、新機能を見ることができます。動画も何本かあり、日本語字幕もあるのでこちらも参考にしてください。
https://help.autodesk.com/view/RVT/2021/JPN/
ヘルプの「Revitの新機能」

開発者向けSDK

開発関連のSDKはこちらからダウンロードできます。2020年4月12日現在、デベロッパーセンターのUSサイトのみからダウンロード可能です。.Net Framework4.8が必要です。

ハイライト

今回いくつかの注目すべき機能が搭載されています。

  • 日本仕様サンプルの標準搭載
  • リアルタイムリアリスティックビュー
  • ジェネレーティブデザイン
  • 傾いた壁
  • 集計表の縞々
  • ビューフィルタの有効/無効
  • 電気回路名の自由入力
  • PDFのリンク
  • ファミリのボイドの表示非表示
などなど。中でも注目はジェネレーティブデザインの機能で、なかなか庶民にはハードルが高かったジェネレーティブデザインを、非常に身近にわかりやすく、ダイナモベースで利用できるまでに昇華させています。とやかく言われても、オートデスクの技術力・商品企画力はさすがというしかありません。ジェネレーティブデザインについては、次回レポートします。今回からいくつかに分けてこれらの新機能について紹介します。

日本仕様サンプル

ワールドワイドの様々な新機能に加えて、今回のRevit2021には注目すべきサンプルプロジェクトが添付されています。
Revit2021をインストールして立ち上げると、初期画面に日本仕様サンプルが表示されます。


きちんと日本の設計業務になじみのある図面をもったモデルが標準で搭載されています。地味ですが大変な進化です。

意匠

サンプル意匠.rvtを立ち上げると、サンプル構造.rvtをリンクした状態で立ち上がります。
意匠と構造がリンク
鉄骨造のオフィスなので、構造と意匠をリンクして使う好例となっています。シートは以下のようになっていて、様々な意匠図が作成されています。
モデルをどのように作成しているのか、いろいろな部分を参考にすることができます。また確認申請用の図面もついているので、どのように図面を作っているのかをけんとうしてみるといいでしょう。
意匠は一般図・詳細図・法規チェック図など

構造

構造モデルはRUGから提供されている構造ファミリを使って作成されています。
構造モデル
例えば、基礎梁を選択してタイププロパティを見てみると、きっちり配筋情報まで入っていることがわかります。
RC構造フレームのタイプパラメータ
構造モデルも多数の図面が搭載されています。ぜひ一つずつ開いてどのような作り方になっているか、探ってみてください。
多数の図面
構造図のお手本ですね!
伏図
軸組図

設備

ついに、私たちが見慣れた設備モデルが登場しました。こちらもRUGから供給されている設備ファミリを使ったモデルになっています。
天カセ、全熱交換器など見慣れた設備機器が!
ただ、同梱されているモデルには図面(シート)が十分に作成されていません。実はこれらのサンプルをさらに進化させたモデルが下記のHPよりダウンロード可能です。
http://bim-design.com/rug/library/
最新の日本用サンプルモデルはこちらからダウンロードできます。
バージョンは2020なのでアップグレードが必要です。
意匠モデルとのリンクが切れているので、サンプル意匠.rvtとサンプル構造.rvtをリンクしてください。どちらのファイルも以下のフォルダにあります。
C:\Program Files\Autodesk\Revit 2021\Samples

モデルだけではなく、電気空調衛生の各ジャンルの様々なリストと平面図が作成されています。
空調配管図
空調ダクト図
システムブラウザを開くと、どのようなシステムが組まれているかがわかります。
システムブラウザ
これらを参考にしながら、残りのシステムも自分でつないてみるととても良い練習になるでしょう。

次回も 2021注目の新機能について報告します。

2020年4月5日日曜日

重ね壁の小技

重ね壁を使いこなしましょう

重ね壁はよく知れば、かなり便利な機能です。前回ご紹介したようなALC壁のように二つの壁の垂直の位置関係を、それぞれ独立した標準壁を使って保つのは非常に困難です。
活用に役立つように、いくつかのヒントを書いてみます。

重ね壁は分解可能

作成した重ね壁を、最終的に個別の壁として扱いたい場合は、個々の標準壁に分解することができます。分解方法は
重ね壁を選択して右クリック>分割
これだけで位置を保ったまま複数の標準壁に「分解」されます。

個々のプロパティ

重ね壁は複数の標準壁のインスタンスをまとめて扱っているだけなので、個々の壁のインスタンスパラメータを修正することが可能です。重ね壁をマウスオーバーしTABキーを何回か押して目的の部分がハイライトされたらクリックして選択します。
TABキーで選択
これで重ね壁を構成する壁のインスタンスプロパティを修正できます。RC腰壁は構造部材だけど、ALC壁は意匠壁、というような構成にすることが可能です。
インスタンスプロパティも編集可能
また右クリック>すべてのインスタンスを選択を使用すれば、その他の重ね壁の構成要素を選択できます。
全てのインスタンスを選択

建具のホスト

重ね壁にドアファミリを挿入すると、上下の壁に開口します。枠見込みなど、ホストとなる壁の状況によって変わるパラメータは、メインホストとなる壁の属性に従います。
メインホストの腰壁の壁厚に反応し、枠見込がALC壁に対してやや大きすぎる
メインホストを変更するには、
  1. ドアを選択して「メインホストを選択」
  2. ALC壁を選択
で変更します。
枠見込がALC壁によって調整される。
上記の分割を行っても、分割前と同様に建具は上下の壁に開口した状態が保たれます。
分割しても大丈夫

マテリアルの基点に注意

マテリアルの起点は、重ね壁としての基準レベルとなります。
マテリアルの起点は重ね壁の基準レベル
必要に応じて目地を位置合わせしてください。

上/下部の働き

レイヤダイアログの「上」「下部」の値は通常編集不可になっています。
いつ使用可能になるのか?
この項目は、個々の標準壁のタイププロパティで「レイヤの延長」が許可されていた時に使用できます。
例えば、下の図のように、2つのレイヤからなる壁タイプを作成し、タイププロパティの構造を編集します。
このとき、断面を表示して、下部の水平境界を選択して、表示されたカギアイコンのロックを解除します。
壁のタイプ編集>構造>プレビュー>断面>修正で境界をクリックしてロック解除
そしてこの壁を使用して重ね壁を作成すると、下部の欄を使用できるようになります。
下部が編集できるようになる
ロックを解除したレイヤが延長/短縮されます。

結合編集

重ね壁の結合部を編集するには、「壁接合部」を使用して、目的の壁接合を編集します。
修正タブ>ジオメトリパネル>壁接合部
壁接合部をクリックし、重ね壁の接合を編集したい個所をマウスオーバーすると四角形が表示されるのでクリックします。
赤矢印をマウスオーバーすると四角形が表示される。□の大きさは壁厚を反映している
オプションバーで結合状態を編集します。
オプションバーで編集
重ね壁の機能をよく把握して、しっかりと使いこなしてください。