I have been experimenting with importing SVG files to use as Curves in Blender. However, when I import them using File → Import → Scalable Vector Graphics (.svg)
, they appear tiny and with a slightly-wrong aspect ratio. As an example, here is a simple SVG I tested:
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100">
<rect width="100" height="100"/>
</svg>
This should have a width in the X dimension of 100
and a width in the Y dimension of 100
. However, when imported, it appears with an X dimension of 0.0282228 m
and a Y dimension of 0.0282168 m
, requiring an X-scale of 3543.23454795
and a Y-scale of 3543.98797879
to bring it up to the correct size. I've tested several different SVGs with different sizes, and they all need close to (but not exactly) the same scale factors.
Why do imported SVGs have those particular scale factors, and why is the scale factor slightly different in each dimension?
A logical assumption is that Blender treats SVGs as using different units than Blender itself, but I can't figure out what units that would be. It seems that 100 SVG-units
equals approximately 28.2198 mm
or 1.11102 inches
, neither of which is a clean number, so it doesn't appear that Blender's SVG units are metric or imperial. And whatever units it's actually using, I can't figure out why they differ between dimensions.