S03. Generate Plans
概要
構造伏図(平面図)を自動生成するコンポーネントです。 各階ごとに柱・梁・壁・床の配置図を作成し、テキスト・レイヤー構造も含めて出力します。
機能
- 各階の伏図を自動生成
- グリッド線・寸法線の表示
- テキスト注記(部材名、寸法など)
- レイヤー構造の出力(BakeToRhino用)
- 図面の自動配置(横に並べて配置)
- Pro版のみ利用可能(Free版は1階のみプレビュー)
入力パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
| Data | Generic | BuildingDataオブジェクト |
出力パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
| Geometries | Geometry Tree | すべての図形(階ごと、レイヤーごと) |
| Texts | Geometry Tree | テキストエンティティ |
| TextContents | Text Tree | テキスト内容の文字列 |
| LayerNames | Text Tree | レイヤー名 |
| PlanLayers | PlanLayer List | 平面図レイヤーオブジェクト(Bake用) |
| Info | Text | 生成情報 |
使用方法
基本的な使い方
- Dataパラメータに BuildingDataオブジェクトを接続
- 自動的に各階の伏図が生成される
- Geometriesをプレビュー
- PlanLayersをBakePlansToRhinoに接続してRhinoに保存
図面の配置
各階の伏図は横方向に自動配置されます:
[1F図面] [2F図面] [3F図面] [4F図面] [5F図面]
↓ ↓ ↓ ↓ ↓
X=0 X=offset X=offset×2 ...図面間隔は建物サイズ + 余白(20m)で自動計算されます。
レイヤー構造
各階の図面は以下のレイヤーに分かれます:
1F
├── Grids (グリッド線)
├── Dimensions (寸法線)
├── Columns (柱)
├── Main_Beams (大梁)
├── Secondary_Beams(小梁)
├── Walls (壁)
├── Slabs (床)
├── Cantilevers (片持ち)
├── Braces (ブレース)
└── Texts (テキスト注記)
2F
├── Grids
├── ...Info出力の例
Pro版
=== Generate Plans Success ===
Floors: 5
Total Geometries: 1,248
Total Texts: 324
Floor Details:
- 1F: 256 geometries, 68 texts
- 2F: 248 geometries, 64 texts
- 3F: 248 geometries, 64 texts
- 4F: 248 geometries, 64 texts
- 5F: 248 geometries, 64 texts
Layers per floor: 10
Ready to bake with BakePlansToRhino componentFree版
FREE VERSION: Showing first floor only (1 of 5 floors).
This is a preview of the structural plan feature.
Upgrade to Pro to generate all floor plans.
1F: 256 geometries, 68 textsライセンス制限
Free版
- 制限: 1階のみ生成
- 用途: 機能確認、小規模プロジェクト
Pro版
- 制限なし: すべての階を生成
- 用途: 実務での図面作成
図面要素
グリッド線
- X軸・Y軸のグリッド線
- グリッド名(X1, Y1など)
- 線種: 一点鎖線
- 色: グレー
寸法線
- グリッド間の寸法
- 自動計算された距離を表示
- 単位: Excelファイルの単位系
柱
- 矩形(回転考慮)
- 柱中心はグリッド交点
- 注記: 部材ID
梁
- 中心線
- 線種: 実線
- 注記: 部材ID、スパン
壁
- 中心線
- 線種: 太実線
- 厚さ表示(両側に線)
床スラブ
- 範囲を表示
- ハッチングまたは塗りつぶし
- 注記: スラブ範囲
DataTree構造
Geometries Tree
{0;0} - 1F Grids
{0;1} - 1F Dimensions
{0;2} - 1F Columns
...
{1;0} - 2F Grids
{1;1} - 2F Dimensions
...階番号と レイヤー番号でパスが構成されます。
Texts Tree
テキストエンティティがGeometriesと同じ構造で格納されます。
技術仕様
実装クラス
csharp
namespace MakeBuildingPro.Components
{
public class Comp_S03_GeneratePlans : GH_Component
}依存関係
MakeBuildingPro.Core.MB_PlanGenerator- 平面図生成ロジックMakeBuildingPro.Core.MB_GridSystem- グリッドシステムMakeBuildingPro.Data.PlanLayer- レイヤーデータ構造MakeBuildingPro.Licensing.LicenseManager- ライセンス管理
GUID
H4I5J6K7-89AB-CDEF-0123-456789ABCDEF
パフォーマンス
- 1階あたり: 0.5-2秒
- 5階建て: 2.5-10秒
ワークフロー例
図面作成の基本ワークフロー
[Excel Import] → [Generate Plans] → [BakePlansToRhino]
↓ ↓ ↓
データ読込 伏図生成 Rhinoに保存プレビュー後の微調整
[Excel Import] → [Generate Plans] → [Preview]
↓
[BakePlansToRhino]関連コンポーネント
- S04. Bake Plans To Rhino - Rhinoへのベイク
- S01. Build Model - 3Dモデル生成
- S02. Structural Analysis Model - 構造解析モデル
- I01. Excel Import - データの読み込み
注意事項
- 図面の単位はExcelファイルのUnitSystemに従う
- Rhinoドキュメントの単位と異なる場合は自動変換される
- Free版では1階のみプレビュー(Pro版推奨)
- テキストサイズは図面スケールに応じて自動調整
トラブルシューティング
Q: 図面が生成されない
A: Structural_PlanシートがExcelファイルに存在するか確認してください。
Q: テキストが小さすぎる/大きすぎる
A: Structural_PlanシートのTextSizeパラメータを調整してください。
Q: "Pro版にアップグレードしてください"と表示される
A: Free版では1階のみ生成されます。全階を生成するにはPro版が必要です。
Q: レイヤー構造が複雑で分かりにくい
A: DataTreeをFlattenして単純なリストにすることもできます。ただし、レイヤー情報は失われます。
Q: 図面間隔が広すぎる/狭すぎる
A: 図面間隔は自動計算されます(建物サイズ + 20m余白)。カスタマイズする場合はコードの修正が必要です。