Elefrontについて#5 -User Attributesを読み込んで利用する

 今回の記事も前回に引き続き、仮想プロジェクトを通してElefrontについて説明していきます。
前回は、「User Attributes」を定義してBAKEをするところまで行いました。
ここからは、ファスナーモデルをGrasshopperに読み込み、定義された「User Attributes」を用いて効率的に三面図を作成していきます(三面図にしているのは説明を簡略化するため)。
今回使用するファイルはこちらからダウンロードをしてください。

 ここでGrasshopperファイルを分割した理由をおさらいすると、データの軽量化や担当者間のやり取りをスムーズにすることが目的でした(#3に記載)。

また、これから説明する製品図の作成方法はいくつかありますが(他の記事)、今回はデータがそこまで重くないのでまとめて作図していきます。

完成イメージ(部分)
完成イメージ(全体)

では早速、はじめていきましょう。
製品図の出力までは以下のプロセスで行います。

  1. ファスナーモデルを読み込む
  2. データツリーの整理
  3. Planeを作成する
  4. 2D配置を行う
  5. 三面図を作成する(寸法、図枠など)

1. ファスナーモデルを読み込む

 まずは、前回BAKEしたモデルをGrasshopper内に読み込んでいきましょう。
Elefrontでは01.Referenceのサブカテゴリ内にあるコンポーネントで、モデルを読み込むことが出来ます。
今回は、Reference by Layerコンポーネントを使い、レイヤー名を指定してモデルを読み込みます。

ジオメトリの読み込み方法

2. データツリーの整理

 次に、Fastener Name情報を使って、データツリーの整理を行いましょう。
Fastener NameはGet User Valueコンポーネントを使い取得することができます。
このコンポーネントはKeyを指定すると、対応するValueが出力される仕組みです。

Fastener Name情報の取得

ここで、Fastener Nameの命名規則について軽くおさらいします。
Fastener Nameはファスナーの位置情報と関連するように前回設定しました。

・ファスナーの命名規則
{パネルの識別情報 – ファスナーの位置情報※}
※(パネルを正面から見て、左下:LD (Left Down)、左上:LU (Left Up)、右上:RU (Right Up)、右下:RD (Right Down))
例:{A-0-RU}

この命名規則に対応してデータツリーのパスに階層を作ります。
以下の手順で行っていきます。

  1. A-Jに対応する階層を作成する
  2. その階層内でさらに通し番号0-9に対応する階層を作成する(この段階で、一つの階層に4つのインデックスが割り振られ、一つのパネルに4つのファスナーが対応している状態)
  3. 正面から見て左下のファスナー(LU)から時計回りに並び替える
1. A-Jに対応する階層を作成する
2. 0-9に対応する階層を作成する
3. 正面から見て左下のファスナー(LU)から時計回りに並び替える

これでデータツリーの整理が完了です。
テキスト情報を使って並び替えを行うことで、処理時間を短縮することができました。

3. Planeを作成する

 データの並び替えが終わったので、次は2D(XY平面)への配置を自動化するためのPlaneを作成していきましょう。
Planeを作成するのに必要な情報はPlane_Vector(X、Y)とPlane_Originでした。
これも、さっきと同じようにGet User Valueコンポーネントを使い、情報を取得します。
そして、これらの情報をConstruct Planeのインプットに繋げば、各ファスナー位置に対応したPlaneが作成されます。

Planeの作成

4. 2D配置を行う

 先ほど作成したPlaneを使ってファスナーを2D(XY平面)に配置していきましょう。
2D配置をするには、3D上に配置されたPlaneと同じ数だけ2D上にPlaneが必要です。
また、2D上のPlaneの位置がそのまま三面図の位置に関係してくるので、調整しながら位置を決定します。

今回は、一枚のパネルに4つのファスナーが取り付くので、図枠内に4つ三面図を配置することにしました。
図枠内にPlaneを4つ配置してOrientコンポーネントを使えば2D配置は完了です。
ここまでが、三面図を作成するための準備です。

ファスナーを2Dに配置

5. 三面図を作成する(寸法、図枠など)

 ここからは、Elefrontの04.Annotationsツールを使い実際に寸法を入れていきましょう。
寸法線を作成するDefine Linear Dimensionコンポーネントには点情報が必要です。
よって、下図のような考え方で点を取得していきます(詳細についてはGrasshopper Definitionをご覧ください)。

三面図を作成する際の考え方

これらの点をDefine Linear Dimensionコンポーネントに繋げて、Dimension styleを指定すると寸法線が作成されます。
このコンポーネントを使用する際は、事前にRhinoceros上でDimension styleを定義しておく必要があるので気を付けましょう。

Elefrontのdimensionコンポーネント

また、Fastener Nameを示したテキストオブジェクトも忘れずに作成しましょう。
テキストオブジェクトはElefrontのDefine Text Objectコンポーネントを使えば作成できます(このコンポーネントにもDimension styleの定義が必要です)。

Define Text ObjectコンポーネントでFastener Nameを記載

あとは作成したファスナーの外形線や寸法線、図枠などをBAKEすれば完了です。
BAKEをする際に、寸法線同士が重ならないようにする小技などもあるのですが、記事が長くなってしまったので、またの機会に譲りたいと思います。

 以上がElefrontの実践編でした。
今回は製品図の出力でしたが、このような考え方でモデルを管理していくと、今まで大変だった作業が効率的に進めるようになるかもしれません。
また、ここまでざっとElefrontの説明をしてきましたが、まだ他にも便利な機能があるので、自分で使って試してみてください。

yoshiki.ono

主にファサードプロジェクトを担当。 RHやGHに関する、技術的な内容について書いていきます。 O型。

シェアする

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする