There are two things a user might want when exporting to SVG:
1. A pretty picture, to put on paper or on the screen and show
to humans.
2. An accurate representation of their part, for feeding to CAM
software.
This commit adds a mechanism that lets the user select which of those
two options they want.
A new choice is added to the Draft Preferences. The two options are:
* "Translated (for print and display)", which acts just like before.
The sketch is translated so it fits neatly in the display area.
of the cartesian plane. This is usually what you want if you're
going to display the SVG to humans.
* "Raw (for CAM)", which does not translate the sketch at all.
All sketch coordinates are preserved exactly. This is useful for
feeding the SVG to a CAM program (like PyCAM).
The SVG export function is modified to check this new Preference setting,
and write either "Translated" or "Raw" SVGs as appropriate.
This commit changes SVG export so that the user unit (what SVG calls
'px') is defined to be 1 mm.
This lets us write out the native sketch coordinates in the SVG file,
and the SVG will contain a drawing of the correct size (same size as
what's in FreeCAD).