- 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)
|
||||
|
||||
# Version
|
||||
version = 8.903
|
||||
version_date = "2019/01/23"
|
||||
version = 8.904
|
||||
version_date = "2019/01/24"
|
||||
beta = True
|
||||
|
||||
# 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
|
||||
|
||||
- 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)
|
||||
# assert isinstance(app_obj, App)
|
||||
|
||||
geo_obj.solid_geometry = []
|
||||
try:
|
||||
poly_buf = poly.buffer(-paint_margin)
|
||||
def paint_p(polyg):
|
||||
if paint_method == "seed":
|
||||
# Type(cp) == FlatCAMRTreeStorage | None
|
||||
cp = self.clear_polygon2(poly_buf,
|
||||
cp = self.clear_polygon2(polyg,
|
||||
tooldia=tooldia,
|
||||
steps_per_circle=self.app.defaults["geometry_circle_steps"],
|
||||
overlap=overlap,
|
||||
|
@ -766,7 +764,7 @@ class ToolPaint(FlatCAMTool, Gerber):
|
|||
|
||||
elif paint_method == "lines":
|
||||
# Type(cp) == FlatCAMRTreeStorage | None
|
||||
cp = self.clear_polygon3(poly_buf,
|
||||
cp = self.clear_polygon3(polyg,
|
||||
tooldia=tooldia,
|
||||
steps_per_circle=self.app.defaults["geometry_circle_steps"],
|
||||
overlap=overlap,
|
||||
|
@ -775,7 +773,7 @@ class ToolPaint(FlatCAMTool, Gerber):
|
|||
|
||||
else:
|
||||
# Type(cp) == FlatCAMRTreeStorage | None
|
||||
cp = self.clear_polygon(poly_buf,
|
||||
cp = self.clear_polygon(polyg,
|
||||
tooldia=tooldia,
|
||||
steps_per_circle=self.app.defaults["geometry_circle_steps"],
|
||||
overlap=overlap,
|
||||
|
@ -784,9 +782,19 @@ class ToolPaint(FlatCAMTool, Gerber):
|
|||
|
||||
if cp is not None:
|
||||
geo_obj.solid_geometry += list(cp.get_objects())
|
||||
return cp
|
||||
else:
|
||||
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:
|
||||
log.debug("Could not Paint the polygons. %s" % str(e))
|
||||
self.app.inform.emit(
|
||||
|
|
Loading…
Reference in New Issue