2017年9月15日金曜日

計算式を書いて使用するコンポーネント

 Grasshopperにはデフォルトで四則演算を始めとした各種計算を行なうコンポーネントが存在しますが、複雑で長い計算式をそれらのコンポーネントを組み合わせて実行させるには少々面倒な場合があります。そういう時には[Evaluate]コンポーネント、もしくは[Expression]コンポーネントを使うと楽になるかもしれません。
呼び出した状態の[Evaluate]コンポーネント(上)と[Expression]コンポーネント(下)
この二つのコンポーネントはどちらもデフォルトのGrasshopperに用意されている物で、それぞれ別々のコンポーネントですが、使い方はほぼ一緒で「自分で計算式を書いて、必要な変数をそれぞれの入力端子に繋げる」という形です。以下の図に例を示します。
Evaluateコンポーネント:入力端子Fに入った(x+3)×(y-1)という計算を行っている。
Expressionコンポーネント:コンポーネントに直接計算式(x+3)×(y-1)を書き込んでいる。
また、上記の二つ以外のコンポーネント(全てではない)も、それぞれの入力端子、出力端子に計算式を仕込む事が可能です。
例えば下の図ですと、上の赤いグループで囲まれているコンポーネント達と、下の青いグループで囲まれているコンポーネントは出力する結果が同じになっています。
上の赤いグループの方は[Series](等差数列を作る)コンポーネントの入力端子N[Evaluate]コンポーネントで計算を行なった数値を入力し、出力から出た数値にまた[Evaluate]で別の計算をさせています。
 一方下の青いグループは、[Series]コンポーネント一つきりですが、入力端子Nと出力端子に【*】マークが付いており、この端子にそれぞれ赤いグループの[Evaluate]で実行された計算式と同じ式が仕込まれています。
ここでは180°(π、またはPi)を指定した数で等分した角度を作成しています。
[Rotate]コンポーネントの入力端子Aにつなげた結果

2017年1月27日金曜日

「Parametric Design with Grasshopper」 本日発売

RhinocerosのプラグインであるGrasshopperの基本的な操作方法と、52種のサンプルモデルとその作り方について解説した
「Parametric Design with Grasshopper 建築/プロダクトのための、Grasshopperクックブック」が本日発売されました。


1章で基本操作について説明、2章ではダウンロード可能なサンプルモデルを用いて様々なモデリング手法を紹介しています。Rhinoの基本操作を理解し、これからGrasshopperも勉強していこう、という方だけでなく、既にGrasshopperを使用している方にも新たな発見がある一冊となっております。

2016年5月24日火曜日

Grasshopper-ARCHICAD Live Connection 1.4 Add-Onについて

ここではGrasshopper-ARCHICAD Live Connection 1.4 Add-Onについて記載しています。

Grasshopper-ARCHICAD Live Connection 1.4 Add-Onとは

デザインの幅を拡張するために制作されたソフトであり、Grasshopperのアドオンとして機能する。Grasshopper上で作成したオブジェクトに対し、ディテールやストラクチャなどの情報を付与した上で(ArchiCADのコンポーネントによって)、ArchiCAD上にデータ変換することなく読み込むことが出来る。

           Grasshopper-ArchiCAD Live Connection

Rhino/Grasshopper上で、柱やスラブを生成するためのラインやポリラインから、ArchiCADのコンポーネントを使用し、規格やマテリアルを割り当てることが出来、パラメトリックに編集することが出来る。編集後はArchiCADのオブジェクトとしてリアルタイムに変換することが出来る。

2016年2月17日水曜日

Remote Control Panel(リモートコントロールパネル)について

Remote Control Panelの説明

1.Remote Control Panel(リモートコントロールパネル、以降RCP)とは、GHで使用した複数のパラメーターを一つのパネル上にまとめることで、スライダーコンポーネントの数値入力を簡易にするものです。
RCPを使用することで、複数のパラメーターをグループ、序列、名前、色を用いて分けることが出来き、Grasshopperキャンパス上ではなく、Rhinoceros上で操作することが出来ます。

2.ここでは、オブジェクトに対してX,Y,Z方向に対してパラメトリックにスケールを行う定義ファイルで説明します。







 

RCP操作方法は下記リンク先にてご覧いただけます。
Remote Control Panelの操作方法

2016年2月16日火曜日

Remote Control Panelの操作方法

Remote Control Paneの操作方法をご紹介いたします。



操作方法
・表示
「View」メニューの「Remote Control Panel」を選択するとコントロールパネルが表示されます。

・追加
まず操作したい「Number Slider」コンポーネントの上で右クリックし「Publish To Remote Panel」
を選択します。
ここでは「X-lenght」、「Y-lenght」、「Z-lenght」を追加します。
数値をドラッグすることで「Number Slider」と同じように値を変化させることが出来ます。
※RCPに追加したパラメーターは編集することが出来ます。

・グループ
右上の鉛筆のアイコンをクリックします。
+ボタンを押すと新しいグループが作成されます。
「New Group」の上で右クリックすることで名前を変更することが出来ます。



・レイヤ
グループ内の数値をレイヤを作成することが出来ます。
「custom label」を右クリックすることでタイトルを変更することが出来ます。

・パーテーション
グループ内にパーテーションを設けることが出来ます。



・削除
削除したいバーをドラックし、右クリックまたは黄色と黒の模様が消える場所で離すことで削除することが出来ます。

※この状態で右クリック
または

※この状態でドラッグを離す。

 表示パターン
・ シェーディング表示


・ワイヤーフレーム表示


・プレビューオフ





2016年1月18日月曜日

曲率の数値データと方向の取得について

曲面の任意の複数点において、曲率の数値データの取得について

 Grasshopperの「Surface Curvature」と「Principal Curvature」コンポーネントを用いてガウス曲率、平均曲率、最大主曲率、最小主曲率、最大主曲率方向、最小主曲率方向の数値データを取得する方法をご紹介します。



1. 単一の点での曲率値の取得
まず任意の※「Reparameterize」したサーフェスを用意し、「Surface Curvature」コンポーネントに繋ぎ「ParamsInputPanel」コンポーネントにて「ガウス曲率」、「平均曲率」の数値を見ることが出来ます。ここではRhinoのインターフェイス上に表示するために「DisplayText Tag 3D」コンポーネントを使用しています。
※「Reparameterize」につきましては以下リンク先をご参照ください。



同様の操作を行い「Principal Curvature」コンポーネントでは、「最大主曲率」、「最小主曲率」、「最大主曲率方向」、「最小主曲率方向」の数値を見ることが出来ます。

※上記の画像は単一の点を移動し、曲率の値を見ている。


2. 複数点での曲率値の取得
赤で囲われた部分では「SetSequenceSeries」コンポーネントを用いて複数の点を生成している。「Surface Curvatureコンポーネント」及び、「Principal Curvatureコンポーネントに繋げることで、各サーフェス上の複数点の曲率値を取得することが出来ます。



※上記の画像はサーフェス上の点を複数生成し、曲率の値を見ている。


2015年6月10日水曜日

Grasshopperトレーニング 夏休み特別企画

夏休みに、学生向限定と、学校教員向限定のGrasshopper入門を特別企画で設けました。

学生の学生による学生のためのGrasshopper
 学生が講師をすることで、低価格でかつ、リラックスした雰囲気で受講できます。
 NURBSの基礎に関する特別講義も別枠で、2時間設けます。

教員限定Grasshopper入門
 通常のGrasshopper入門のトレーニングですが、デジタルデザイン・モデリングに従事する学校教員の方は特別価格で受講できます。










時間のとれる夏休みに是非、受講検討ください。

2015年4月10日金曜日

[Line]コンポーネントの仕様変更について

2015/04/09現在、公開されている最新のGrasshopperのバージョンは0.9.0076ですが、書籍「Grasshopper入門」で使用しているGrasshopperのバージョンは0.9.0066です。
この0.9.00660.9.0076では[Line]コンポーネントの仕様が違っており、最新のGrasshopper上で、例えば「Grasshopper入門」P.41の文や画像の通りにコンポーネントを接続しても、同じ結果を出しません。


※書籍と同じ旧Lineコンポーネントで生成された線

本来は上図の様になってほしいのですが、最新のGrasshopperで新規に[Line]コンポーネントを呼び出し、書籍と同じ様に接続すると・・・


※新規にLineコンポーネントを呼び出し、書籍と同じ様に接続して生成された線

この様な結果になってしまいます。
これは、旧[Line]コンポーネントにはついていた「Shortest list」というオプション機能が、現在の[Line]コンポーネントからは撤廃された為です。


※旧[Line]コンポーネントのメニュー内にある「Shortest list」オプション

そこで、現行の[Line]コンポーネントで旧[Line]コンポーネントと同様の結果を出す方法ですが、[Shortest List]コンポーネントを呼び出し、[Line]コンポーネントと[Point]コンポーネントの間に噛ませて繋げる事で可能です。

※現行の[Line]コンポーネントの前に[Shortest List]コンポーネントを繋げる事で、
[Line]コンポーネントの「Shortest list」オプションと同じ効果を出しています。

2014年11月14日金曜日

コンポーネント検索ウィンドウの小技

前回、コンポーネントを探す方法の一つとして、コンポーネントを名前で検索する方法を紹介しました。

実はこのコンポーネント検索用入力ウィンドウ、数字を入力する事で一部のコンポーネントを入力した数値で呼び出す事が可能なのです。

[Number Slider]
Grasshopperで最もよく使うコンポーネントの一つとして、[Number Slider]コンポーネントがあります。ユーザーは、このコンポーネントを呼び出した後で、用途に合わせてEditメニューで整数にしたり少数にしたり、上限値と下限値を設定して利用しますが、検索用入力ウィンドウに数字を入力すると、予めその数値に設定された状態の[Number Slider]コンポーネントを呼び出す事が出来ます。
その際に、整数で入力すれば整数に設定された[Number Slider]が、小数点第二位まで入力すれば少数点第二位まで指定可能に設定された[Number Slider]が呼び出されます。
また、[-5<5]等といった形で入力すれば、[Number Slider]の入力範囲を指定する事も可能です。

[Point]
点座標を指定したり、Rhinoで用意した点を割り当てる事で使用する[Point]コンポーネントですが、検索用入力ウィンドウに[3,1,2]等の様にカンマで区切った数値を入力すると、予め入力した座標に点を指定された状態で[Point]コンポーネントを呼び出します。

[Clock]
[Clock]コンポーネントは、時刻データを出力する時計の様なビジュアルのコンポーネントです。こちらのコンポーネントを使用する機会は少ないかもしれませんが、前述の二つのコンポーネントと同様に、検索用入力ウィンドウに[18:42:00]といった具合に入力すると、入力した時刻に設定された[Clock]コンポーネントを呼び出します。

2014年10月8日水曜日

コンポーネントを探す方法

Grasshopperの画面上部には、コンポーネントが種別毎に分けられて配置されており、ユーザーはその中から必要なコンポーネントを取っていって使用する、というスタイルが一般的かと思われますが、使用していく内に、「アレ、あのコンポーネントはどこにあったっけ?」といった事も出てくるかと思われます。
その様な時には以下の方法を使ってコンポーネントを探す事が出来ます。

・コンポーネントを名前で検索する
キャンバス上の何も無い空間で左マウスボタンをダブルクリックするか、F4キーを押すと、コンポーネント検索用の入力窓が開きます。
ここに探しているコンポーネントの一部名を入力すると、その名前の一部を持つコンポーネントがリストアップされるので、リストの中から目的のコンポーネントを選択します。

※例えば「Surf」と入力すると、Grasshopperが「Surface」と予測して、関連したコンポーネント群が表示されます。


・コンポーネントの格納位置を調べる
検索して取り出したコンポーネント等、既にキャンバス上に配置してあるコンポーネントを、[Alt]+[Ctrl]キーを押しながら左マウスボタンをクリックすると、クリックしている間、そのコンポーネントの格納されているタブと位置を赤い矢印と円で指し示してくれます。


※上図では[Shift]コンポーネントの位置を調べています。

2014年7月3日木曜日

Grasshopperを使った色のシミュレーションの方法

物の見え方というのは、形状だけでなく、色等によっても変わってきます。Grasshopperをデザイン検討に利用されている方にとっては、色も大事な要素かと思われます。
そこで今回はGrasshopperの色に関するコンポーネントと、その使用方法について紹介します。


まずは、単純にオブジェクトに色を着けて表示させる方法です。
用意するのは色を着けたいオブジェクトを指定した[Brep]コンポーネント、色を指定する [Colour Swatch]コンポーネント(Paramsメニュー>Inputタブ)、色を着けたオブジェクトを表示させる為の [Custom Preview](Displayメニュー>Previewタブ)コンポーネントの三つです。
[Custom Preview]のG入力にオブジェクトを、S入力に[Colour Swatch]コンポーネントを割り当てる事で、オブジェクトを指定した色で表示する事が可能です。
※[Custom Preview]コンポーネントは、Grasshopperのプレビュー表示方法を「選択コンポーネントのオブジェクトのみ表示」に設定していると表示されません。


ここから更に、オブジェクトにマテリアルを設定して表示させる方法もあります。
Grasshopperには[Create Material]という簡易的なマテリアルを作成するコンポーネントがあります。このコンポーネントには5つの入力があり、上から、
Kd(Diffuse):拡散反射光(ベース)の色を指定
Ks(Specular):鏡面反射光の色を指定
Ke(Emission):自己発光の色を指定
T(Transparency):透明度を数値で指定(0.0~1.0)
S(Shine):光沢の量を数値で指定(1~100、0は光沢無し)
となっています。
色を指定する入力には、前述の[Colour Swatch]等を割り当て、数値指定には[Number Slider]を割り当てたら、[Create Material]のM出力を [Custom Preview]のS入力に接続します。
すると、前述の色を表示した時と同様に、マテリアルを貼り付けたオブジェクトが表示されます。
※透明度を0、光沢の量を100に設定した例

※透明度を0.7、光沢を無しに設定した例

この様にマテリアル設定を行なった[Create Material]コンポーネントを、色分けしたいオブジェクトの数だけ用意し、それぞれの[Brep]に割り当てる事で、下図の様に表示させる事も可能です。
※上二つのオブジェクトは、金属という事で反射光色をベース色と同じにし、尚且つ光沢を70に設定。下のオブジェクトは、マットな質感の為、光沢はゼロ、反射色も黒に設定。


色に関するコンポーネントは、Paramsメニュー>Inputタブ内の[Colour Picker]や[Colour Swatch]以外にも、Displayメニュー>Colourタブに入っており、CMYK、HSL、RGB等、色の表現法を数種類から用意してあります。
これらのコンポーネントはそれぞれの入力に0.0~1.0の範囲の数値を指定してあげる事で、対応する色を出力します。(RGBのみ0~255の範囲)


また、同Displayメニュー>Colourタブ内には[AHSV]と[ARGB]という、色をHSVとRGBのそれぞれの数値に分解して出力するコンポーネントもあります。

2014年6月26日木曜日

[Orient]コンポーネントを用いた、サーフェス法線方向にオブジェクトを配置する方法

Rhinoには[OrientOnSrf]という、オブジェクトをサーフェスの法線方向に沿って配置するコマンドがあります。これをGrasshopperで行なうにはどの様なコンポーネントを使用してどの様に配置すれば良いのか、今回はその一例を紹介します。


まず、配置するオブジェクトを作成し、[Brep]コンポーネントに割り当てます。

オブジェクトを作成する際は、配置するオブジェクトのどの部分を、オブジェクトの中心とするかを意識してモデリングします。

一番、簡単な方法は、下図の様にXY平面の原点に中心が来るように配置するオブジェクトを作成します。こうすれば、配置基準となる元の作業平面は、XY平面となります。
作成するオブジェクトがXY平面の原点にない場合、あるいは、任意の空間上に作成する場合は、次の手順で作成したオブジェクトの中心点を作業平面の原点として定義します。
・配置するオブジェクトのバウンディングボックスを取得するために[Bounding Box]コンポーネントに[Brep]を接続します。
・取得したバウンディングボックスの、どの地点を作業平面の原点とするかを指定する為に、[Evaluate Box]コンポーネントに[Bounding Box]を接続します。
※[Evaluate Box]コンポーネントは指定したBoxオブジェクトのUVW値に相当する点とその点を原点とした作業平面を出力します。
(U,V,W)が
(0.5,0.5,0.5)で、ボックスの中心:Default
(0.5,0.5,0.0)で、底面の中心
(0.5,0.5,1.0)で、上面の中心
の点を出力。

これでオブジェクトの中心点を原点とした作業平面を取得出来ました。
この作業平面が、オブジェクトを配置する際の方向や、位置の基準となります。


次にオブジェクトを配置するターゲットとなるサーフェスを作成し、[Srf]コンポーネントに割り当てます。
[Srf]コンポーネントはReparameterizeし、[Evaluate Surface]コンポーネントに接続して、配置したい位置の作業平面を、UV値を指定して取得します。
※[EvalSrf]コンポーネントは、サーフェスの指定したUV値の点と、法線ベクトル、そして指定した点でサーフェスに接する作業平面を出力します。

この[EvalSrf]で作成した作業平面のZ方向が、そのままその点における法線方向となります。


これで配置したいオブジェクト、配置する際の基準となる作業平面、配置先サーフェス上の作業平面の3つを用意出来ましたので、これらを[Orient]コンポーネントに以下の通りにそれぞれを接続する事で、オブジェクトをサーフェスの法線方向に沿って配置出来ます。
・[Orient]コンポーネントのG入力に、配置するオブジェクトを接続
・[Evaluate Box]コンポーネントのPl出力を、[Orient]のA入力へ接続
・[EvalSrf]コンポーネントの、F出力を、[Orient]のB入力へ接続
 ※[Orient]コンポーネントは、G入力に割り当てたオブジェクトを、B入力に割り当てた作業平面を基点として、A入力に割り当てた作業平面に再配置を行ないます。


[Orient]は再配置したいオブジェクトと基点となる作業平面との距離や角度を参照します。
その為、上記の例では、基点となる作業平面を、バウンディングボックスの中心点に設定しておりましたが、例えばバウンディングボックスのU,V,Wの値を0.5,0.5,0.0に設定した場合、下図の様に配置位置が変化します。

原点が中心点の位置の場合、配置したオブジェクトはサーフェスに半分程埋まっていますが、原点がバウンディングボックスの底面の中心の位置の場合、配置オブジェクトはサーフェスに埋まっていません。この様にWの値を変える事で、オーバーラップの位置を変える事が出来ます。