Skip to content

cquyxp/AutoEBlabel

Repository files navigation

AutoEBlabel - 电气系统图生成引擎

数据驱动的 AutoCAD 电气系统图生成工具,输入 JSON,输出 DXF。

功能特性

  • 数据唯一真源(SSOT):所有信息存储在 JSON
  • 参数覆盖:支持手动修改断路器、电缆选型
  • 引用自动聚合:上级配电箱自动汇总下级箱的总负荷
  • XData 标记:生成的图元带 ELEC_SYS 扩展数据,安全重绘
  • 块定义清单:自动输出所需的所有块名称清单

安装

pip install -r requirements.txt

GUI 依赖单独安装:

pip install -r requirements-gui.txt

运行

# CLI 示例项目
python run.py

# GUI 模式
python main.py

示例项目已包含完整结构(project.json、systems/、constraints/、parameter_overrides/),输出在 examples/sample_project/output/,包含 .dxf、.xlsx 和 report.json。

测试

python -m pytest tests/ -v

测试临时目录固定在项目内的 .test-run/,用于规避 Windows 系统临时目录权限问题。该目录不会进入版本管理。

获取块定义清单

系统提供两种方式获取所需的块定义清单:

方式 1: 独立脚本

# 输出到控制台
python list_required_blocks.py

# 输出到控制台并保存到 JSON 文件
python list_required_blocks.py --output my_blocks.json

# 使用自定义配置文件
python list_required_blocks.py --config my_fm_config.json

方式 2: 查看生成报告

每次运行 run.py 后,输出目录中会生成 report.json,其中包含:

  • required_blocks: 所有需要的块定义清单
  • generated_systems: 每个系统的生成状态

如何使用块清单

  1. 运行 python list_required_blocks.py 获取块清单
  2. 在 AutoCAD 中创建每个块,确保:
    • 块名称与清单完全一致(区分大小写)
    • 尺寸按建议的 width/height 设置
    • 插入基点建议为 (0,0)
  3. 将这些块保存到 .dwg 模板文件中
  4. 引擎生成的 DXF 打开时块会正确显示

项目结构

核心结构见 docs/PROJECT_MAP.mdCLAUDE.md 保留给 AI 协作上下文,INTEGRATION_README.mdREFACTOR_LOG.md 记录历史集成过程。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages