跳转至

ConfigTools 工业级自动化配置工具介绍

🔗 GitLab 仓库链接Utilities/ConfigTools

ConfigTools 是一款基于 Qt/C++ (C++17) 编写的高性能工业级图形化配置应用。项目专门为模块化自动化系统(例如西门子 TIA Portal)的物理 and 逻辑部署而设计,内置高逼真 42U 机柜物理仿真、智能硬件装配冲突检测、撤销/重做操作记录栈以及一键式工程报表生成引擎。

🌟 核心特性

  1. 高逼真 42U 机柜物理仿真
  2. 建立在精确的 1U = 50px 网格坐标系统之上,渲染包含标尺和物理导轨的虚拟机柜。
  3. 支持拖拽交互与磁吸附对齐(Magnetic Snapping),且内置实时物理碰撞检测,当放置位置无效时提供物理回弹动画反馈。
  4. 严谨的 MVC 数据与图形架构
  5. 采用高度解耦的 “机柜 -> 设备 -> 插槽 -> 模块” 层级化树形数据结构。
  6. 支持插槽数量在运行时进行动态增删与自适应重排版。
  7. 基于 QUndoStack 的撤销重做命令系统
  8. 完整实现了命令模式(Command Pattern),所有增删、拖拽移动、属性更改以及插槽调整等操作均被命令栈捕获,实现无缝的 Undo / Redo
  9. 一键生成 “四合一” 自动化 Excel 报表
  10. 深度集成开源库 QXlsx,能够将配置结果自动转换为极具表现力的四页签专业 Excel 报表:
    • Topology (机柜拓扑图):物理排列直观图形化展现,带智能单元格合并。
    • BOM (物料清单):列出每种设备的具体物理插槽位置、数量与计算单价。
    • I/O Mapping (I/O地址分配):自动推导和分配每个信号通道的逻辑 I/O 地址。
    • Cost Analysis (成本核算):统计单柜及整系统的采购资金,支持多税率核算。
  11. 项目生命周期与打包保护
  12. 支持保存校验、未保存退出提示,并提供快速键位支持(Ctrl+S / Ctrl+Shift+S)。
  13. 可一键打包并导出 .ctproj 工程压缩包(内置 ZIP 序列化),便于异地协作与工程归档。
  14. 精致的工业风主题与多语言
  15. 采用定制开发的 Catppuccin Mocha 现代化暗黑工业风 QSS 样式表,降低长时间配置作业的眼部疲劳。
  16. 原生支持中英文双语实时运行时无缝切换。

📁 项目结构

ConfigTools/ (项目根目录)
 ├── config/        # 默认硬件库目录及系统模板
 ├── docs/          # 11阶段的系统开发路线图与详细设计文档
 ├── i18n/          # 多语言翻译源文件 (.ts / .qm)
 ├── src/           # 核心业务逻辑与 UI 界面代码
 │   ├── commands/  # 基于 QUndoCommand 的各类交互动作命令
 │   ├── core/      # 树状数据模型、配置管理与 ZIP 序列化逻辑
 │   ├── export/    # QXlsx 自动化报表导出与 .ctproj 读写逻辑
 │   ├── graphics/  # 机柜、卡件与连线图形场景渲染器 (QGraphicsScene)
 │   └── widgets/   # 属性编辑器、设备树及主界面窗口组件
 ├── templates/     # 报表导出所需的 Excel 预置格式样板
 ├── tests/         # 基于 QtTest 的单元测试套件
 └── third_party/   # 内置依赖库 (QXlsx, miniz 压缩库等)

REF

[1]. about/index.md

[2]. README.md