Rhino/Grasshopper 統合
概要
Rhinoceros3Dは、米国ワシントン州シアトルのRobert McNeel & Associatesが開発した3Dモデラーです。Rhinoは、NURBS (曲線、サーフェス、ソリッド、点群、ポリゴンメッシュ) の作成、編集、分析、ドキュメント作成、レンダリング、アニメート、変換に使用されます。
Grasshopperは、3D CADアプリケーションRhinocerosの中で動作するビジュアルプログラミング言語環境です。これは、Rhinoの3Dモデリングツールと緊密に統合されています。
Rhino/Grasshopper Connectionのインストール
- ここからRhinoをダウンロードしてください。注: BricsCAD BIMとRhino 7両方の最新バージョンの体験版ライセンスキーで、BricsCAD内でRhino/Grasshopper Connectionを使用することができます。 BricsCAD V21のリリース以降、旧バージョンのRhinoのキーはこの統合に使用できません。
- Grasshopper-BricsCAD ConnectionをBricsCADアプリケーションカタログからダウンロードしてください。すべての必要なファイルはProgram Files\Bricsys\Grasshopper-BricsCAD Connectionフォルダーにコピーされます。注: 現在アプリケーションストアで販売されているGrasshopper-BricsCAD Connectionは、現行のBricsCAD Pro、BIM、Mechanical、Ultimateのいずれかのバージョンで動作します。注: Grasshopper-BricsCAD Connectionは、Pro、Mechanical、BIM、Ultimateと連携し、ジオメトリを作成することが可能です。ただし、BIM固有の機能 (分類の追加、空間位置、プロファイル、プロパティ、IFCエクスポート) は、BricsCAD BIMまたはUltimateライセンスでのみ動作します。
- BricsCADを再起動します。
- GrasshopperまたはRhinoを起動するには、新しい図面を開いて保存します。そして、リボンに表示される新しいタブのボタンを使うか、クワッドで起動します。
BricsCADからGrasshopperのファイルを起動するには
- 空のBricsCADファイルを開きます。
- 保存します。
- BricsCAD内に追加された新しいGrasshopperリボンタブのボタンでGrasshopperを開きます。
- Rhinoのポップアップウィンドウを閉じることができます。Rhinoはバックグラウンドで動作し続けます。
- GrasshopperのFileメニューよりNew documentを選択して、新規の空のGrasshopperスクリプトを開きます。
- Open document...を選択して、既存のGrasshopperスクリプトを開きます。他のプログラムからの入力ジオメトリが内部化されていれば、過去にGrasshopperで作成したスクリプトをBricsCADで開くことができます。(データを内部化するには、入力ジオメトリコンポーネントを右クリックして、データ内部化を実行します)
- スクリプトで作成したジオメトリは、BricsCADモデル空間にポップアップされ、赤く表示されているはずです。Grasshopperウィンドウを閉じないようにしてください。Grasshopperドキュメントを閉じてしまうと、プレビュージオメトリが消えてしまいます。
- Grasshopperスクリプトを開いてもプレビュージオメトリが表示されない場合は、Grasshopperファイルが間違ったBricsCADドキュメントにリンクされている可能性があります。正しいものにリンクさせるには、『GrasshopperのファイルとBricsCADのファイルをリンクさせるには』をご参照ください。
GrasshopperのファイルとBricsCADのファイルをリンクさせるには
デフォルトでは、GrasshopperドキュメントがリンクするBricsCADファイルは、BricsCADからGrasshopperを起動したときにアクティブだったものになります。別のBricsCADファイルにリンクさせたい場合は以下を実行する必要があります:
- 対象となるBricsCADの図面をカレントの図面(すなわち、現在のセッションのモデル空間ウィンドウに表示されている図面)にします。
- この開いている図面にGrasshopperのスクリプトをリンクします。そのためには、リンクしようとしているスクリプトを含むGrasshopperキャンバスのすぐ上のバーにあるリンクアイコン(
)をクリックします。
サンプルファイルを起動するには
- Program Files\Bricsys\Grasshopper-BricsCAD Connectionフォルダーから.dwgファイルを開いて、サンプルの.dwgを開きます。
- ファイルが読み取り専用であるという警告が表示されます。これは、ドキュメントがセキュリティで保護されたフォルダーにあるために起こります。はいをクリックすると、読み取り専用で開きます。
オプション:この警告を表示したくない場合や、ファイルを編集したい場合は、代わりにサンプルファイルを自分のフォルダーにコピーペーストして、そこから開いてください。
- Grasshopper内から、Program Files\Bricsys\Grasshopper-BricsCAD Connectionフォルダーに移動します。 を選択します。再び
- .dwgと同じ名前の.ghx-fileを選択します。
- サンプルファイルが開き、BricsCADのモデル空間に赤いプレビュージオメトリが表示されます。
Grasshopperウィンドウを閉じないようにしてください。Grasshopperドキュメントを閉じてしまうと、プレビュージオメトリが消えてしまいます。Grasshopperスクリプトを開いてもプレビュージオメトリが表示されない場合は、Grasshopperファイルが間違ったBricsCADドキュメントにリンクされている可能性があります。正しいものにリンクさせるには、『GrasshopperのファイルとBricsCADのファイルをリンクさせるには』をご参照ください。
- Grasshopperのスクリプトでは、入力スライダーを操作することができます。
- モデルに問題がなく、プレビューのジオメトリを実際のBricsCADのジオメトリに変換したい場合は、ジオメトリをBricsCADに「ベイク」することができます。そのためには、建物要素ベイクコンポーネントをすべて選択して(Shiftを押しながらクリック)、ベイクボタン(
)を押します。
- ポップアップウィンドウが表示されますので、OKをクリックして確定してください。
- BIMデータがアタッチされていても、実際のBricsCADのジオメトリに変換されるようになりました。
- 読み取り専用のため、変更した内容をファイルに保存することはできません。そのため、変更した内容を破棄するか、新しいファイルとして別の場所に保存してください。
Rhino/Grasshopper接続のカスタマイズ
Rhino/Grasshopper Connectionのコードは100%オープンソースです。ここから入手できます。これにより、思う存分コーディングしてConnectorを完全にカスタマイズすることができます(もちろん、コーディングの方法を知っていることが前提です)。
Rhino/Grasshopper Connectionをアンインストール
- Windowsでプログラムの追加と削除を起動します。
- Grasshopper-BricsCAD Connectionを検索します。
- アンインストールをクリックします。
Rhinoでボックスを作図し、Grasshopper経由でBricsCADにベイクする方法
- 新しいBricsCADファイルを開きます。
- ファイルを保存します。
- BricsCADで、 をクリックします。
- RhinoのコマンドラインにBOXと入力してRhinoのボックスを作成します。(これはBricsCAD BOXコマンドと同じように動作します)
- クリックすると、ベースの最初のコーナーが表示されます。
- クリックすると、ベースの反対側のコーナーが表示されます。
- クリックしてボックスの高さを定義します。
- 新しいGrasshopperスクリプトを開くには、Grasshopper環境内で
をクリックし、 をクリックします。 - ファイルを保存します。
- をGrasshopperキャンバスにドラッグ&ドロップします。
- コンポーネント上で右クリックし、Set one Brepを選択します。
- Rhinoのキャンバスに移動し、立方体を選択します。
- Brepコンポーネントの色がオレンジからグレーに変わります。Rhinoのウィンドウを閉じてGrasshopperのウィンドウに戻ると、BricsCADのモデル空間に立方体のプレビューが表示されます。
- Grasshopper環境の をGrasshopperキャンバスにドラッグ&ドロップします。
- 2 つのコンポーネントをリンクさせるには、Brepコンポーネントの右端のドットから BricsCADベイクコンポーネントの左端のドットまでクリックしてドラッグします。
- Bake Geometry コンポーネントを右クリックし、Bake into BricsCADを選択します。
以下のダイアログが表示されます。ここでは保存先の画層、マテリアル、色を選択することができます:
- OKをクリックします。このボックスはBricsCADにソリッドとしてベイクされます。
BricsCADの矩形からGrasshopperでボックスを作成する方法
- 新しいGrasshopperスクリプトを開くには、
をクリックして、Grasshopper環境で をクリックします。ファイルを保存します。 - メートル単位のテンプレートで新しいBricsCADファイルを開き、保存します。
- 開いている.dwgファイルに新しいスクリプトをリンクするには、キャンバスツールバーのリンクボタンを押します。
- BricsCADのモデル空間に行き、矩形を作成します。注: ポリラインを使って不規則な形状を作成することができます。
- Grasshopper環境の をGrasshopperキャンバスにドラッグ&ドロップします。
- Curveコンポーネントを右クリックして、Set One BricsCAD Curveを選択します。
- BricsCADのモデル空間に行き、矩形を選択します。注: クワッドを使用して操作を短縮するには:BricsCADで曲線を選択し、クワッドのGrasshopperタブでToGrasshopperを選択します。Grasshopperのキャンバスの左上にGrasshopperのコンポーネントが表示されます。
- Curveコンポーネントを にリンクします。
- これを にリンクします。
- ExtrudeコンポーネントのDirection入力で、注: コンポーネントを右クリックしてEdit...を選択すると、スライダーの範囲と精度を編集できます。ダイアログボックスが表示され、スライダーの桁数、最小値、最大値を設定できます。
を にリンクします。例えば17など、ボックスの高さに合わせて設定してください。 - BricsCADのジオメトリを入力データとして使用して、Grasshopperでボックスを作成することができました。
Grasshopperを使って、ボックスを階数ごとに分割する方法
- Start_1.ghxのコードを以前のGrasshopperのスクリプトに追加します。
- 実行するには、このページの一番下にあるZIPファイルをダウンロードして、その内容を解凍します。
- 次に、Grasshopperウィンドウの に移動して、Start_1.ghxファイルを開きます。
- これで、キーボードでCtrl+Aを押してGrasshopperのコードをすべて選択し、Ctrl+Cでコピーすることができます。
- 次に、Grasshopperウィンドウの右上にある、現在のドキュメントのタイトル (Start_1) をクリックして、前の手順で作業していたドキュメントに切り替えます。
- すると、すべてのアクティブなGrasshopperスクリプトのドロップダウンが表示されるので、BricsCADの矩形からGrasshopperでボックスを作成する方法で保存したスクリプトを開きます。
- キャンバスをクリックしてCtrl+Vを押し、Start_1.ghxのコードを貼り付けます。
- 前の手順で作成した数値スライダーを右クリックして、名前をHeight buildingに変更します。
- この数値スライダーを、階数計算グループの除算コンポーネントの入力Aと、最後の壁の高さ取得グループの減算コンポーネントの入力Aにリンクします。
- 押出成形を輪郭コンポーネントの輪郭入力にリンクします。
- ファイルのクリーンアップを行います:
- 緑色のInputグループをキャンバスの前面にドラッグします。
- Height Building スライダーをグループに追加するには、コンポーネントを選択してグループを右クリックし、Add to groupを選択します。
- 境界線と押し出しコンポーネントのプレビューをオフにする:コンポーネントを選択 (Shiftを押しながらクリック) して、キャンバスの何もない場所で右クリックし、Preview Offを選択します。
- (オプション)これらの変更が既に行われている中間ファイルの場合は、Intermediate_1.ghxとIntermediate_1.dwgを使用します。(このページの下にあるZIPファイルの中にあります)
- 今作ったスクリプトで以下のことが可能です:
- 輪郭コンポーネントを使用して、スラブの高さごとに押し出しを分割します。
- 曲線を壁の厚さ分だけオフセットします。
- 壁の底面を作ります。(底面は下階の壁と屋根の壁に分かれています)
- 最後の壁の高さを計算します。
- 表面を屋根、スラブ、壁に押し出します。
- 緑のInputグループのスライダーを使って、建物の高さ、階数、スラブや壁の厚さを調整します。
- 3つの をGrasshopperのスクリプトの最後に追加します。
- 押し出された要素 (フリップコンポーネント) をBake Building Elementコンポーネントのジオメトリ入力ノードに取り付けます:
- 押し出された下階の壁と押し出された屋根の壁を1つのBake Building Elementコンポーネントに接続します。(複数のノードを1つの入力ノードに接続するときはShiftを押したままにします)
- 押し出された下部床スラブを別のBake Building Elementコンポーネントに接続します。
- 押し出された屋根を、残りのBake Building Elementコンポーネントに接続します。
- 建物、1つの階、および3つのBIMタイプのコンポーネント。 カテゴリからキャンバスに次のコンポーネントを追加します:1つの
- 階層コンポーネントの建物入力に建物を取り付け、これをすべてのBake Building Elementコンポーネントの空間的位置入力に取り付けます。
- BIM type(選択メニューでそれぞれBimWall、BimSlab、BimRoofに設定)を、押し出された壁、スラブ、屋根それぞれのBake Building Elementコンポーネントの要素タイプ入力に取り付けます。
- 次のような警告が表示されます:パラメータ入力建築はデータ収集に失敗しました。これは、BricsCADの図面に建物が定義されていない場合、Grasshopperは入力事項の収集に失敗するためです。
- 空間的位置を作成するには、コンポーネント検出のためにBricsCADへ移動し、リボンから空間的位置をクリックします。
- 建物を追加して、いくつかの階(建物を分割したい数よりも多く)を追加します。
- Grasshopperに移動して、建物コンポーネントを右クリックして、チェックリストではなくドロップダウンリストに入れます。
- ドロップダウンリストから新しく作った建物を選択します。
- Shiftを押しながらBake Building Elementコンポーネントをすべて選択し、キャンバスツールバーからベイクオプションを選択します。OKをクリックして、レイヤー、マテリアル、およびカラーを確定します。
- 今度は図面に異なるフロアが表示されます。注: プロパティを確認し、ジオメトリが壁、スラブ、屋根に正しく分類されていることを確認します。また、これらの要素には空間的位置が割り当てられます。
- ジオメトリ数より階数の方が多いので、最後に入力されたジオメトリは残りのすべての階にベイクされます。これを修正するには、階の正しいサブセットを選択して割り当てます。BricsCADでジオメトリをベイクすると、階が正しい状態になります。複製したジオメトリはベイクされません。
End_1.dwgを開き、GrasshopperのファイルEnd_1.ghxを開くとこれを見ることができます。End_1.dwgにリンクされた
- これで、建物の作成に成功しました。ベイクされた建物の結果を見たい場合は、End_1_Baked.dwgというファイルをご確認いただくか、または自分でベイクしてください。
建物の上部に手すりを追加する方法
前回の手順で作った建物を継続して使用します。ではまず、End_1.dwgを開き、End_1.dwgにリンクされているGrasshopperファイルEnd_1.ghxを開いてみてください。
- Start_2.ghxのコードをGrasshopperのキャンバスに追加します。
- 実行するには、このページの一番下にあるZIPファイルをダウンロードして、その内容を解凍します。
- 次に、Grasshopperウィンドウの に移動して、Start_1.ghxファイルを開きます。
- これで、キーボードでCtrl+Aを押してGrasshopperのコードをすべて選択し、Ctrl+Cでコピーすることができます。
- 次に、Grasshopperウィンドウの右上にある、現在のドキュメントのタイトル (Start_2) をクリックして、前の手順で作業していたドキュメントに切り替えます。
- すると、アクティブなGrasshopperスクリプトのドロップダウンが表示されるので、End_1.ghxを開きます。
- キャンバスをクリックしてCtrl+Vを押し、Start_2.ghxのコードを貼り付けます。
- 押し出し屋根 グループのエンドコンポーネントを屋根の上面を選択グループの解体BrepコンポーネントのBrep入力にリンクします。
- このスクリプトでは以下のことを実行します:
- 屋根の上面を選択 グループでは、屋根の上面が選択されます。
- 残りのスクリプトでは、その面を利用して、手すりのベースラインを作ります。
- そして、それを支える柱や梁の軸を作ります。
- また、梁プロファイルの高さの半分が計算されます。
- しかし、このステップと次のステップを完了するためには、まだプロファイルが必要です。そこで、ステップ6以降のプロファイルを作成します。
- そのプロファイルと軸を使って、梁や支柱を押し出し成形していきます。
- 中間結果はIntermediate_2.ghxとIntermediate_2.dwgファイルにあります。(このページの下にあるZIPファイルの中にあります)
- (オプション)屋根の上面を選択グループをスキップして、 に置き換えます。BricsCADのベイクされた建物の屋根スラブの上面に設定します。(コンポーネント上で右クリックし、BricsCAD面を1つ設定をクリックして、BricsCAD図面の面を選択してください)この面コンポーネントを で接続して、この面を正しい入力に接続します。
プロファイル名 コンポーネントと プロファイルサイズコンポーネントをキャンバスにドラッグします。
に移動します。- プロファイル名のドロップダウンリストからHEAを選択します。このドロップダウンリストには、BricsCADのプロファイルライブラリに含まれるすべてのプロファイルの名前が表示されます。
- コンポーネントをプロファイルサイズコンポーネントの入力プロファイル名にリンクします。
- プロファイルサイズコンポーネントを の入力ノードリストにリンクし、iを4に設定します(入力iを右クリックしてintegerを4に設定)。このリストアイテムでは、リンクされているプロファイル名の利用可能なすべてのプロファイルサイズのリストから1つのサイズを選ぶことができます。注: をプロファイルサイズ出力にリンクした場合インデックス 4 がサイズ160を表していることがわかります。
プロファイル名およびリスト項目コンポーネントを にリンクして、HEA 160プロファイルを出力として取得します。
- このプロファイルを構成する曲線を取得するには、ライブラリプロファイルに取り付けます。作成される出力の1つは、プロファイル曲線をツリー化したものです。 を
- Profile Curves出力ノードにアタッチします。これは、線を面として押し出すのではなく、面をソリッドとして後から押し出すためです。
を - 先ほど作成したコンポーネントをグループ化するには、それらを(選択ボックスで)選択し、グループを右クリックします。
- (オプション)グループの名前を変更するには、紫色の矩形を右クリックします。上のテキストボックスでグループの名前を変更します。(例えば、Make profileなど)
- 境界面コンポーネントは、梁の高さ半分を計算グループの境界ボックスコンポーネントの内容入力にリンクされているはずです。また、境界面コンポーネントは、支柱を作成および梁作成グループの押し出しコンポーネントの2つのプロファイル入力にリンクする必要があります。これで押出成形には、HEA160の梁と柱を使った手すりが表示されるはずです。
- これらの梁や柱をBricsCADにベイクするるために、2つの をGrasshopperのキャンバスに取り付けます。
- 以下を実行します:
- ジオメトリ 入力を押出成形に設定します。
- 要素タイプ入力を に設定し、柱の押し出しはBimColumnに、梁の押し出しはBimBeamに設定します。
- 空間的位置の入力を屋根と同じに設定します。
- プロファイル作成グループからライブラリプロファイルコンポーネントへのプロファイル入力を設定します。
- これで、建物の上に手すりを作ることに成功しました。(これを行うための完全なスクリプトはEnd_2.dwgにリンクされている、このページの一番下のEnd_2.ghxファイルにあります)
- BricsCADにベイクします。これでプロファイルがGrasshopperのスクリプトのものに設定されました。BricsCADのL-Connectを使って、コーナーの梁の接続を修正することもできます。(手すりを上部に取り付けた、完成した建物を見るにはこのページの一番下にあるEnd_2_baked.dwgファイルをご確認ください)
手順:ベイクされたモデルに情報を追加
前回の手順で作った建物を継続して使用します。ではまずEnd_2.dwgを開いて、End_2.dwgにリンクされているGrasshopperのファイルEnd_2.ghxを開きます。
- Start_3.ghxのコードをキャンバスに追加します。
- 実行するには、このページの一番下にあるZIPファイルをダウンロードして、その内容を解凍します。
- 次に、Grasshopperウィンドウの に移動して、Start_1.ghxファイルを開きます。
- これで、キーボードでCtrl+Aを押してGrasshopperのコードをすべて選択し、Ctrl+Cでコピーすることができます。
- 次に、Grasshopperウィンドウの右上にある、現在のドキュメントのタイトル (Start_3) をクリックして、前の手順で作業していたドキュメントに切り替えます。
- すると、アクティブなGrasshopperスクリプトのドロップダウンが表示されるので、End_2.ghxを開きます。
- キャンバスをクリックしてCtrl+Vを押し、Start_3.ghxのコードを貼り付けます。
- このコードには、分類されてベイクされた梁や柱のベイク後の設定があります。
- このスクリプトでは、プロパティ名取得コンポーネントを使用して、プロパティカテゴリーBricsysのBIMプロパティを表示しています。
- これらのプロパティでは、柱には1項目、梁には0項目、それぞれ柱タイプ、梁タイプが選択されています。
- 最後に、パネルコンポーネントで指定された値にプロパティ値設定コンポーネントを使って、プロパティを設定します。
- スクリプトを動作させるには、手すりを構成する2つの建物要素ベイクコンポーネントをベイクします。
- ここで、建物要素ベイクコンポーネント出力を、プロパティ名取得コンポーネントの各建物要素入力にリンクします。
- 同様に、建物要素ベイクコンポーネントの建物要素出力を、プロパティ値設定コンポーネントの各建物要素入力にリンクします。
- ここでBricsCADで柱を選択してプロパティを開くと、柱タイプが鋼柱に設定されます。パネルコンポーネントの値を変更すると、BricsCADのプロパティがリアルタイムで変更されます。
- 結果として得られるスクリプト「End_3.ghx」は、このページの下部にあるzipファイルにあります。これは、まだ何もベイクされていない「End_3.dwg」ファイルで動作します。すべての建物要素をベイクし、ベイク後の設定を行います。
GrasshopperのBricsCADツールセット
アイコン | 名前 | 説明 |
---|---|---|
![]() |
平面 | BricsCADで平面を表します。 |
![]() |
点 | BricsCADでの点を表します。 |
![]() |
曲線 | BricsCADの曲線を表します。 |
![]() |
図形 | BricsCADの図形を表します。 |
![]() |
エッジ | BricsCADのエッジを表します。 |
![]() |
面 | BricsCADの面を表します。 |
![]() |
3D頂点 | BricsCADの頂点を表します。 |
![]() |
建物 | BricsCADの空間的位置に存在するすべての建物のネームピッカーを提供します。 |
![]() |
階 | 入力された建物に付属するすべての階を戻します。 |
![]() |
プロファイル名 | BricsCADのプロファイルに存在するすべてのプロファイルのネームピッカーを提供します。 |
![]() |
プロファイルサイズ | 入力プロファイルに添付されているすべてのサイズを戻します。 |
![]() |
BIMタイプ | BricsCADで利用可能なすべてのBIMタイプのタイプピッカーを提供します。 |
![]() |
プロパティカテゴリ | BricsCAD で利用可能なすべてのプロパティカテゴリのカテゴリーピッカーを提供します。 |
![]() |
ベイクジオメトリ | Grasshopperのジオメトリを現在のBricsCAD図面にベイクしますが、その際に添付されているBIMデータは無視されます。ベイクジオメトリの出力は、BIMデータなしでベイクされた建物要素の参照です。 |
![]() |
建物要素ベイク | Grasshopperのジオメトリを現在のBricsCADの図面にBIMデータを追加しながらベイクしていきます。建物要素ベイクの出力は、BIMデータでベイクされた建物要素の参照です。 |
![]() |
空間的位置に関する要素 | デフォルトでは、BricsCADに存在するすべての建築要素を戻します。入力されたパラメータを使用すると、要素の種類や空間的位置でフィルタリングされた建物要素が戻されます。 |
![]() |
ライブラリプロファイル | 与えられた名前とサイズに応じて、ライブラリからプロファイルを返します。 |
![]() |
プロファイル情報 | 指定したプロファイルの情報(名前、サイズ、規格、曲線)を戻します。 |
![]() |
プロパティ名 | 指定されたプロパティカテゴリに属する、建物要素に付属するプロパティ名を戻します。 |
![]() |
プロパティ値 | 指定されたプロパティ名とカテゴリに対応する、建物要素に付属するプロパティ値を戻します。 |
![]() |
線形ソリッド情報 | BricsCADの図面上に存在する線形ソリッドに関する情報(軸、押し出しパス、プロファイル曲線)を戻します。 |
![]() |
プロパティの設定 | 指定された名前、カテゴリ、値に従って、建物要素のプロパティ値を設定します。 |
![]() |
IFCの書き出し | 指定した建築要素をIFCに書き出します。 |
![]() |
リンク | Grasshopperのスクリプトを開いているBricsCADの.dwgファイルにリンクします。 |
![]() |
ベイク | 選択されたベイクジオメトリおよび建物要素ベイクコンポーネントからジオメトリをベイクします。 |