SVGのサイズが正しく読み込まれない
インポートしたSVGが大きすぎる、または小さすぎます。想定したサイズと異なるサイズになります。
確認できる現象
本来(たとえば)100 mm × 100 mmになるはずのSVGをインポートすると、350 × 350 mmや28 × 28 mm、またはまったく異なるサイズで読み込まれます。
原因
SVGの座標系は柔軟で、ユーザーの意図したサイズと一致しないことがよくあります。単位の解釈は次の要素によって変わります。
- SVGファイルに明示的な
width/heightがあるか(mm、in、pxなどの単位付き)。 - 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単位を明示的に追加するよう編集すれば修正できます。
ファイルを編集したくない場合
- インポート後に均一に拡大縮小します。インポートしたオブジェクトを選択し、Shape Propertiesで目的のW / Hを設定します。
- 倍率を記録し、一貫して適用します。
SVGがAdobe Illustratorからのものである場合
IllustratorのSVGエクスポートには、単位に影響する設定があります。「More options」ペインを開き、次を設定してみてください。
- Decimal places: 4(精度)。
- Encoding: UTF-8。
- Use
<inline>style attributes。
レーザー加工では、IllustratorよりもInkscapeからエクスポートしたほうが、結果を予測しやすくなります。
回避策: インポートしてからサイズを変更する
1回限りのファイルであれば、1回測定し、意図したサイズに拡大縮小してプロジェクトを保存します。同じ元ファイルを次にインポートするときも、同じ倍率が必要です。
動作を確認する
- インポートしたSVGが、Measure toolまたはShape Propertiesで正しいサイズになっている。
- 同じファイルを再度インポートしたときも、常に正しいサイズで読み込まれる。
それでも解決しない場合
- サポートされているインポート形式のリファレンス。
- インポートに失敗する場合のトラブルシューティング: ファイルがまったくインポートされない場合はこちらを参照してください。
- SVGファイルと想定していたサイズを添えて、Facebookグループに投稿してください。