- trying to fix painting single when the actual painted object it's a MultiPolygon
This commit is contained in:
parent
d71958262a
commit
037b9657ff
|
@ -90,8 +90,8 @@ class App(QtCore.QObject):
|
||||||
log.addHandler(handler)
|
log.addHandler(handler)
|
||||||
|
|
||||||
# Version
|
# Version
|
||||||
version = 8.903
|
version = 8.904
|
||||||
version_date = "2019/01/23"
|
version_date = "2019/01/24"
|
||||||
beta = True
|
beta = True
|
||||||
|
|
||||||
# URL for update checks and statistics
|
# URL for update checks and statistics
|
||||||
|
|
|
@ -9,6 +9,10 @@ CAD program, and create G-Code for Isolation routing.
|
||||||
|
|
||||||
=================================================
|
=================================================
|
||||||
|
|
||||||
|
24.01.2019
|
||||||
|
|
||||||
|
- trying to fix painting single when the actual painted object it's a MultiPolygon
|
||||||
|
|
||||||
23.01.2019
|
23.01.2019
|
||||||
|
|
||||||
- added a new postprocessor file named 'line_xyz' which have x, y, z values on the same GCode line
|
- added a new postprocessor file named 'line_xyz' which have x, y, z values on the same GCode line
|
||||||
|
|
|
@ -752,12 +752,10 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||||
"Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
|
"Initializer expected a FlatCAMGeometry, got %s" % type(geo_obj)
|
||||||
# assert isinstance(app_obj, App)
|
# assert isinstance(app_obj, App)
|
||||||
|
|
||||||
geo_obj.solid_geometry = []
|
def paint_p(polyg):
|
||||||
try:
|
|
||||||
poly_buf = poly.buffer(-paint_margin)
|
|
||||||
if paint_method == "seed":
|
if paint_method == "seed":
|
||||||
# Type(cp) == FlatCAMRTreeStorage | None
|
# Type(cp) == FlatCAMRTreeStorage | None
|
||||||
cp = self.clear_polygon2(poly_buf,
|
cp = self.clear_polygon2(polyg,
|
||||||
tooldia=tooldia,
|
tooldia=tooldia,
|
||||||
steps_per_circle=self.app.defaults["geometry_circle_steps"],
|
steps_per_circle=self.app.defaults["geometry_circle_steps"],
|
||||||
overlap=overlap,
|
overlap=overlap,
|
||||||
|
@ -766,7 +764,7 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||||
|
|
||||||
elif paint_method == "lines":
|
elif paint_method == "lines":
|
||||||
# Type(cp) == FlatCAMRTreeStorage | None
|
# Type(cp) == FlatCAMRTreeStorage | None
|
||||||
cp = self.clear_polygon3(poly_buf,
|
cp = self.clear_polygon3(polyg,
|
||||||
tooldia=tooldia,
|
tooldia=tooldia,
|
||||||
steps_per_circle=self.app.defaults["geometry_circle_steps"],
|
steps_per_circle=self.app.defaults["geometry_circle_steps"],
|
||||||
overlap=overlap,
|
overlap=overlap,
|
||||||
|
@ -775,7 +773,7 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# Type(cp) == FlatCAMRTreeStorage | None
|
# Type(cp) == FlatCAMRTreeStorage | None
|
||||||
cp = self.clear_polygon(poly_buf,
|
cp = self.clear_polygon(polyg,
|
||||||
tooldia=tooldia,
|
tooldia=tooldia,
|
||||||
steps_per_circle=self.app.defaults["geometry_circle_steps"],
|
steps_per_circle=self.app.defaults["geometry_circle_steps"],
|
||||||
overlap=overlap,
|
overlap=overlap,
|
||||||
|
@ -784,9 +782,19 @@ class ToolPaint(FlatCAMTool, Gerber):
|
||||||
|
|
||||||
if cp is not None:
|
if cp is not None:
|
||||||
geo_obj.solid_geometry += list(cp.get_objects())
|
geo_obj.solid_geometry += list(cp.get_objects())
|
||||||
|
return cp
|
||||||
else:
|
else:
|
||||||
self.app.inform.emit('[error_notcl] Geometry could not be painted completely')
|
self.app.inform.emit('[error_notcl] Geometry could not be painted completely')
|
||||||
return
|
return None
|
||||||
|
|
||||||
|
geo_obj.solid_geometry = []
|
||||||
|
try:
|
||||||
|
poly_buf = poly.buffer(-paint_margin)
|
||||||
|
if isinstance(poly_buf, MultiPolygon):
|
||||||
|
for pp in poly_buf:
|
||||||
|
cp = paint_p(pp)
|
||||||
|
else:
|
||||||
|
cp = paint_p(poly_buf)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.debug("Could not Paint the polygons. %s" % str(e))
|
log.debug("Could not Paint the polygons. %s" % str(e))
|
||||||
self.app.inform.emit(
|
self.app.inform.emit(
|
||||||
|
|
Loading…
Reference in New Issue