2020年5月24日日曜日

ブラケット手摺(3)手摺の作成

手摺の体系

まずは手摺ファミリの体系から理解しましょう。

手摺はやや複雑なシステムファミリです。手すりを構成する部品の関係は次のようになっています。Sはシステムファミリ、Lはロード可能ファミリです。

手摺ファミリ(S)-----------------------①
┗┳横部材(S):プロファイル(L)------②
 ┣縦部材(L):手摺子----------------③
 ┣笠木手摺(S):プロファイル(L)----④
 ┃┗端部(L)--------------------------⑤
 ┗補助手摺(S):プロファイル(L)-----⑥
  ┣端部(L)---------------------------⑦
  ┗補助手摺支持(L)------------------⑧

今回は①~④を使って、ブラケット手摺を構成してみます。(最終的にはすべての部材を使用して2段手摺まで作る予定です。)

手摺ファミリの作成

①手摺ファミリ

まず手摺ファミリを用意します。手摺ファミリはシステムファミリなのでプロジェクト内でしか作ることができません。まず前回作成したファミリを前々回に笠木手摺を作成したプロジェクトにロードします。次に・・・
  1. プロジェクトブラウザ>ファミリ>手摺の任意のタイプをダブルクリック
  2. 複製を押して名前を「ブラケット手摺AFN55」としOK。

②横部材

横部材はブラケット手摺では使用しないのですべて削除します。
  1. 手摺横桟構成の編集ボタンをクリック
  2. 全ての構成要素を選択して削除する。
    すべて削除して空にする
  3. OK

③縦部材

縦部材は前回使用した手摺子ファミリを使用します。
  1. 手摺子構成の編集ボタンをクリック。
  2. 次の図のように設定する。
    手摺子の構成
このダイアログボックスはなかなか理解しにくいのですが、次の図のように考えてください。
主パターンと手摺柱
  • セグメントとは、パスのライン一つ一つの線分のことです。
  • セグメント(●と●の間)は主パターンに設定した情報で埋め尽くされます。ここでは手摺子を1000ピッチで配置し、セグメントの長さに応じてフィットさせる(間隔を丸める)ようにしています。
  • 手摺柱とは●で示した部分で、そこに何を立てるか、ということを設定します。
  • スペースとは、手摺の進行方向へ向かって指定した数だけ配置する位置をずらすという意味です。
  • 0にすると、始点終点にぴったりとりついてしまうので、100㎜ずつ内側(始点側は+、終点側はー)へずらしています。
  • 下部と上部は手摺子ファミリの下端と上端をどこに合わせるかを指定します。
  • 次の図は手摺子のファミリテンプレートです。上部の二つの参照面、下部の二つの参照面は、この上部と下部の部材によって決まります。
    上部と下部の位置は手摺子構成できまる

④笠木手摺

  1. 笠木手摺セクションで次を指定します。
    • 笠木手摺の有無:☑
    • 高さ:1100
    • タイプ:ハンドレース⌀34
  2. OK
以上で手摺ファミリができました。

使ってみる

これで不通に手すりを作ってみてください。コーナーは下の図のようにフィレット円弧を使って丸めておくといいでしょう。壁と手摺の隙間は38mmしかないので、半径は出隅ならば30mm程度でいいでしょう。
コーナーは丸めるとよい

これでブラケット手摺がきれいに出来上がります。
ブラケット手摺
次回は手摺にもう一工夫加えて、エンドキャップなど端部の処理についてです


2020年5月16日土曜日

ブラケット手摺(2)

ブラケットは手摺子で

ブラケットは「手摺子」ファミリです。メーカーから提供されているCADデータを使って手摺子のファミリを作成してみましょう。
手摺子でつくる

ファミリ作成

基本

  1. ファミリ>新規作成 で「手摺子(メートル単位).rft」を開く。
  2. 立面図>正面を開く
  3. 作成タブ>作業面パネル>セット
  4. 参照面:中心(正面/背面)を選択
    作業面を設定
  5. 挿入タブ>読込パネル>CAD読込で下の図のように設定して、メーカーサイトからダウンロードしてDWG/DXFファイルを読み込む。
    CADデータを読み込む
  6. ビューにある水平の参照面がホストへのアタッチ面(この場合は上部レールの下端)、垂直の線が手摺のパス(マゼンタのスケッチライン)になることを考慮してCAD図を位置合わせする。
    位置合わせに注意
  7. 作成パネル>フォーム>押し出しで、柄の部分をなぞります。階段に使う場合も考慮して、水平の参照面より少し上まで延ばすようにします。
    • 製作用のモデルではないので、過度にリアリティを求めず、おさまりの検討とデザインの検討ができる、バランスのよい、適切な詳細度でモデルを作成するようにしてください。
  8. モードパネル>✔
  9. 立面図>左のビューを開きます。
  10. 作成タブ>作業面パネル>セットで「参照面:中心(左/右)」を選択
  11. 新たに斜めの参照面を加えて、図のように寸法を作成してロックします。この斜めの参照面は階段で使用するときに柄の部分の天端を階段の勾配に沿って削るときに使用します。
    参照面と寸法を追加
  12. 作成タブ>フォームパネル>ボイド>押し出し で、下の図ようにスケッチし、押し出し終端を80とする。
  13. 3Dを表示し、柄の部分がカットされていることを確認。
  14. プロパティウィンドウでマテリアルの関連付けボタンを押して、「マテリアル_柄」というマテリアルを作成してOK
    マテリアルにパラメータを関連付ける
  15. 再び正面を表示して、作成タブ>フォームパネル>押し出しでカバーの部分をスケッチする。
    カバーの部分をスケッチ
  16. 押出 終端を16.5、押出 始端を-16.5
  17. マテリアルの関連付けボタンを押して、「マテリアル_カバー」を作成して関連付ける。
  18. モードパネル>✔
  19. CAD図を選択して削除

重要:拘束の確認

CAD図をスケッチして作成すると、思わぬ位置にスケッチラインが拘束されていることがあります。ちょっと試運転をして、間違いがないかどうか確認します。
  1. プロパティパネル>ファミリタイプ
  2. 手摺子の高さ(規定値)の値を1200にして適用
  3. 形状に乱れがないか確認する。
  4. 同様に様々な数字に変更して、確認する。
  5. 上部のカット角度(規定値)の値を60にして適用。
  6. 形状に乱れがないか確認する。
  7. 同様に様々な数字に変更して、確認する。
  8. OK
  9. 名前を付けて保存

自動スケッチ寸法

もし、形がおかしくなるようであれば、
  1. 形状がおかしくなったフォームをスケッチしたビュー(ここでは正面)で選択
  2. モードパネル>押し出しを編集
  3. 表示タブ>グラフィックスパネル>表示/グラフィックス
  4. 注釈カテゴリタブ>寸法>自動スケッチ寸法に✔
    自動スケッチ寸法に✔
  5. 下の図のように青色の寸法が表示されます。これがRevitが自動で作成した寸法です。この寸法を吟味して、おかしな拘束がないかどうか確認し、寸法の付け替えや削除を行います。
    自動スケッチ寸法に注意

タイプの作成

タイプを作成します。今回タイプパラメータはマテリアルのみなので、柄の部分とカバーの部分にお好みのマテリアルを設定して、複数のタイプを用意してみます。
オーク

ナチュラル

最後にパージを忘れずに

DWGファイルを読み込んだのでいろいろと余計な情報がファミリに入っています。これらをすべて削除してからプロジェクトにロードします。

  1. 管理>設定パネル>未使用の項目を削除
  2. OK
  3. 何も項目がなくなるまで何度か繰り返す
次回はこれらを組み合わせて、実際に手すりを作成します。

2020年5月10日日曜日

ブラケット手摺(1)

上部手摺と手摺子ファミリで作れます

ブラケット手摺
階段や廊下で見かけるブラケット手摺を作ってみましょう。ブラケット手すりを作るには
上部手摺(ハンドレール)----プロファイル
手摺子(ブラケット)------手摺子ファミリ
を使用します。

上部手摺

プロファイルの作成

今回はナカ工業の室内用の手摺を作成してみます。
手摺は横部材と縦部材の規則的な配列です。横部材はすべてプロファイルのスイープです。上部手摺を作成するにはまずはプロファイルが必要です。形状は様々ありますがまずは簡単に⌀34の円形で作成します。
  1. ファイルタブ>新規作成>ファミリ
  2. プロファイル - 手すり(メートル単位).rftを選択。手摺中心線と手摺上の交点が、トップレールの天端になるので、高さ調整の利便性を考えて、円の上部が参照面の交点になるように直径34mmの円を作成します。
  3. ファイルタブ>
  4. 作成タブ>詳細パネル>線で、下の図のように円を適当に作成。
    適当に円を作成
  5. 円を選択し、プロパティの中心マークを表示に☑
  6. 作成タブ>寸法パネル>平行寸法と半径で下の図のように寸法を作成し、ラベル「半径」を付ける。
  7. 修正パネル>位置合わせで、たての参照面に円の中心を合せてロックする。
  8. プロパティパネル>ファミリタイプで半径プロパティを17とし、タイプ名を⌀34とする。
  9. ファイル>名前を付けて保存>ファミリで、作成した寸法を選択し、手摺_〇_中上.rfaとして保存。
  10. ファミリエディタパネル>プロジェクトにロードして閉じるで目的のプロジェクトファイルにロードする。

上部手摺ファミリの作成

上部手摺はシステムファミリなのでプロジェクト内で定義します。
  1. プロジェクトブラウザ>ファミリ>手>笠木手摺タイプ(一部バージョンでは上部手摺と表記)を展開し、任意のタイプを右クリック>複製
  2. 複製されたタイプを右クリックし、名前を「ハンドレール⌀34」とし、ダブルクリックしてタイププロパティダイアログボックスを表示
  3. プロファイルで、「プロファイル_手摺_〇 : ⌀34」を選択。すると握りのクリアランスが-17と表示されます。
    • 握りのクリアランスとは、手摺のスケッチラインからプロファイルの左端がどれだけ空いているかを示します。
    • スケッチラインの進行方向に向かって左が-、右が+。
    • 今回は壁面からトップレールの中心までを55mmとしたいので、握りのクリアランスの値を下の図のように-72mmとします。
    • 適切なマテリアルを設定

次回は手摺子を作成します。

付録:上部手摺の既定の結合による違い

ここで既定の結合プロパティの働きについて知っておきましょう。既定の結合には
  • 留め継ぎ
  • フィレット
があり、フィレットを選択すると、フィレット半径を設定できます。これは、スケッチラインが下の図のように折れ曲がるときにその違いが判ります。
手摺のスケッチラインが折れ曲がるとき
これが留め継ぎならば
留め継ぎ
フィレットならば
フィレット
となります。一見フィレットのほうが便利そうに見えますが、いずれにしても結局ブラケット(手摺子)がセグメント(スケッチライン)の端部に集まってしまいます。
このような場合はスケッチラインそのものにフィレットを付ければ
スケッチラインに丸みをつける
ブラケットの位置をコーナーの両脇に移動することができます。
ブラケットの位置が分かれる
そういうわけで、今回のような手摺は既定の結合は「どちらでもよい」ということになりますが、後工程で、より正確にブラケットを割り付けるのであれば、フィレットにしておくことをお勧めします。


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が稼働していることがわかります。
マルチスレッドで実行される
次回はこの結果の見方について考えてみます。