ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
テンプレート
テンプレートがありません。
specklepy(Python SDK)入門
Speckle を Python から操作する公式 SDK。SpeckleClient で認証し、Base オブジェクトを組み立て、operations.send/receive で送受信します。GUI でやっていたことを、コードから自動化する入口です。
この記事の要点
- specklepy は Speckle を Python から操作する公式 SDKで、pip でインストールする
SpeckleClientでサーバに接続し、アクセストークンで認証する- データの送受信は
operations.send/operations.receiveで行う - 転送経路として
ServerTransport(サーバとの送受信)を指定する - 送るデータは Base オブジェクトとして組み立てる
この記事は Speckle を Python から扱う SDK「specklepy」の入門です。GUI での操作(send/receive)を理解した前提で、同じことをコードから行う方法を見ていきます。.NET で書きたい場合は .NET SDK を参照してください。データ構造は オブジェクトモデル が前提知識です。
1インストール
specklepy は PyPI で配布されており、pip でインストールできます。
pip install specklepy
Python の仮想環境(venv など)を用意してから入れると、依存関係を他プロジェクトと分離できて安全です。バージョンによって API が変わることがあるため、利用する Speckle Server の世代に合った specklepy のバージョンを選びます。
2SpeckleClient と認証
サーバとやり取りする入口が SpeckleClient です。接続先サーバの URL を指定してクライアントを作り、アクセストークンで認証します。トークンはコードに直書きせず、環境変数などから読み込むのが安全です。
import os
from specklepy.api.client import SpeckleClient
from specklepy.api.credentials import get_account_from_token
# サーバの URL(自前ホスティングなら社内サーバの URL)
client = SpeckleClient(host="https://app.speckle.systems")
# 環境変数からトークンを読む
token = os.environ["SPECKLE_TOKEN"]
client.authenticate_with_token(token)
認証に成功すると、このクライアントを通じて Project / Model / Version の情報取得や、データの送受信が行えるようになります。トークンには必要最小限のスコープだけを付けておきましょう。
3Base オブジェクトを作る
送るデータは Base オブジェクトとして組み立てます。Base は動的にプロパティを追加できるので、必要な属性を自由に持たせられます。
from specklepy.objects.base import Base
# ルートとなる Base を作り、プロパティを動的に付与する
obj = Base()
obj.name = "sample wall"
obj.height = 3000 # 単位の前提はプロジェクトで統一しておく
obj.category = "Walls"
幾何(点・線・メッシュなど)を扱う場合は、specklepy が提供するジオメトリ用のクラスを使って Base のツリーに組み込みます。大きな子要素は detach の考え方(オブジェクトモデル 参照)に沿って分離されます。
4ServerTransport と send / receive
データの実体(オブジェクトツリー)をどこへ送る・どこから受け取るかを指定するのが Transport です。サーバとの送受信には ServerTransport を使います。送受信そのものは operations.send / operations.receive で行います。
from specklepy.transports.server import ServerTransport
from specklepy.api import operations
# 対象プロジェクト(旧 Stream)の ID を指定して Transport を作る
project_id = "xxxxxxxxxx"
transport = ServerTransport(client=client, stream_id=project_id)
# Base オブジェクトを送ると、その内容のルート id(ハッシュ)が返る
object_id = operations.send(base=obj, transports=[transport])
# 受け取りは id を指定して復元する
received = operations.receive(obj_id=object_id, remote_transport=transport)
ここで返ってくる object_id は、オブジェクトモデル で説明した内容ハッシュです。この id を指す Version を別途作成すると、GUI のコネクタで送ったときと同じくバージョン履歴に現れます(Version の作成は GraphQL API 経由で行います)。
5典型的な使いどころ
specklepy はバッチ処理や連携の自動化に向きます。代表的な用途は次のとおりです。
具体的な往復連携の文脈は Revit ⇄ Speckle を、サーバ側で処理を自動実行する仕組みは Automate を参照してください。同等のことを C# で書く場合は次の .NET SDK に進みます。
6注意点
API はバージョンで変わることがある。本記事のコードは概念を示す例で、実際のメソッド名や引数は利用する specklepy のバージョンの公式ドキュメントで確認する
トークンは秘密情報。リポジトリにコミットしないよう、環境変数やシークレット管理を使う
大量データを扱うときは、転送量やサーバ負荷に配慮し、detach や送信範囲の絞り込みを活用します。これらの効率の裏側は オブジェクトモデル のハッシュ・重複排除を参照してください。
→次に読む
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
テンプレート
テンプレートがありません。
子ページはありません
人気ページ
- 1 建築とは — 建築物の定義・建築と土木の違い・ライフサイクルをわかりやすく解説
- 2 建築・BIM 総合Wiki — 建築の基礎からBIM・Revit・Speckleまで体系的に解説
- 3 建築図面の縮尺と寸法表記 — 1/100・1/50 の使い分けと mm 基準・面積をやさしく解説
- 4 日本のBIM動向 — 国交省BIM/CIM・建築BIM推進会議・ガイドラインをわかりやすく整理
- 5 建築プロジェクトの登場人物|施主・設計事務所・ゼネコン・サブコンと発注方式
- 6 建築入門 — 分野・登場人物・設計から竣工までの流れをやさしく整理
- 7 建築の3分野とは|意匠・構造・設備(MEP)の役割分担とBIMの分野別モデル
- 8 Speckle Automateとは|Version公開トリガーで自動QA・命名規約チェックを走らせる仕組み
- 9 Revit フェーズとデザインオプション|既存・解体・新築の段階管理と設計案比較
- 10 Revit ワークシェアリング徹底解説|ワークセット・セントラルファイル・同期(SWC)・クラウド共同作業
最近更新/作成されたページ
- Dynamo入門|Revitビジュアルプログラミング・ノードとワイヤ・Pythonノード・Dynamo Player NEW 2026-06-29 15:23:47
- 建築の3分野とは|意匠・構造・設備(MEP)の役割分担とBIMの分野別モデル NEW 2026-06-29 15:23:47
- specklepy入門|Python SDKでSpeckleClient認証・operations.send/receive NEW 2026-06-29 15:23:47
- 建築図面の縮尺と寸法表記 — 1/100・1/50 の使い分けと mm 基準・面積をやさしく解説 NEW 2026-06-29 15:23:47
- Speckle Viewerとは|Web3D表示・プロパティ確認・iframe埋め込みと@speckle/viewer NEW 2026-06-29 15:05:23
- Speckle .NET SDK入門|NuGet導入・認証・Base作成・send/receiveとRevitアドイン連携 NEW 2026-06-29 15:05:23
- 日本のBIM動向 — 国交省BIM/CIM・建築BIM推進会議・ガイドラインをわかりやすく整理 NEW 2026-06-29 15:05:23
- Speckle Serverセルフホスト|docker-compose構成とデータ主権・運用設計 NEW 2026-06-29 15:03:33
- Speckle Automateとは|Version公開トリガーで自動QA・命名規約チェックを走らせる仕組み NEW 2026-06-29 15:03:33
- Speckleデータ連携の実務パターン|数量集計・Power BI・QA・他DB連携のパイプライン NEW 2026-06-29 15:03:33
- SpeckleとIFCの違い|標準ファイル交換とライブ連携の比較表と併用の現実解 NEW 2026-06-29 15:03:33
- Speckleのsend/receive|Version生成・選択フィルタ・差分とバージョン履歴 NEW 2026-06-29 15:03:32
- Speckleとは|OSSのAECデータプラットフォームをやさしく解説 NEW 2026-06-29 15:03:32
- Speckleのコネクタ|Revit/Rhino/Grasshopper/Blender等の連携とsend/receive NEW 2026-06-29 15:03:32
- Speckleオブジェクトモデル|Base・動的プロパティ・detach・ハッシュと重複排除 NEW 2026-06-29 15:03:32
コメントを削除してもよろしいでしょうか?