WorkBuddy Visio — Visio 兼容架构图生成器

Polar Sponsor
爱发电 赞助
.NET 9.0

使用 draw.io(.drawio 格式)和 SVG 生成兼容 Microsoft Visio 的架构图。当用户需要以下任一场景时触发: - 用于 Visio 或技术文档的架构/系统/网络图 - 带连接标注的分层控制系统图 - 将 draw.io XML 转换为稳定、可嵌入的 SVG - 修复 Visio 或 draw.io 无法打开的故障排查类图表 - 任何需专业级布局且文本可编辑的图表

Workbuddy Visio — Visio-兼容架构图

功能概述

Workbuddy Visio — Visio-兼容架构图是一项面向实际任务的技能,主要用于Overview.;Generated 专业架构图, 采用双格式方法: . drawio 作为可编辑主, 然后为 Visio im 的 SVG。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

Workbuddy Visio — 兼容 Visio 的架构图

概述

采用双格式方式生成专业级架构图:.drawio 作为可编辑的源文件,再转换为可供 Visio 导入的 SVG 格式。该技能源自现有 Codex 技能(visio-drawio-svg-diagrams),此前尝试直接使用原生 SVG 生成器均告失败——Microsoft Visio 对 SVG 输入格式要求极为严苛,而 drawio_to_svg.py 转换器专为满足其特定需求而设计。

核心工作流:

  1. 编写 Python 脚本生成 .drawio 文件(未压缩的内联 XML 格式)
  2. 运行 drawio_to_svg.py 将其转换为 Visio 兼容的 SVG
  3. 在 Visio 中打开该 SVG 文件;或在 draw.io 中打开 .drawio 文件进行进一步编辑

工作流

步骤 1:生成 .drawio

使用 xml.etree.ElementTree 编写 Python 脚本。draw.io 格式基于 元素:

  • vertex="1" 表示形状/方框
  • edge="1" 表示连接线

关键格式规则:

  • Python 字符串中使用 n 实现多行文本(不可使用
    标签)
  • 原始 XML 中使用 作为换行符实体
  • id="0"id="1" 外,每个 mxCell 均需指定 parent="1"
  • 为确保连线位置稳定,请使用固定端点边(fixed point edges),即显式设置 sourcePoint/targetPoint

顶点(形状/方框)示例:


  

边(连接线)示例:


  
    
    
  

步骤 2:转换为 SVG

python /scripts/drawio_to_svg.py input.drawio output.svg

该转换器生成的 SVG 具备以下特性:

  • 固定端点边,精确复现 draw.io 布局
  • 为每个方框添加独立 clipPath,确保文本严格限制在边界内
  • 响应式字体排版:按高度动态调整字号
    • ≤52px → 紧凑模式(标题 11pt,正文 10pt)
    • 52–70px → 13pt / 11pt
    • 70–90px → 15pt / 12pt
    • ≥90px → 18pt / 13pt
  • 支持中日韩(CJK)与拉丁文混合的智能文本换行
  • 支持箭头标记及虚线样式

步骤 3:验证

交付前请务必确认以下各项:

  • .drawio 文件为合法 XML,且包含内联的 结构
  • 所有 元素均使用 as="geometry"(而非 as_="geometry"
  • 中文标签保持 UTF-8 编码无损
  • SVG 文件为合法 XML
  • 渲染后的 SVG 中无文本溢出方框边界
  • 连线布局与 draw.io 中完全一致

样式参数参考

参数 取值 用途
rounded=1 0/1 启用圆角
whiteSpace=wrap 方框内文本自动换行
strokeWidth 1–3 轮廓线粗细
strokeColor #RRGGBB 线条/轮廓颜色
fillColor #RRGGBB 背景填充色
fontSize 9–18 文字大小(单位:pt)
fontColor #RRGGBB 文字颜色
fontStyle 0/1 0=常规,1=加粗
dashed=1;dashPattern=6 3 虚线样式
endArrow=block / none 连线末端箭头样式

分层模式(三层架构)

一种已在工业控制系统图中验证有效的布局模式:

┌──────────────────────────────────────────────────────────┐
│ [Layer 1: Controller]   ┌─────┐ ┌─────┐ ┌──────────┐   │
│   ┌─────────────────┐   │HMI  │ │IOC  │ │ Database │   │
│   │ Main Controller  │   └─────┘ └─────┘ └──────────┘   │
│   └─────────────────┘                                    │
├──────────────────────────────────────────────────────────┤
│ [Layer 2: EtherCAT Bus]                                 │
│  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐      │
│  │AX8206│ │AX8206│ │Safe │ │EL1808│ │EL3124│ │EL2808│  │
│  └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘      │
├──────────────────────────────────────────────────────────┤
│ [Layer 3: Field Devices]                                │
│  ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ [Notes] │
│  │Motor │ │Encoder│ │Safety│ │Limit │ │PT100 │         │
│  └──────┘ └──────┘ └──────┘ └──────┘ └──────┘         │
└──────────────────────────────────────────────────────────┘
  1. 标题栏 — 画布顶部居中文本
  2. 分层背景 — 左侧带标签的浅色填充圆角矩形
  3. 设备方框 — 各层内部的白色/浅色填充圆角矩形
  4. 总线条 — 横贯总线层的细长条,代表通信主干
  5. 连接线 — 层间垂直连线,并标注协议名称
  6. 注释框 — 位于角落的工程说明

推荐配色方案

角色 填充色 边框色 用途
Layer 1(控制器层) #E8F4FC #90C8E8 浅蓝色
Layer 2(总线/IO 层) #EDFAED #7ECA7E 浅绿色
Layer 3(现场设备层) #FFF6E8 #DDB88A 浅橙色
安全设备 #FFEFEF #CC3333 浅红色强调色
工程注释 #FFFFEE #CCCC99 浅奶油色
EtherCAT 总线 #F0FFF0 #7ECA7E 清新绿色

常见陷阱

  1. ❌ 使用
    实现换行
    — Python 字符串中始终使用 n(原始 XML 中对应 )。在 draw.io 和 SVG 中,
    均会以可见文本形式呈现。
  2. ❌ 小尺寸方框内文本溢出 — 转换器会对超出边界的文本进行裁剪。如需容纳多行内容,请增大方框高度(≥90px),或精简文本内容。
  3. ❌ 缺失 parent="1" — 除 id="0"id="1" 外,所有 mxCell 必须显式声明 parent="1",否则 draw.io 将无法显示该元素。
  4. ❌ 元素重叠 — 请谨慎规划 X/Y 坐标。draw.io 按 ID 顺序渲染,后出现的元素将覆盖在先出现的元素之上。
  5. ❌ 使用编码/压缩的 drawio 文件 — 本转换器仅支持未压缩的内联 XML 格式。若 drawio 文件为 base64 编码,请先在 draw.io 桌面版中打开,再通过“文件 → 导出”导出为未压缩 XML。
  6. ❌ Visio 导入 SVG 失败 — 若 Visio 拒绝导入 SVG,请改用 draw.io 桌面版打开 .drawio 文件,并通过“文件 → 导出”选择所需格式导出。

脚本

scripts/drawio_to_svg.py

核心转换器:将 draw.io XML 转换为 Visio 兼容 SVG。本脚本改编自 Codex 的 visio-drawio-svg-diagrams 技能,成功解决了标准 SVG 生成器无法处理的 Visio SVG 导入问题。

scripts/example_generator.py

用于程序化生成 draw.io 图表的模板脚本。修改坐标、文本和样式即可快速创建新图表。既可作为参考范例,也可直接用作开发起点。

相关专题

更多
WorkBuddy团队协作与任务流程管理实战
WorkBuddy团队协作与任务流程管理实战

本专题围绕 WorkBuddy 协作工具展开,讲解任务分配、项目进度管理、团队协作优化、日程安排及报告生成技巧。通过实战案例,帮助企业提升团队工作效率与沟通协作水平。

2026.06.08

297

16

WorkBuddy协作工具使用与项目管理优化实践
WorkBuddy协作工具使用与项目管理优化实践

本专题聚焦 WorkBuddy 协作工具在企业项目管理中的应用,讲解任务分配、进度跟踪、团队协作、日程管理及报告生成技巧。通过实践案例,帮助团队提升工作效率、优化沟通流程,实现高效协作与项目执行。

2026.05.06

233

21

WorkBuddy安全架构与计费体系
WorkBuddy安全架构与计费体系

透明化WorkBuddy的计费模式与安全保障体系。清晰列出不同版本(免费版、专业版、企业版)的费用结构、功能差异与订阅方式;同时深入解读数据加密、访问控制、合规认证(如GDPR、ISO)等企业级安全特性,让您用得放心。

2026.04.09

184

12

WorkBuddy模型矩阵与技能扩展
WorkBuddy模型矩阵与技能扩展

揭秘WorkBuddy背后的智能引擎。本专题介绍所支持的大语言模型(LLM)类型、如何根据需求切换或配置模型,以及如何通过自定义指令、技能插件(Plugins)扩展WorkBuddy的能力边界,打造专属的智能办公伙伴。

2026.04.09

372

19

WorkBuddy生态集成与API配置
WorkBuddy生态集成与API配置

指导管理员如何将WorkBuddy无缝接入现有办公生态。内容涉及企业微信、钉钉、飞书等主流平台的集成步骤,以及Webhook、API密钥配置、单点登录(SSO)设置等高级接入选项,实现统一入口,提升协作体验。

2026.04.09

615

18

WorkBuddy核心功能与实操模式
WorkBuddy核心功能与实操模式

深入探索WorkBuddy的强大功能。本专题包含智能问答、文档处理、会议纪要生成、日程管理、任务协作等核心模块的操作指南与最佳实践。通过图文并茂的教程,助您快速上手,最大化发挥WorkBuddy的办公效能。

2026.04.09

442

19

WorkBuddy环境搭建与部署指南
WorkBuddy环境搭建与部署指南

提供详尽的WorkBuddy安装与部署指南。无论您是在Windows、Mac、Linux桌面端,还是在服务器或云端环境进行私有化部署,本专题都将一步步指导您完成环境准备、软件下载、安装配置及首次启动,确保系统平稳上线。

2026.04.09

616

26

WorkBuddy产品概览与核心价值
WorkBuddy产品概览与核心价值

本专题将带您快速了解WorkBuddy智能办公助手。内容涵盖产品定义、核心功能概览、适用场景分析以及它如何提升团队效率。无论您是初次接触还是希望深入了解,这里都有您需要的入门知识。

2026.04.09

363

19

WorkBuddy AI教程合集
WorkBuddy AI教程合集

本专题整合了WorkBuddy AI入门到精通合集,阅读专题下面的文章了解更多详细内容。

2026.04.03

907

38

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程