Fix dxf scaling issues

What does the merge request do?

Closes #498 (closed) Closes #388 (closed) Closes #494 (closed)

Implementation notes

The scaling problem was solved by simply setting the desired units in the DXF file, and taking inkscape_scale (which "ignores" units on the viewport attributes) as toplevel transform.

An extra attribute has been added whether the document units should be used as target unit, or something else (e.g. unit type that dxf supports, but svg doesn't, such as m or ft).

This unfortunately breaks the old unit tests because they assumed a base unit of pt (which makes no sense as DXF doesn't even support pt).

Summary for release notes

Several issues in the DXF14 export have been fixed: Documents with non-unity scale are exported correctly, no warning message about missing units is shown when importing the DXF file into Fusion 360 (given the SVG document uses "real-world" units such as mm or in) and a leftover debug message was removed.

Checklist

  • Add unit tests (if applicable)
  • [ ] Changes to inkex/ are well documented
  • Clean merge request history

Merge request reports

Loading