S01. Build Model
概要
BuildingDataから3D建物モデルを生成するコンポーネントです。 柱・梁・壁・床・片持ち・ブレース・間柱・基礎・杭・孫梁の3Dジオメトリを自動生成します。
機能
- 柱(Columns)の3Dモデル生成
- 大梁(Main Beams)の3Dモデル生成
- 小梁(Secondary Beams)の3Dモデル生成
- 壁(Walls)の3Dモデル生成
- 床スラブ(Slabs)の3Dモデル生成
- 片持ち要素(Cantilevers)の生成
- ブレース(Braces)の生成
- 間柱(Posts)の生成
- 基礎(Foundations:独立・布・べた)・杭(Piles)の生成
- 孫梁(Tertiary Beams)の生成
Is_Void = trueの部材は生成をスキップ(欠き取り表現、v5.7.0〜)- グリッド交点の移動(
Grid_Nodes)への自動追随(v5.9.0〜。v5.10.0 で床面部材も追随) - 単位系の自動変換
- Free版:各カテゴリ50要素まで(ソフトランディング)
入力パラメータ
| パラメータ名 | 型 | デフォルト | 説明 |
|---|---|---|---|
| Data | Generic | - | BuildingDataオブジェクト |
| Sync | Boolean | false | Rhinoドキュメントに同期(Pro版のみ有効) |
出力パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
| Columns | Brep List | 柱のジオメトリ |
| MainBeams | Brep List | 大梁のジオメトリ |
| SecondaryBeams | Brep List | 小梁のジオメトリ |
| Walls | Brep List | 壁のジオメトリ |
| Slabs | Brep List | 床スラブのジオメトリ |
| Cantilevers | Brep List | 片持ち要素のジオメトリ |
| Braces | Brep List | ブレースのジオメトリ |
| Posts | Brep List | 間柱のジオメトリ |
| Foundations | Brep List | 基礎のジオメトリ(独立・布・べた) |
| Piles | Brep List | 杭のジオメトリ |
| TertiaryBeams | Brep List | 孫梁のジオメトリ |
| Info | Text | 生成情報 |
使用方法
基本的な使い方
- Dataパラメータに BuildingDataオブジェクトを接続
- 自動的に3Dモデルが生成される
- 各出力をプレビューまたは他のコンポーネントに接続
Info出力の例
通常時(プレビュー)
=== Build Model (Preview Only) ===
Excel Unit: metric
Rhino Unit: mm
Conversion Factor: 1.000000
Columns: 48
Main Beams: 72
Secondary Beams: 96
Walls: 24
Slabs: 20
Cantilevers: 8 (Beams: 4, Slabs: 4)
Braces: 8
Posts: 4
Foundations: Isolated=12, Strip=0, Mat=0
Piles: 12
Tertiary Beams: 6
Total: 310
Set Sync=true to bake to Rhino.Free版(制限あり)
50要素を超えるカテゴリは50要素で打ち切られ、警告メッセージが表示されます:
Free plan: Showing 50 of 120 columns. Upgrade to Pro for unlimited processing.生成されるジオメトリ
柱(Columns)
- 形状: 角柱(Box)
- 基準: グリッド交点(
Grid_Nodesによる移動交点を含む。v5.9.0〜) - 高さ: レベルデータから自動計算
- 回転:
Rotationパラメータで指定(度) - オフセット: Offset_X, Offset_Y, Offset_Base, Offset_Top
大梁(Main Beams)
- 形状: 直方体(Box)
- 配置: グリッド線に沿って配置
- 長さ: 始端グリッド〜終端グリッドの距離
- 高さ: レベル + オフセット
- 接続: 柱との接続を考慮
小梁(Secondary Beams)
- 形状: 直方体(Box)
- 配置: 大梁間に配置
- 長さ: 任意の2点間
- 高さ: レベル + オフセット
壁(Walls)
- 形状: 平面(Surface)
- 厚さ: カタログのWidthを使用
- 高さ: レベルから自動計算
- 配置: グリッド線に沿って配置
床スラブ(Slabs)
- 形状: 平面(Surface)
- 厚さ: カタログのDepthを使用
- 範囲: 4つのグリッド交点で定義
- 高さ: レベル + オフセット
片持ち要素(Cantilevers)
- 片持ち梁: 梁と同様の形状、片側固定
- 片持ちスラブ: スラブと同様、片側固定
ブレース(Braces)
- 形状: 線材(Pipe)
- 配置: 対角線配置
- 断面: カタログのWidth × Depthの矩形断面
間柱(Posts)
- 形状: 角柱(Box)
- 基準: グリッド交点 + Position_X/Y
基礎・杭(Foundations / Piles)
- 独立基礎: グリッド交点基準の直方体
- 布基礎: 始端〜終端グリッド間の帯状形状
- べた基礎: Area_Code で定義される範囲
- 杭: グリッド交点基準の円柱
孫梁(Tertiary Beams)
- 形状: 直方体(Box)
- 配置: 小梁間に配置(親小梁を Parent 参照で追跡)
欠き取り表現(Is_Void)(v5.7.0〜)
Is_Void = trueのレコードは3Dジオメトリを生成しません。レコードを削除するのではなく「欠き」を明示的に表現します- L字・セットバック等の非整形平面は、テンプレート生成 → 削り込み(Is_Void 化)が標準ワークフローです
- 詳細な規約は正典仕様書 §13(欠き取り規約)を参照
交点移動(Grid_Nodes)への追随(v5.9.0〜)
Grid_Nodesで移動したグリッド交点に、柱・大梁・壁・ブレース・間柱・片持ち梁・基礎(独立・布)・杭が自動追随します(MB_GridSystem.GetIntersectionの解決層で合成。実座標 = 名目グリッド位置 + オフセット)- 要素ハッシュに交点オフセットが含まれるため、座標だけを動かした場合も確実に再生成されます
- 床面部材(小梁・孫梁・スラブ・片持ちスラブ・べた基礎・スラブ開口)も v5.10.0 から追随します。移動区画は実 4 隅の四辺形(quad)として生成され、小梁は対辺の等パラメータ点を結ぶ配置(干渉・支持喪失が構造的に発生しない方式)、分割スラブは Division+1 枚のストリップとして quad を分割、スラブ開口は親 quad へのパラメータ写像で追随します。未移動の区画は従来と完全に同一です(v5.9.0 の V-N10 Error は撤去)
- 片持ちスラブは基準辺の実方向に直交して張り出し、隣接ペアの共有側辺はマイター(挟角二等分)処理されます。隣接ペアの
Lengthが不一致の場合は Warning を出して従来の辺直交にフォールバックします - 極端に歪んだ移動区画は
Comp_V01の V-Q 群(Warning: 最小内角・小梁取り付き角・支持辺長比)で通知されます
ライセンスによる制限
Free版
- 各カテゴリ50要素まで
- 50を超える要素は生成されない
- 警告メッセージが表示される
- Sync(Rhinoドキュメントへの同期)は無効
Trial版(14日間)
- すべての機能を制限なく使用可能
Pro版
- すべての機能を制限なく使用可能
パフォーマンス
生成速度の目安
| 要素数 | 生成時間 | 推奨 |
|---|---|---|
| 〜100 | < 1秒 | ✅ 快適 |
| 100-500 | 1-3秒 | ✅ 良好 |
| 500-1000 | 3-10秒 | ⚠️ やや遅い |
| 1000+ | 10秒〜 | ❌ 重い |
最適化のヒント
Is_Void = trueの要素はスキップされる(v5.7.0〜)- 不要な要素はExcelで削除またはVoid化
- 大規模モデルは階層ごとに分割
エラー処理
よくあるエラー
カタログが見つからない
Error: Catalog not found for Type_ID 'COL-500x500'
Location: Column at 1F X1-Y1
Please check the Catalog sheet.グリッドが見つからない
Error: Grid intersection 'X10-Y5' not found
Location: Column at 2F
Please check the Grids sheet.データ検証エラー
Error: Global settings not found注意事項
- 大量要素(1000+)の場合、生成に時間がかかることがある
- Free版では各カテゴリ50要素まで(Pro版推奨)
- Is_Void=trueの要素は生成されない(意図的に除外可能。v5.7.0〜)
- 移動交点(Grid_Nodes)に接するスラブ・小梁も追随して生成される(v5.10.0〜。極端に歪んだ区画は V-Q 群の Warning)
- べた基礎(Layout_MatFoundation)の Area_Code は 1 ベイのみ(複数ベイは検証エラー V-MF-1。v5.10.0〜)
- カタログのType_IDは大文字小文字を区別
トラブルシューティング
Q: 一部の要素が生成されない
A: 以下を確認してください:
Is_Voidがfalseか- カタログにType_IDが存在するか
- グリッド交点が定義されているか
- Free版の場合、50要素制限に達していないか
Q: スケールがおかしい
A: Global.UnitSystemとRhinoドキュメントの単位が正しいか確認してください。
Q: 柱と梁の接続が合わない
A: オフセット値(Offset_X, Offset_Y, Offset_Top など)を確認してください。
Q: "Pro版にアップグレードしてください"と表示される
A: Free版では各カテゴリ50要素までです。L01. License ManagerからPro版を購入できます。
Q: エラーが多すぎて確認できない
A: D02. Debug Readerを使ってデータを事前検証してください。
更新履歴
v5.10.0
- 床面部材(小梁・孫梁・スラブ・片持ちスラブ・べた基礎・スラブ開口)が交点移動(
Grid_Nodes)に追随。移動区画は実 4 隅の四辺形(quad)で生成(未移動の区画は従来と完全同一。V-N10 面ゲートは撤去) - 小梁は対辺の等パラメータ点を結ぶ配置(干渉・支持喪失が構造的に発生しない方式)。分割スラブは Division+1 枚のストリップとして quad を分割
- 片持ちスラブは隣接ペアの共有側辺をマイター(挟角二等分)化(
Length不一致のペアは Warning+辺直交フォールバック) - 極端に歪んだ移動区画は
Comp_V01の V-Q 群(Warning)で通知。べた基礎は 1 ベイのみ(V-MF-1 Error)
v5.9.0
- 柱・大梁・壁・ブレース・間柱・片持ち梁・基礎・杭が交点移動(
Grid_Nodes)に自動追随(MB_GridSystem.GetIntersection経由の解決層で合成) - 要素ハッシュに交点オフセットを含め、座標のみの変更でも再生成されるように
- 床系(スラブ・小梁・孫梁)は非追随のまま。移動交点に接する面配置は検証エラー V-N10 でゲート
v5.7.0
Is_Void = trueの部材は生成をスキップ(欠き取り表現。テンプレート生成 → 削り込みが標準ワークフロー)- 間柱の基点座標に単位変換係数が適用されない不具合を修正(非mmのRhinoドキュメントでの位置ずれ)
v5.5.0
| 反映項目 | 影響 |
|---|---|
Justification (Top / Center / Bottom) | 梁・ブレースの 3D ジオメトリ位置が Z 方向に変化。Top で梁芯=梁上端、Center で芯合わせ、Bottom で梁下端 |
Catalog_*.Revit_Family_Type | 3D ジオメトリ自体には影響なし (Revit / IFC / Speckle 連携時のみ参照) |
Levels[].Slab_On_Beam | S 造納まりフラグ。true の階で梁とスラブの幾何学的整合性が変化 |
Restraint_Code / End_Release_*_Code (#136, #142) | 3D ジオメトリには影響なし (解析モデル Comp_S02 で反映) |
- v5.0.x データから自動マイグレーション (Justification 等は default 値で補完)
- AI 編集経由のデータは
Comp_I09 Diff & Approvalを通すワークフローを推奨