Building Data Validator
概要
BuildingData を スキーマルールと構造整合性ルールに照らして検証 するコンポーネントです。Comp_S01 BuildModel などの下流処理に渡す前の事前チェックとして使用します。MCP サーバーの軽量 validate ツールと異なり、Grasshopper 側で完全なルールセット を走らせます。
- グループ: 3. Validate & Diff
- ニックネーム:
Validate
機能
- 登録済みの全検証ルール(参照解決 / 幾何重複 / スキーマ規約 / 荷重整合)を評価
- LayoutValidationEngine による構造整合性チェック(梁-柱関係、エリア対応等)を統合実行(Data Viewer と同水準)
- v5.7.0 追加ルール: V-VOID-1〜4(欠き取り整合)/ V-OFF-1〜3(オフセット上限)
- v5.9.0 追加ルール: V-N1〜V-N9(Grid_Nodes 交点移動の健全性。V-N10 面ゲートは v5.10.0 で撤去)
- v5.10.0 追加ルール: V-Q1〜V-Q3(移動区画の品質 lint)/ V-MF-1(マット基礎の 1 ベイ制約)
- Validation Viewer Form でグラフィカル表示(Open=True 時、モードレス)
- ThrowOnError=True(既定)で Error 検出時に下流への伝播を遮断(ValidatedData が null になる)
- Error / Warning の件数を別出力
入力パラメータ
| パラメータ名 | 型 | デフォルト | 説明 |
|---|---|---|---|
| Data (D) | Generic | — | 検証対象 BuildingData |
| Open (Open) | Boolean | false | true で Validation Viewer(モードレス)を開く |
| ThrowOnError (Throw) | Boolean | true | true で Error 検出時に下流への伝播を遮断(ValidatedData = null) |
出力パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
| ValidatedData (VD) | Generic | 検証済みデータ(Error 検出かつ ThrowOnError=true なら null) |
| Report (Report) | Text | 検証レポート(1 行 1 検出) |
| ErrorCount (Errors) | Integer | Error 件数 |
| WarningCount (Warnings) | Integer | Warning 件数 |
| IsValid (IsValid) | Boolean | Error 件数 == 0 |
検証ルール一覧
基本ルール(〜v5.5.0)
| ルール | 内容 | 区分 |
|---|---|---|
| TertiaryBeam_ParentResolution | 孫梁の親(小梁)解決可能性 | 構造整合性 |
| WallOpening / SlabOpening_ParentResolution | 開口の親部材解決可能性 | 構造整合性 |
| BeamLoad_ParentResolution | 梁荷重の親梁解決可能性 | 構造整合性 |
| WallOpening / SlabOpening_OverlapAndOverflow | 開口の重複・親からのはみ出し | 物理的整合性 |
| BeamLineLoad_RangeValid | 梁線荷重の範囲妥当性 | 物理的整合性 |
| Foundation / Pile_FloorValid | 基礎・杭の配置階妥当性 | スキーマ規約 |
| WallLoad_Specified | 壁荷重の指定 | 荷重整合性 |
| MainBeam_SingleSpan | 大梁 1 グリッドベイ制約 | ジオメトリ規約 (v5.2.x) |
| SlabOnBeam_Consistency | Slab_On_Beam の整合 | Analytical/Physical (v5.3.0) |
| Justification_Valid | Justification が Top/Center/Bottom | schema (v5.5.0) |
| DesignPhase_Valid | Design_Phase が 4 enum 内 | schema (v5.5.0) |
このほか LayoutValidationEngine による構造整合性チェック(Instance_ID / Floor / Type_ID / Grid 参照、梁-柱関係、スラブ-小梁対応、重複検出等)の結果もマージされます。Is_Void=true の部材は支持・存在・重複の判定対象から除外されます(v5.7.0 修正 — 参照整合チェックは void 部材にも適用)。
V-VOID / V-OFF(v5.7.0 — 欠き取り整合・オフセット上限)
| ID | 名称 | 重大度 | 判定 |
|---|---|---|---|
| V-VOID-1 | 支持喪失 | Error | 非 void 床区画の外周辺に、非 void の大梁も壁も無い |
| V-VOID-2 | 残存大梁 | Warning | 非 void 大梁の両側セルがいずれも「明示 void」 |
| V-VOID-3 | 孤立柱 | Warning | 非 void 柱に部材が 1 本も取り付かず、隣接セルにも床が無い |
| V-VOID-4 | 空中柱 | Error | 直下階の同交点柱が「明示 void」のみ(直下レコード不在は梁上柱等として報告しない。梁支持・最下階は免除) |
| V-OFF-1 | 区画交差 Offset | Error | 部材端の |Offset_X/Y| ≥ 隣接最小スパン × 1/2 |
| V-OFF-2 | 推奨上限超過 | Warning | |Offset| > 隣接最小スパン × 1/4 または > 1000mm |
| V-OFF-3 | 内部部材 Offset の解析乖離 | Warning | 内部柱・内部大梁の平面 Offset(S02 の解析節点は通り芯上に留まるため Analytical/Physical が乖離する通知) |
V-N(v5.9.0 — Grid_Nodes 交点移動の健全性。判定核 = GridNodeRuleCore)
| ID | 重大度 | 内容 |
|---|---|---|
| V-N1 | Error | 順序保存(実座標): 各通り沿いでラベル名目順の実座標が狭義単調(絶対上限なし — 順序が保たれる限り協調移動は無制限) |
| V-N2 | Error / Warning | ベイ凸性(面部材が参照するベイ = Error / 非参照ベイ = Warning) |
| V-N3 | Error | 多ベイ区画の境界辺直線性 ±1mm(トポロジー保護) |
| V-N4 | Error | dangling ラベル(Grids に存在しない X_Label / Y_Label) |
| V-N5 | Error | 同一交点への重複エントリ |
| V-N6 | Error / Warning | NaN・Infinity は Error / 軸全長を超えるオフセットは Warning(単位・桁誤りの早期検知) |
| V-N7 | Warning | 交点ペアの近接 <100mm(解析エクスポートの 1mm 量子化での節点融合リスク。集約報告) |
| V-N8 | Warning | 正規化 lint: 通りの全交点に同値オフセット → Span(軸移動)で表現すべき |
| V-N9 | Warning | 零行 lint: (0, 0) の行は疎記録原則により不要 |
V-N10(面ゲート)は v5.10.0 で撤去されました。床面部材(スラブ・小梁・孫梁・片持ちスラブ・マット基礎・スラブ開口)が移動交点に追随して生成されるようになったため、Phase 1 の暫定 Error は不要になりました。移動区画の歪みは V-Q 群(Warning)が通知します。なお参照ベイを非凸にする移動は引き続き V-N2(Error)でブロックされます。
Grid_Nodes 未使用のデータには V-N 系の検出は一切出ません(静穏)。AI 生成経路(I06 の ResponseValidator)にも同じ Error 群が適用され、違反する応答は棄却されます。
V-Q / V-MF(v5.10.0 — 移動区画の品質 lint・マット基礎制約)
| ID | 重大度 | 内容 |
|---|---|---|
| V-Q1 | Warning | 移動区画(quad)の最小内角 < 45°(極端な歪み) |
| V-Q2 | Warning | 小梁と支持辺の交角 < 30°(実配置の全小梁のうちの最小値 — 浅い取り付き) |
| V-Q3 | Warning | 対向する支持辺の長さ比 < 0.5(分割スラブのストリップ幅が不均等) |
| V-MF-1 | Error | マット基礎(Layout_MatFoundation)の Area_Code は 1 ベイのみ(複数ベイは禁止 — 解析モデル連携の制約) |
V-Q 群の対象は 4 隅のいずれかが移動した区画のみです(交点移動未使用のモデルでは Warning は一切出ません)。非凸 quad は V-N2(Error)の領分で、V-Q と重複して通知されることはありません。
MCP validate ツールとの違い
| 観点 | Comp_V01 (本コンポーネント) | MCP validate ツール |
|---|---|---|
| ルール網羅 | 全ルール(+ LayoutValidationEngine 統合) | 軽量サブセット |
| 実行環境 | Grasshopper (C# 直接実行) | MCP server (JSON-RPC over stdio) |
| 用途 | 下流処理前の事前チェック | AI / Claude からの軽量プレフライト |
| 性能 | 高速 (in-process) | 中速 (file I/O 経由) |
関連
Comp_I09_DiffApproval— AI 編集後の承認関門Comp_I06_AIBuildingGenerator— AI 生成側(V-VOID / V-OFF / V-N の Error は応答棄却にも使用)Comp_S01_BuildModel— 検証済みデータの 3D 描画- MCP API 仕様 — validate ツール
- JSON Schema
更新履歴
- v5.10.0: V-N10(面ゲート)を撤去(床面部材が交点移動に追随して生成されるように — 面の quad 対応)。V-Q1〜V-Q3(移動区画の品質 lint: 最小内角・小梁取り付き角・支持辺長比)と V-MF-1(マット基礎の 1 ベイ制約)を追加。V-N2 の参照集合に
Layout_MatFoundationを追加 - v5.9.0: V-N1〜V-N10 を追加(Grid_Nodes 交点移動の健全性: 順序保存=実座標・凸性・辺直線性・dangling・重複・数値・近接・正規化 lint 2 種・V-N10 面ゲート=移動交点に接する床系面参照は Error)
- v5.7.0: V-VOID-1〜4(支持喪失 / 残存大梁 / 孤立柱 / 空中柱)・V-OFF-1〜3(区画交差 / 推奨超過 / 内部部材通知)を追加。
Is_Void=true部材を支持・存在・重複判定から除外する修正 - v5.5.0: Justification_Valid / DesignPhase_Valid / SlabOnBeam_Consistency を追加