Beam Bench文档

SVG导入后的尺寸不正确

导入的SVG过大或过小,与你预期的尺寸不一致。

你会看到

你导入了一个确定应为(例如)100 mm × 100 mm的SVG,但导入后变成了350 × 350 mm、28 × 28 mm,或完全不同的尺寸。

发生了什幺

SVG的坐标系非常灵活,通常与用户意图不一致。单位的判定取决于:

  • SVG文档是否明确设置了带单位的width / height(例如mminpx)。
  • SVG文档是否设置了viewBox
  • 源应用如何解释“1 unit”。

常见问题:

  • SVG只有viewBox(没有带单位的width/height)。Beam Bench会猜测单位。
  • SVG导出时使用了像素单位,而Beam Bench将其视为mm(反之亦然)。
  • 导出时应用了缩放因子。

修复方法

如果SVG正好大了3.78x

SVG使用的是像素,但被当作mm处理。96 DPI下,1 pixel = 1/96 inch = 0.265 mm;但Beam Bench可能将1 unit = 1 pixel = 1 mm,因此产生1 / 0.265 ≈ 3.78的比例。

在Inkscape中打开SVG,将文档单位明确设置为mm,保存后重新导入。

如果SVG的尺寸比例偏差不同

在文本编辑器中打开SVG,查看<svg>元素:

<svg width="100mm" height="100mm" viewBox="0 0 100 100">

viewBox是内部坐标空间。如果缺少width/height,或它们使用像素单位,通常可以通过编辑并明确添加mm单位来修复。

如果你不想编辑文档

  • 先导入,再统一缩放。选择导入的对象,使用形状属性设置所需的W / H。
  • 记下缩放因子,并始终使用相同的因子。

如果SVG来自Adobe Illustrator

Illustrator的SVG导出设置会影响单位。尝试打开“更多选项”面板并设置:

  • Decimal places:4(精度)。
  • Encoding:UTF-8。
  • Use <inline> style attributes。

对于激光加工,从Inkscape导出通常比从Illustrator导出更可预测。

变通方法:导入后调整大小

对于一次性文档,只需测量一次,将其缩放到目标尺寸,然后保存项目。下次导入同一源文档时,仍需使用相同的缩放比例。

验证是否生效

  • 使用测量工具或在形状属性中检查,导入的SVG尺寸正确。
  • 再次导入同一文档时,尺寸始终正确。

仍然无法解决?

On this page