- trying to optimize the resulting geometry in DXF import (and in SVG import) by merging contiguous lines; reduced the lines to about one third of the original
This commit is contained in:
parent
2fb786f498
commit
ce4b6a5a85
|
@ -7,6 +7,10 @@ CHANGELOG for FlatCAM beta
|
|||
|
||||
=================================================
|
||||
|
||||
2.07.2020
|
||||
|
||||
- trying to optimize the resulting geometry in DXF import (and in SVG import) by merging contiguous lines; reduced the lines to about one third of the original
|
||||
|
||||
30.06.2020
|
||||
|
||||
- fixed the SVG parser so the SVG files with no information regarding the 'height' can be opened in FlatCAM; fixed issue #433
|
||||
|
|
|
@ -25,7 +25,7 @@ from lxml import etree as ET
|
|||
from shapely.geometry import Polygon, LineString, Point, LinearRing, MultiLineString, MultiPoint, MultiPolygon
|
||||
|
||||
from shapely.geometry import box as shply_box
|
||||
from shapely.ops import cascaded_union, unary_union, substring
|
||||
from shapely.ops import cascaded_union, unary_union, substring, linemerge
|
||||
import shapely.affinity as affinity
|
||||
from shapely.wkt import loads as sloads
|
||||
from shapely.wkt import dumps as sdumps
|
||||
|
@ -1057,6 +1057,9 @@ class Geometry(object):
|
|||
if flip:
|
||||
geos = [translate(scale(g, 1.0, -1.0, origin=(0, 0)), yoff=h) for g in geos]
|
||||
|
||||
# trying to optimize the resulting geometry by merging contiguous lines
|
||||
geos = linemerge(geos)
|
||||
|
||||
# Add to object
|
||||
if self.solid_geometry is None:
|
||||
self.solid_geometry = []
|
||||
|
@ -1098,6 +1101,8 @@ class Geometry(object):
|
|||
# Parse into list of shapely objects
|
||||
dxf = ezdxf.readfile(filename)
|
||||
geos = getdxfgeo(dxf)
|
||||
# trying to optimize the resulting geometry by merging contiguous lines
|
||||
geos = linemerge(geos)
|
||||
|
||||
# Add to object
|
||||
if self.solid_geometry is None:
|
||||
|
|
Loading…
Reference in New Issue