跳到主要内容
Vecaria

SVG 路径布尔

本地处理

对 SVG 中两个路径/图形做布尔运算:联合、相减、相交、排除、分割,结果下载为 SVG;浏览器本地处理、不上传、免登录。

当前为示例数据(两个相交圆),可直接点「运行」试用;编辑输入后本提示消失。

输入预览:检测到 2 个可布尔路径/图形(按文档顺序编号,A=0、B=1)

A/B 可画布点选:先点「点选 A/B」再点画布中的图形(高亮着色:A 蓝青、B 琥珀),也可按文档顺序用序号输入指定(画布序号标注兜底)。结果可下载为 SVG。

使用方法

  1. 粘贴或输入 SVG(包含至少两个路径/图形;预填双圆示例,可直接点「运行」试用);输入预览即时显示可布尔图形计数与被忽略的 / 数
  2. 选择运算(联合/相减/相交/排除/分割),画布点选或按文档顺序序号指定 A、B
  3. 运行并查看结果预览,下载结果 SVG;退化结果(如相离相交)会得到明确的空结果提示而非静默空文件

功能说明

  • 联合 A ∪ B、相减 A − B、相交 A ∩ B、排除 A ⊕ B、分割
  • 画布点选 A/B(Paper.js hitTest 命中即指派,A 蓝青/B 琥珀高亮);画布序号标注 + 序号输入兜底,不再盲选
  • / 被忽略时琥珀计数披露,文字先转轮廓即可参与
  • 结果样式取自 A(B 的填充/描边样式不保留;缺失时兜底深灰)
  • 仅相减(A − B)依赖 A/B 顺序;联合/相交/排除/分割对 A/B 对称
  • 基于 Paper.js(MIT)路径布尔,浏览器本地完成

常见问题

怎么在 SVG 图形里挖孔/开槽?

用相减(A − B):把外框设为 A、孔设为 B,相减即从 A 中切掉 B。激光切割、模板漏印、镂空 logo 的挖孔/开槽用相减最快。

怎么把两个图形合并成一条路径?

用联合:重叠区域合并为一条干净路径,结果导出为单个 SVG。配合相减可做复合图形;想去掉重叠区域改用排除。

分割(divide)是做什么的?

分割沿重叠边界把图形切成几块,所有结果都保留——用于把一个图形拆成多个可再编辑的零件,而不是合并。

用的是哪个布尔引擎?

Paper.js(MIT),浏览器本地计算,与一众基于 Paper.js 的网页 SVG 编辑器同一套布尔运算;输入不发送服务器。

隐私

本工具在浏览器本地处理,输入内容不会上传服务器。

TL;DR: 两个 SVG 路径做布尔运算(联合/相减/相交/排除/分割),导出单条结果路径,浏览器本地完成、不上传。

示例

  • 粘贴 SVG(含两个圆)→ 选择联合/相交 → 下载结果 SVG

支持的格式

SVG

限制说明

  • 画布点选指派 A/B(先点「点选 A/B」武装,再点击画布中的图形,A 蓝青/B 琥珀高亮);序号输入与画布序号标注保留为兜底
  • <text> 与 <image> 元素不参与布尔——被忽略并计数披露;文字请先在设计工具中转为轮廓/路径
  • 退化结果响亮提示:相交无重叠区域(intersect 为空)或 B 完全覆盖 A(subtract 为空)时不会静默导出空路径 SVG
  • 结果样式取自 A(B 的填充/描边样式不保留;缺失时兜底深灰)
  • 基于 Paper.js(MIT)在浏览器本地计算
  • 浏览器本地处理,不上传