ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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 【Revit API】アドインの作成サンプル(外部ツール編)
- 2 Revit の要素(Category / Family / Type / Instance)4 階層モデルとは
- 3 【Revit API】要素の取得とID、名前、タイプの情報表示
- 4 【PythonでRevit API】pyRevitの導入と簡単なアプリケーションの作成
- 5 ArchiCAD 階段と手摺りの作成手順|階段ツール / 設定画面 / 手摺り追加
- 6 【Revit API】アドインの作成サンプル(外部アプリケーション編)
- 7 【Revit API】FamilySymbol(タイプ)の取得とパラメータの変更
- 8 RevitAPI.dll と RevitAPIUI.dll の参照
- 9 【Revit API】特定の要素のパラメータ一覧の取得
- 10 【Revit API】マニフェストファイルの書き方/作成方法
最近更新/作成されたページ
- 建築・BIM 総合Wiki — 建築の基礎からBIM・Revit・Speckleまで体系的に解説 2026-09-07 22:56:20
- ArchiCAD 階段と手摺りの作成手順|階段ツール / 設定画面 / 手摺り追加 2026-09-07 22:55:03
- ARCHICAD 参照線の移動・削除・編集ガイド(Reference Line) 2026-09-07 22:55:03
- ARCHICAD で床(スラブ)を作る方法|ポリゴン入力と複合構造 2026-09-07 22:55:03
- ARCHICAD 窓の作成完全ガイド 2026-09-07 22:55:03
- ARCHICAD 交点矢印の自動配置完全ガイド (Intelligent References) 2026-09-07 22:55:03
- ARCHICAD ドア (Door) の作成完全ガイド 2026-09-07 22:55:03
- ARCHICAD 壁の作成方法完全ガイド 2026-09-07 22:55:03
- ARCHICADの3D表示方法|F5ショートカット・軸測投影と透視投影の切替 2026-09-07 22:55:03
- ARCHICAD 梁 (Beam) の作り方完全ガイド 2026-09-07 22:55:03
- ARCHICAD Column ツールで柱を配置する手順(断面・高さ・複合構造・3D 確認) 2026-09-07 22:55:03
- ARCHICAD で通り芯を追加する方法|グリッドツールと命名規則 2026-09-07 22:55:03
- ARCHICAD でフロア(階)を切り替える方法(ポップアップナビゲータ / プロジェクト一覧 / ショートカット) 2026-09-07 22:55:03
- ARCHICAD (BIM ソフト) 完全ガイド 2026-09-07 22:55:03
- Revit のグループ機能|モデル/詳細グループの作成・解除と Revit API 2026-09-07 03:02:40
コメントを削除してもよろしいでしょうか?