この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:atom
更新日時:2026-06-29 13:35:40

タイトル: Speckleとは
SEOタイトル: Speckleとは|OSSのAECデータプラットフォームをやさしく解説

Speckle · 01

Speckle とは何か

建築・土木・建設(AEC)のデータを、ファイルではなく「オブジェクト」としてやり取りするオープンソースのプラットフォーム。Revit や Rhino など複数ツールを共通のデータモデルで橋渡しし、送るたびに履歴が残ります。その全体像をやさしく整理します。

この記事の要点

  • Speckle は AEC(建築・土木・建設)向けのオープンソースなデータプラットフォームで、ツール間のデータ連携とバージョン管理を担う
  • Revit・Rhino・Grasshopper など複数のオーサリングツールを、共通のデータモデルで橋渡しする
  • API(GraphQL)と SDK(Python / .NET)を備え、コードから扱える点が大きな特徴
  • 商用のクラウド(app.speckle.systems)と、自前サーバへのセルフホスティングの両方が選べる
  • 用語は旧版(v2)と新世代で変化しており、本カテゴリでは新世代の用語を主に用いる

本記事は Speckle カテゴリの入口として、「Speckle とは何か」を、これから Speckle を学ぶ人に向けて整理します。続けて内部構造を知りたい場合は アーキテクチャ(Server/Project/Model/Version) へ進んでください。

1Speckle とは何か

Speckle は、建築・土木・建設(AEC: Architecture, Engineering, Construction)の領域で使われるオープンソースのデータプラットフォームです。Revit、Rhino、Grasshopper、Blender、AutoCAD などのオーサリングツールが扱う 3D モデルや属性データを、ツールに依存しない共通のデータモデルへ変換し、サーバ上で保存・共有・バージョン管理できるようにします。

従来、AEC のデータ交換は IFC ファイルや独自フォーマットの「ファイル受け渡し」が中心でした。Speckle はファイルではなく「オブジェクト単位のデータ」をネットワーク越しにやり取りする発想に立っており、Git がソースコードに対して行っていることを、建築モデルのデータに対して行うイメージに近いプラットフォームです。

「ファイル」ではなく「データ」をやり取りする

これまでの連携は、図面やモデルを 1 つのファイルとして丸ごと相手に渡す方式でした。Speckle は建物を「壁」「柱」などのオブジェクトの集合=構造化データとして扱い、その単位でネットワーク越しに送受信します。これにより、変わった部分だけを送る・履歴をたどる・プログラムから集計するといった、ファイル受け渡しでは難しかった活用が可能になります。

従来ファイル受け渡し
Speckleオブジェクト単位の送受信
得られるもの連携・履歴・自動化

2何を解決するのか

Speckle が主に解決するのは「ツール間のデータ連携」と「バージョン管理」の 2 点です。

ツール間のデータ連携
  • あるツール(例: Revit)で作ったモデルを、別のツール(例: Rhino や Blender、Web ブラウザ)で開けるようにする
  • 各ツール用の「コネクタ」が変換を担う
バージョン管理
  • モデルを送るたびに新しい版が記録され、いつ・誰が・どんな状態を送ったかの履歴が残る
  • 差分や履歴をたどれる点が、単なるファイル共有との違い

これにより、関係者がそれぞれ得意なツールを使いながら、データの一貫性と来歴(だれがいつ何を更新したか)を保てます。send/receive の基本ワークフロー でその流れを具体的に扱います。

3なぜ注目されるのか

Speckle は、いわゆる BIM ツールというより「AEC データのためのプラットフォーム/開発基盤」です。とくにプログラムから扱える点が、データ活用や自動化の幅を大きく広げます。

プログラマブルデータはオブジェクトの集合として構造化され、コードから生成・読み取り・加工できる
API と SDKGraphQL API と、Python(specklepy)・.NET の SDK で自動化やカスタム連携を書ける
OSS であるコードが公開され、内部の挙動の確認・独自拡張・自前運用ができる

サーバは GraphQL API を公開しており、プロジェクトやモデル、バージョンの情報をプログラムから操作できます(API概要)。SDK は Python 向けの specklepy(specklepy)と .NET 向け(.NET SDK)が用意されています。つまり、GUI で図面を操作する世界というより、データと API を軸にした世界であり、Web/バックエンド開発の考え方がそのまま活きやすい領域です。

4商用クラウドと自前ホスティング

Speckle のサーバは、利用形態を 2 通りから選べます。

形態概要向く場面
商用クラウド運営側が提供するホスト型サービス(app.speckle.systems など)を利用するすぐ試したい/自前運用の負担を避けたい
セルフホスティングOSS のサーバを自社インフラに構築して運用するデータを社内に閉じたい/要件に合わせて運用したい

セルフホスティングはコンテナなどで構築でき、データの所在を自社管理下に置けるのが利点です。運用上の具体的な検討は ホスティング で扱います。

5用語の世代差に注意

Speckle を学ぶうえで最初に押さえるべき注意点が、用語の世代差です。旧版(v2 系)では Stream/Branch/Commit という用語が使われていましたが、新世代では Project/Model/Version に置き換わりました。古い記事やドキュメントを読むときに混乱しやすいので、本カテゴリでは新世代の用語を主としつつ、必要に応じて「旧 Stream に相当」のように対応を併記します。

新世代旧版(v2)役割
ProjectStreamデータの最上位の入れ物・共有単位
ModelBranch分野・用途ごとの枝分かれの単位
VersionCommitsend ごとに作られるスナップショット

用語の対応関係は次の アーキテクチャ の記事で、より詳しい対応表として整理します。

6このカテゴリで扱う範囲

本カテゴリでは、Speckle の内部構造(アーキテクチャオブジェクトモデル)、各ツールとの接続(コネクタRevit ⇄ Speckle)、基本操作(send/receive)、開発(specklepy.NET SDKAutomate)、表示(Viewer)、運用(ホスティング)、そして IFC との違いデータ連携実務 までを順に解説していきます。まずは次の アーキテクチャ で全体像をつかむのがおすすめです。

次に読む