4.

Speckleのコネクタ|Revit/Rhino/Grasshopper/Blender等の連携とsend/receive

編集
Tool Connector変換 send / receive
Speckle · 04

コネクタ — ツールとサーバをつなぐ翻訳機

各オーサリングツールに組み込まれ、ネイティブ要素と Speckle オブジェクトを相互変換するコンポーネント。Revit や Rhino から send/receive を行うのが基本操作です。対応ツールと変換の限界を整理します。

この記事の要点

  • コネクタは各オーサリングツールに組み込まれ、ネイティブ要素と Speckle オブジェクトを相互変換する
  • Revit・Rhino・Grasshopper・Blender・AutoCAD・Civil3D・IFC など多くのツールに対応する
  • 各ツールから send(送信)/ receive(受信)を行うのが基本操作
  • 変換できる要素はツールごとに異なり、対応していない要素は形状+属性で近似される
  • 新世代では UI が刷新され、共通の Desktop UI(DUI)に統一される流れにある

この記事は Speckle の「コネクタ」を整理します。コネクタは、各ツールと Speckle Server をつなぐ実体です。データ構造の前提として オブジェクトモデル も押さえておくと理解が深まります。

1コネクタとは

コネクタ(Connector)は、Revit や Rhino などのオーサリングツールにプラグイン/アドインとして組み込まれるコンポーネントです。役割は、そのツールのネイティブ要素(壁、柱、サーフェスなど)を Speckle の Base オブジェクトへ変換し、サーバへ送る(send)こと、また逆にサーバから取得したオブジェクトをツールのネイティブ要素へ復元する(receive)ことです。

コネクタは「翻訳機」

言い換えると、コネクタは各ツールの世界の言葉を Speckle 共通語に訳して送り出し、受け取った共通語を再びそのツールの言葉に訳し戻す翻訳機です。Speckle 本体(サーバ)はあくまで共通語のデータを保管・配信する役割で、ツール固有の事情を知っているのはコネクタの側です。そのため、あるツールで何がどこまで送れるか・受け取れるかは、サーバではなくそのツール用コネクタの作り込みに左右されます。

ツール言語壁・柱・面
コネクタ翻訳
共通語Base オブジェクト

2主なコネクタ

Speckle は AEC で広く使われるツール向けにコネクタを提供しています。

ツール分野・用途主な扱い
RevitBIM オーサリング(意匠・構造・設備)壁・柱・床・MEP 要素・パラメータなど
Rhino3D モデリング自由曲面・ソリッド・メッシュなど
GrasshopperRhino 上のビジュアルプログラミングコンポーネントとして send/receive を組む
Blender3DCG・可視化メッシュなどのジオメトリ
AutoCAD2D/3D CAD線・ブロック・ソリッドなど
Civil3D土木設計地形・線形・コリドーなど土木要素
IFCBIM 中立フォーマットIFC データの取り込み(IFCとの違い 参照)

このほかにも対応ツールは広がりつつあります。コネクタは Speckle 本体とは別に、ツールのバージョンに合わせて配布・更新されることが多いため、利用したいツールにコネクタがあるか、また自分が使うツールのバージョンに対応しているかを、運用前に確認しておくとよいでしょう。土木分野では Civil3D 向けのように、建築 BIM とは扱う要素(地形・線形など)が異なるコネクタもあり、分野によって変換できる対象が変わる点も押さえておきます。

3send と receive(基本操作)

どのコネクタでも、ユーザが行う基本操作は 2 つです。

send(送信)

ツール内で選んだ要素を Speckle オブジェクトに変換し、指定した Model に新しい Version として送る。

receive(受信)

サーバ上の Version を取得し、そのツールのネイティブ要素として読み込む。

送る範囲は、選択した要素だけ、特定のカテゴリだけ、といった形で絞り込めます。モデル全体を一度に送る必要はなく、分野や目的に応じて必要な部分だけを送り分けられるのが実務上のポイントです。具体的な操作の流れと、範囲を絞る選択フィルタの種類は send/receive の基本ワークフロー で詳しく扱います。

4変換できる要素の違い

注意したいのは、どこまでネイティブに変換できるかはツールとコネクタによって異なる点です。たとえば Revit の壁を Rhino で受け取ると、Rhino には「壁」という概念がないため、形状(ジオメトリ)と属性データとして表現されます。

○ ネイティブ再現
送る側と受け取る側に同じ概念があれば、ネイティブ要素として再現されやすい
△ 近似/欠落
概念が一致しないと形状+メタデータで近似され、対応外の要素は欠落することもある

この変換の限界は オブジェクトモデル の「ツール固有要素のマッピング」と表裏一体です。実務では Revit ⇄ Speckle のような具体的な往復で、何が保たれ何が落ちるかを検証しておくことが重要です。目的に必要な情報が往復で保たれるか、事前に確認しましょう。

5新世代の Desktop UI(DUI)

コネクタの操作画面は世代によって変化しています。新世代では、ツールごとにバラバラだった UI を共通化する Desktop UI(DUI、デスクトップ UI) という流れがあり、複数のコネクタで似た操作感の画面から send/receive を行えるよう整理が進んでいます。

旧版の UI を解説した古い資料と、新世代の画面では見た目や用語(Stream→Project など)が異なる場合があります。たとえば古いチュートリアルで「Stream を作成」と書かれていても、新世代の画面では「Project を作成」になっている、といった食い違いが生じます。手元の画面とドキュメントの用語が合わないと感じたら、まず世代差を疑うとよいでしょう。利用しているコネクタのバージョンに合ったドキュメントを参照するようにしてください。次は、コネクタ越しに行う基本操作そのものを send/receive で見ていきます。

Speckle Server Revit Rhino Grasshopper Blender AutoCAD コネクタ コネクタ コネクタ コネクタ コネクタ send / receive (双方向) 各コネクタがネイティブ要素と Speckle オブジェクトを相互変換し、双方向に送受信する
図: Revit・Rhino・Grasshopper・Blender・AutoCAD には各ツール用コネクタが組み込まれ、Speckle と send/receive の双方向でデータをやり取りする。

次に読む

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. Speckleとは
  2. アーキテクチャ(Server/Project/Model/Version)
  3. Speckleオブジェクトモデル
  4. コネクタ
  5. send/receive の基本ワークフロー
  6. Revit ⇄ Speckle の往復ワークフロー
  7. specklepy(Python SDK)入門
  8. .NET SDK 入門
  9. Speckle Automate
  10. Speckle Viewer・埋め込み
  11. 自前ホスティング(Docker)
  12. Speckle と IFC の違い・使い分け
  13. データ連携の実務パターン

最近更新/作成されたページ