石化プラント向け電気系統図(Single Line Diagram, SLD)を自動生成するデスクトップアプリです。
React 19 + TypeScript + Vite + Tailwind CSS v4 で実装され、Electron によりデスクトップアプリとして配布できます。
- 自動モード:負荷リストを入力するだけで、Switchgear / MCC / 変圧器などを含む SLD を自動生成
- 手動エディタ:自動生成結果を修正、またはゼロから SLD を描画
- 電気室レイアウト:生成した機器を電気室の平面レイアウトに配置
- 短絡電流計算:IEC 60909 に基づく三相短絡電流を母線ごとに算出
- 盤サイズ計算:HV/LV の SG・MCC の列数・幅を自動算出
- プロジェクト保存/読込:JSON 形式で設定・負荷・SLD を一括保存
# 依存インストール
npm install
# 開発モード(ブラウザで確認)
npm run dev
# Electron デスクトップアプリとして起動
npm run dev # ターミナル 1
npm run electron # ターミナル 2(別ターミナル)
# Windows インストーラーをビルド
npm run dist # release/ フォルダに出力src/
├── App.tsx メイン画面(モード切替・状態管理)
├── components/
│ ├── SLDCanvas.tsx SLD 描画キャンバス
│ ├── ManualSLDEditor.tsx 手動エディタ
│ ├── LayoutTab.tsx 電気室レイアウト(iframe ラッパー)
│ ├── PanelSizingTab.tsx 盤サイズ計算タブ
│ ├── LoadTable.tsx 負荷リスト入力表
│ ├── EquipmentDetail.tsx 機器詳細表示
│ ├── EquipmentListPanel.tsx 機器リスト
│ ├── ConnectionsPanel.tsx 接続情報
│ ├── LoadAssignmentPanel.tsx 負荷割当変更
│ ├── LoadSummaryBar.tsx 下部負荷サマリー
│ ├── symbols/ SLD 描画用シンボル(CB/変圧器/モーター等)
│ └── ui/ 汎用 UI(NumericInput / ResizeHandle)
├── engines/
│ ├── equipmentDesign.ts 負荷から機器構成を設計
│ ├── sldLayout.ts SLD 自動レイアウト
│ ├── shortCircuit.ts 短絡電流計算(IEC 60909)
│ ├── loadCalculation.ts 負荷集計
│ ├── panelSizing.ts 盤サイズ計算
│ ├── sldToLayout.ts SLD → 電気室レイアウト変換
│ └── connectionEdit.ts 接続編集
├── types/ TypeScript 型定義
└── data/ サンプルデータ・既定値
public/layout-engine/
└── electric-room-layout.html 電気室レイアウトエンジン(iframe で読込)
electron/
└── main.js Electron エントリポイント
詳細な操作方法は HELP.md を参照してください。
Private.