Files
windfarm/README.md
dmy b924f75add docs: 完善项目文档和使用说明
- 更新README.md,补充GUI特性说明和参数配置文档
- 新增使用说明目录,包含完整的操作手册和界面截图
- 优化generate_template.py,支持自定义模板输出路径
- 改进GUI界面布局,优化文件上传和模板导出功能
- 添加系统参数配置说明(电压、功率因数等)
2026-01-05 23:30:29 +08:00

91 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 海上风电场集电系统设计优化工具 (Wind Farm Collector System Optimizer)
一个用于设计和优化海上风电场集电系统拓扑的综合工具。支持多种先进算法,能够根据风机坐标、功率以及海缆规格,自动生成投资成本最低、损耗最小的设计方案。
## 🌟 主要功能
- 🖥️ **原生桌面体验**:支持 Native 模式运行,提供类似本地应用的流畅体验(基于 NiceGUI & PyWebview
- 🌊 **多种布局生成**:内置模拟数据生成器,支持规则网格和随机分布布局。
- 🔌 **先进设计算法**
- **MST (Minimum Spanning Tree)**:无容量约束基准方案。
- **Capacitated Sweep (Base)**:基础扇区扫描分组。
- **Rotational Sweep**:全局最优起始角度旋转扫描优化。
- **Esau-Williams**:经典启发式算法,在距离与容量间寻找最优平衡。
- ⚙️ **灵活参数配置**:支持通过 Excel 自定义系统电压、功率因数及详细电缆规格。
- 📊 **智能方案对比**:自动运行三大场景(标准方案、含可选电缆方案、限制最大截面方案)并对比结果。
- 📁 **多格式导出**
- 自动生成 CAD 图纸 (`.dxf`),按电缆规格分层并着色。
- 导出详细的 Excel 对比报告及单方案电缆清册。
- 支持一键打包导出所有方案压缩包 (`.zip`)。
## 🛠️ 安装依赖
本项目使用 `uv``pip` 管理环境。推荐安装依赖:
```bash
pip install numpy pandas matplotlib scikit-learn scipy networkx ezdxf nicegui openpyxl pywebview
```
*注:`pywebview` 用于支持原生窗口模式。*
## 🚀 使用方法
### 1. 启动图形化界面 (推荐)
运行以下命令启动应用,程序将自动弹出独立窗口:
```bash
python gui.py
```
**GUI 特性:**
- **模板导出**:点击界面上的 "导出 Excel 模板" 按钮可获取标准输入格式文件。
- **参数概览**:上传文件后自动解析并显示系统参数及电缆规格。
- **交互式分析**:点击结果表格中的行,可实时查看对应方案的拓扑图。
### 2. 命令行模式
```bash
python main.py --excel your_data.xlsx
```
## 📝 输入数据规范 (Excel)
为了确保计算结果的准确性,输入 Excel 文件应包含以下 Sheet推荐使用 GUI 导出模板):
### 1. Coordinates (坐标)
| Type | ID | X | Y | Power | PlatformHeight |
|------|----|---|---|-------|----------------|
| Substation | Sub1 | 4000 | -800 | 0 | 0 |
| Turbine | 1 | 0 | 0 | 8.0 | 25 |
| ... | ... | ... | ... | ... | ... |
### 2. Cables (电缆)
**必须遵守以下规则:**
- **单调递增性**:电缆必须按截面从小到大排列,且对应的额定载流量也必须严格递增。
- **可选电缆规则**
- `Optional` 列标记为 'Y' 的电缆最多只能有一条。
- 若存在可选电缆,它必须是列表中截面最大的一条。
### 3. Parameters (参数) [可选]
可自定义系统级参数,若不提供则使用默认值。
| Parameter | Value | 说明 |
|-----------|-------|------|
| Voltage (kV) | 66 | 系统电压,支持 `Voltage``System Voltage`。若 key 包含 `kV` 则自动 *1000。 |
| Power Factor | 0.95 | 功率因数 (0-1)。 |
## 📈 场景说明 (Scenarios)
1. **Scenario 1 (Standard)**:仅使用非可选(标准)电缆进行优化。
2. **Scenario 2 (With Optional)**:包含标记为 'Y' 的大型电缆,适用于尝试增加单回路容量的场景。
3. **Scenario 3 (No Max)**:排除最大截面电缆,测试在电缆供应受限时的最优拓扑。
## 📂 输出文件说明
- **Excel 报告**`[文件名]_result.xlsx` 包含所有方案的总览及详细连接清单。
- **CAD 图纸**`design_[方案名].dxf` 包含分层分色的拓扑图。
- **全部方案**`[文件名]_result.zip` 包含所有图纸及 Excel 报告。
## ⚖️ 许可证
本项目仅供工程学习、研究和初步设计评估使用。详细计算应以专业设计院规范为准。