Commit Graph

55 Commits

Author SHA1 Message Date
Yorik van Havre
3665b77827 Draft: Added a pref option to disable SVG page scaling on import - fixes #2062 2015-09-05 23:35:52 -03:00
Yorik van Havre
91b2506ccc Changed all references to DraftGeomUtils.sortEdges to Part.__sortEdges__ 2015-09-04 11:54:57 -03:00
Yorik van Havre
38fffd8218 Draft: Enabled importing of SVG's symbol and use elements 2015-06-26 17:01:43 -03:00
Sebastian Hoogen
d4f3cb7277 use transformGeometry in importSVG
partly reverts f045df1ef3 as workaround
for issue #2062
2015-05-09 19:57:36 +02:00
Sebastian Hoogen
2509e59b51 catch non-orthogonal transformation matrix
bugfix for f045df1ef3
2015-01-20 11:26:39 +01:00
Yorik van Havre
8fbe631046 Draft: Fixed svg export view box - fixes #1810 2015-01-17 12:51:09 -02:00
Sebastian Hoogen
f045df1ef3 avoid using transformGeometry in importSVG 2015-01-14 11:56:45 -02:00
Sebastian Hoogen
ca3ad00da8 SVG export: minor improvements and bugfixes
export Names as "id" attributes and Lables to "title" elements.
avoid duplicate path names in SVG export
handle faces with holes in SVG export
sort the edges in given wires using fixWire()
2014-12-23 15:57:57 +01:00
Yorik van Havre
daedcf4f1c Draft: Adapted Draft module for python3 compatibility - issue #995 2014-10-05 19:40:14 -03:00
Sebastian Hoogen
d537fc9b53 try to use Execptions in Draft module 2014-09-17 12:52:36 +02:00
Sebastian Hoogen
51b3a4c945 importSVG: recognize relative scaling in viewBox attribute 2014-07-13 11:37:36 +02:00
Yorik van Havre
3e80fa3d88 Fixes Draft encoding bug - fixes #1487 2014-03-22 13:25:59 -03:00
Sebastian Hoogen
e1931f066f Draft SVG export: fix viewbox for raw output 2014-02-04 15:44:35 -02:00
Yorik van Havre
c3e8a1579b Draft: applied ulrich1a's fix to svg output - fixes #1365 2014-01-26 20:32:35 -02:00
Yorik van Havre
42fdbefc54 0001102: Updated all links to old freecad homepage and wiki to the new ones 2013-09-15 17:04:42 -03:00
Yorik van Havre
1446ee0b69 Draft: Fixes in DXF exporter 2013-08-11 12:46:36 -03:00
Yorik van Havre
c6858f69fd Draft: Fixes bugs from last commit 2013-07-31 13:55:06 -03:00
Yorik van Havre
b3f79881c5 Draft: removed unnecessary uses of DraftVecUtils 2013-07-30 16:48:28 -03:00
Yorik van Havre
31fbfd33ef 0001151: Draft loads Part module at start
+ Fixed loading of Part module at startup
+ Minor cleaning around
2013-06-15 15:39:29 -03:00
Yorik van Havre
8e3e4b20bc 0000946: Draft inserts now set the active document 2013-02-25 19:38:53 -03:00
Sebastian Hoogen
5e46bea2ae 0000962: Attempting to import an SVG file fails
with "invalid literal for int() with base 16"
2013-01-21 11:39:50 +01:00
Sebastian Hoogen
0a876e18c9 bugfix for handling of elipses in importSVG 2013-01-09 15:09:22 +01:00
Yorik van Havre
e29de5dc91 0000866: Draft to sketch 2012-11-02 18:59:31 -02:00
Sebastian Hoogen
7147f3dd55 importSVG: create Face only if path is closed 2012-06-21 15:11:16 +02:00
Sebastian Hoogen
94d389ae1c importSVG: fixes in preserveAspectRatio and sweepflag handling 2012-06-21 14:01:27 +02:00
Yorik van Havre
7086b80cb3 Renamed Draft fcvec and fcgeo modules
Draft/draftlibs/fcvec becomes Draft/DraftVecUtils
Draft/draftlibs/fcgeo becomes Draft/DraftGeomUtils
2012-05-22 11:45:40 -03:00
Yorik van Havre
e607ddf55f unified yorik's email 2012-05-21 22:35:18 -03:00
Sebastian Hoogen
6e69faa86d importSVG support numbers only seperated through a minus sign
in path definition. Like in files created by Adobe Ilustrator.
2012-05-03 11:11:40 +02:00
Sebastian Hoogen
55d6a85216 importSVG: fix viewBox bug and allow nonuniform scaling only if
requested by 'preserveAspectRatio' attribute
2012-04-04 23:15:57 +02:00
Sebastian Hoogen
d567ba1dfe importSVG: ignore the viewBox if not absolute untis are
given for width and height and sort edges before trying to make a wire
2012-04-03 15:23:51 +02:00
Yorik van Havre
f38e6da3c7 Fixed bug 625 in Draft importers 2012-03-12 18:45:47 -03:00
Sebastian Hoogen
5b14931873 importSVG fixed handling of Ellipses 2012-02-23 21:06:04 +01:00
Sebastian Hoogen
96e167edc7 handling of viewBox and units in importSVG
The absolute values in the svg element are used in combination with the
viewBox Attribute to scale the svg to milimeter units.
If there is no viewbox attribute. 90dpi input is assumed.
2012-02-23 21:06:04 +01:00
Sebastian Hoogen
b613925228 importSVG reimplemented getsize using a RegEx 2012-02-12 10:20:48 +01:00
Sebastian Hoogen
4b815347f2 importSVG multiple changes
reordered path command control structure
adding rounded rect and elliptical arc support
2012-02-10 09:36:12 +01:00
Sebastian Kuzminsky
a0e7e4bfcc remove some old dead code 2012-02-10 00:38:13 -07:00
Sebastian Kuzminsky
ff157cf94d export SVG as either 'Translated' or 'Raw'
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.
2012-02-10 00:38:04 -07:00
Sebastian Kuzminsky
5ac5814369 when exporting SVG, map user units to mm so the coordinates make sense
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).
2012-02-10 00:24:21 -07:00
Yorik van Havre
985b7da5b3 Bugfix in Draft custom hatch patterns 2012-01-24 20:30:04 -02:00
Sebastian Hoogen
48c9e2fbe8 Draft importSVG reimplentation of path and transformation parsing
All basic elements besides elliptic arcs and rounded rects are now
supported
2012-01-16 18:51:04 +01:00
Yorik van Havre
dac51d6e9a fixes to Draft SVG importer (shoogen) 2012-01-14 16:14:29 -02:00
Yorik van Havre
1c5f92bebe small fix in Draft importSVG
+ removed unused blocks
+ added description strings
2012-01-09 10:43:20 -02:00
Sebastian Hoogen
43e186186a Small fixes in importSVG 2012-01-09 09:54:02 +01:00
Sebastian Hoogen
432c22d9d7 New Parser for path element in importSVG 2012-01-09 07:21:42 +01:00
Sebastian Hoogen
453e85b55c fixed syntax error in importSVG 2012-01-07 22:45:09 +01:00
Sebastian Hoogen
f527a11403 Added support for ellipse, polygon and polyline in importSVG 2012-01-07 22:06:21 +01:00
Yorik van Havre
649abff877 small fixes to draft SVG import (shoogen) 2012-01-07 13:39:50 -02:00
Yorik van Havre
169abb6f34 Draft SVG importer now supports quadratic and cubic curves (shoogen) 2012-01-06 13:11:19 -02:00
Yorik van Havre
cb4e6b7d30 used precision value from preferences in Draft SVG import 2012-01-05 10:22:06 -02:00
Yorik van Havre
e2f53df835 small bugfix in Draft SVG import 2012-01-05 10:12:25 -02:00