bim.house · bim.json spec · JSON 一覧 · 商品
bim.json Explainer · v1.0 · MIT License

bim.json とは何か 1 物件 = 1 JSON で建築確認まで届ける、人類最小の BIM 規格

bim.json は、 1 つの建物 = 1 つの JSON ファイル建築確認申請に必要な全ての情報を 表現する オープン規格です。SHA-256 で改竄防止、Ed25519 で建築士署名、CAS で 永久履歴管理 — つまり 「建物の Git」です。

📜 JSON Schema 59 物件サンプル → ✎ ブラウザで編集 🔍 ハッシュ検証

5 レイヤー mental model

bim.json の JSON は 5 つの層で構成されます。上層から下層へ「誰が・何を・どう設計し・どう検査し・どう署名したか」を順に記述。

L1
Identity · 同一性

誰の・いつの・どのバージョン

$schema / spec_version / slug / version{n, parent_hash, change_summary}

このファイルが何で、何の派生で、いつ作られたかを宣言。SHA-256 で永久 address 化。

L2
Project · 建築計画 metadata

建築確認 様式に相当

applicant 建築主 / designer 設計者 / supervisor 工事監理者 / contractor 施工者

site 敷地 / zoning 用途地域 / permit_classification 申請区分 / road_access 道路

mep 設備系統 / ground_investigation 地盤 / barrier_free バリアフリー / rooms[] 部屋

L3
Elements · 3D 要素

IFC 互換の建築部位 array

id / cls (IFCWALL/IFCWINDOW/IFCCOLUMN…) / shape (box/cylinder) / x,y,z,w,d,h (mm)

material{code,name,thickness_mm,u_value_w_m2k} / structural{load_bearing,…} / product_code

3D viewer · 平面図 · 断面図 · 立面図 · 構造図 · 設備系統図 は全部この elements[] から自動生成。

L4
Audit · 法令準拠チェック

建基法 / 都市計画法 / 省エネ法 自動 review

overall_pass / checks[{name, passed, spec_ref, _note}]

各 check は 条文参照付き: 例 {"name":"建ぺい率", "passed":true, "spec_ref":"法 53 条"}

L5
Attestations · 署名 + 添付

建築士 Ed25519 署名 + IFC/PDF 添付

signatures[{architect_id, pubkey, signature, signed_at, solana_memo_tx?}]

attachments[{uri, kind, mime, sha256, size_bytes}] — 画像・IFC・PDF を hash 検証付きで参照

署名対象は L1-L4 全体の SHA-256。後から L4 だけ書き換えても署名は無効化される。

30 秒で読む最小例

これだけで bim.json v1 として valid:

{
  "$schema": "https://bim.house/spec/v1.json",
  "spec_version": "1.0",
  "project": {
    "slug": "my-cabin",
    "name": "週末小屋",
    "address": "北海道川上郡標茶町",
    "site_area_m2": 200,
    "zoning": "都市計画区域外",
    "proposed_floors": 1,
    "proposed_structure": "木造軸組 + SIPs",
    "applicant": {"is_owner": true},
    "designer": {"designer_name": "濱田優貴", "office_name": "株式会社イネブラ"}
  },
  "elements": [
    {"id": "w1", "cls": "IFCWALL", "shape": "box",
     "x": 0, "y": 0, "z": 0, "w": 3000, "d": 200, "h": 2700,
     "material": {"code": "SIPS-AESS-180mm", "u_value_w_m2k": 0.18}}
  ],
  "audit": {"overall_pass": true}
}

IFC / Revit / SketchUp との関係

項目bim.json v1IFCRevit (.rvt)SketchUp
形式JSONEXPRESS / XMLバイナリ独自バイナリ独自
サイズ (戸建)30-200 KB5-50 MB50-300 MB10-100 MB
編集ツールテキストエディタ可専用ソフトRevit (商用)SketchUp
確認申請そのまま提出可変換必要図面 export 後不可 (意匠のみ)
建築士署名Ed25519 内蔵不可不可不可
履歴管理append-only CAS不可worksharing不可
3D viewerブラウザ即時専用 viewerRevitSketchUp
標準化JSON Schema 2020-12ISO 16739Autodesk 独自Trimble 独自
ライセンスMITbuildingSMART商用商用
結論: bim.json は IFC の代替ではなく上位 manifest。詳細 3D 設計は IFC/Revit に任せ、 bim.json は permit-ready なメタデータ層として attachments[] に IFC を hash 検証付きで添付する。

1 物件 = 1 JSON で履歴追える

bim.json の最大原則。Server 起動時に spec/projects/*.bim.json が CAS (Content-Addressed Storage) に v1 として seed され、 編集の度に sha256 が連鎖して append-only 履歴が積み上がる。

v1 (genesis)        sha256: abc123…  by: bim.house seed
  └ v2 (修正)       sha256: def456…  by: 濱田優貴 (mail@yukihamada.jp)
       parent: abc123…
  └ v3 (建築士 OK) sha256: 789xyz…  by: 田中設計事務所
       parent: def456…
       signatures: [Ed25519 by 一級建築士 田中, signed_at: 2026-05-14]
       solana_memo_tx: 5oQ…  ← Solana 公開チェーンにも anchored

任意の過去版は /api/cas/<sha256> で immutable に取得、/api/cas/<sha256>/verify で改竄チェック。

用語集

bim.json
本規格。"μ" は SI 接頭辞 micro (10⁻⁶) — IFC 比で 1/1000 のサイズ。
IFC
Industry Foundation Classes (ISO 16739)。BIM 業界標準データ形式。bim.json の elements[].cls は IFC クラス名を流用。
CAS (Content-Addressed Storage)
内容そのものの hash がアドレスになる保存方式。同じ内容 → 必ず同じ場所、書き換え不可。
SHA-256
64 文字の固定長 hash。1 ビット違えば全く別 hash に。改竄検知の標準。
Ed25519
楕円曲線署名アルゴリズム。Phantom (Solana) ウォレットでも使われる業界標準。
Canonical JSON
キーをアルファベット順にソートした正規化 JSON。同じ論理内容なら必ず同じバイト列 → 必ず同じ sha256。
Solana memo
Solana ブロックチェーン上の任意文字列を memo として記録。version_hash を memo 化すれば永久 anchor。
permit_classification
建基法 6 条の建築物分類 (1 号〜4 号)。bim.json の必須 field。
建築士 22 条の 3
建築士法 — 工事監理者は設計者と兼務可。bim.json の supervisor が null でも designer から推定可。

クイックスタート

1. ブラウザで作る (推奨)

/spec/editor で visual + text 双方向編集。最小サンプルから始められる。

2. curl でサーバ保存

# 新バージョン submit (auto-hash + author 自動記録)
curl -X POST https://bim.house/api/entity/project/my-cabin \
  -H "x-author-name: 濱田優貴" \
  -H "x-author-email: mail@yukihamada.jp" \
  -H "x-change-summary: 初回 commit" \
  --data @my-cabin.bim.json

# → {ok:true, version_n:1, sha256:"abc123…", author_name:"濱田優貴"}

# 履歴を見る
curl https://bim.house/api/history/project/my-cabin

# 過去版を取得
curl https://bim.house/api/cas/abc123…

# 検証
curl https://bim.house/api/cas/abc123…/verify

3. JSON Schema で validate

# ajv-cli で local validation
npx ajv-cli validate -s spec-v1.json -d my-cabin.bim.json

FAQ

Q. IFC を捨てて bim.json だけでいい?
A. 違います。詳細 3D / QTO / 設備計算は IFC/Revit が圧倒的に強い。bim.json は permit-ready manifest 層として IFC を attachments[] に SHA-256 検証付きで添付する設計。
Q. 巨大ビル (10,000+ 要素) でも動く?
A. 単一 JSON で 50 MB まで対応 (POST limit)。それ以上は chunked CAS (各階を別 hash blob) + IFC attachment 推奨。実例: 国立競技場 (392 elements, 445KB) / 東京スカイツリー (361, 250KB) / 横浜ランドマーク (323, 285KB)。
Q. 建築主事は受け取ってくれる?
A. 現時点では電子化非対応の自治体多数。bim.json → 第二号様式 PDF + 構造計算書 PDF + 配置図 SVG を /permit/<slug> で自動生成 (26 書類フルセット)。これを印刷して紙申請。電子申請 XML (/spec/permit-xml-v1.xsd) も将来 国交省 BIM ガイドライン整合予定。
Q. 自分の物件を匿名で投稿できる?
A. はい。X-Author-Name ヘッダなしなら author_id="anonymous" で記録。ただし建築士署名は実名 + 一級建築士番号 + Ed25519 pubkey 必須。
Q. プロプライエタリな BIM をどう取り込む?
A. Revit → IFC export → bim.json 変換ツール (今後実装) で elements[] 化。短期的には IFC を attachments[] で参照、bim.json 側は project metadata のみ作る方針も可。
Q. 名前が打ちにくい (μ)
A. ASCII では bim.json と書いて OK。MIME 型は application/vnd.bim+json。拡張子は .bim.json (μ なし)。

License: MIT (本規格自体), CC BY 4.0 (本ドキュメント).
Source: github.com/yukihamada/tsugi
Reference Schema: /spec/v1.json (JSON Schema 2020-12)
関連 spec: bim.json-Permit-XML v1 · WEBPRO-XML v1
59 物件で見る → 編集する → 商品 catalog → ★ GitHub