- made sure that if using an negative Gerber isolation diameter, the resulting Geometry object will use a tool with positive diameter
- fixed bug that when isolating a Gerber file made out of a single polygon, an Recurrsion Exception was issued together with inability to create tbe isolation
This commit is contained in:
@@ -841,7 +841,6 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
|
|||||||
:param outname: Base name of the output object
|
:param outname: Base name of the output object
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if dia is None:
|
if dia is None:
|
||||||
dia = float(self.options["isotooldia"])
|
dia = float(self.options["isotooldia"])
|
||||||
if passes is None:
|
if passes is None:
|
||||||
@@ -872,7 +871,7 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
|
|||||||
try:
|
try:
|
||||||
geom = self.isolation_geometry(offset, iso_type=envelope_iso_type, follow=follow)
|
geom = self.isolation_geometry(offset, iso_type=envelope_iso_type, follow=follow)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.debug(str(e))
|
log.debug('FlatCAMGerber.isolate().generate_envelope() --> %s' % str(e))
|
||||||
return 'fail'
|
return 'fail'
|
||||||
|
|
||||||
if invert:
|
if invert:
|
||||||
@@ -890,6 +889,9 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
|
|||||||
log.debug("FlatCAMGerber.isolate().generate_envelope() Error --> %s" % str(e))
|
log.debug("FlatCAMGerber.isolate().generate_envelope() Error --> %s" % str(e))
|
||||||
return geom
|
return geom
|
||||||
|
|
||||||
|
if float(self.options["isotooldia"]) < 0:
|
||||||
|
self.options["isotooldia"] = -self.options["isotooldia"]
|
||||||
|
|
||||||
if combine:
|
if combine:
|
||||||
if self.iso_type == 0:
|
if self.iso_type == 0:
|
||||||
iso_name = self.options["name"] + "_ext_iso"
|
iso_name = self.options["name"] + "_ext_iso"
|
||||||
|
|||||||
@@ -9,6 +9,11 @@ CAD program, and create G-Code for Isolation routing.
|
|||||||
|
|
||||||
=================================================
|
=================================================
|
||||||
|
|
||||||
|
5.08.2019
|
||||||
|
|
||||||
|
- made sure that if using an negative Gerber isolation diameter, the resulting Geometry object will use a tool with positive diameter
|
||||||
|
- fixed bug that when isolating a Gerber file made out of a single polygon, an Recurrsion Exception was issued together with inability to create tbe isolation
|
||||||
|
|
||||||
3.08.2019
|
3.08.2019
|
||||||
|
|
||||||
- added project name to the window title
|
- added project name to the window title
|
||||||
|
|||||||
14
camlib.py
14
camlib.py
@@ -543,6 +543,7 @@ class Geometry(object):
|
|||||||
|
|
||||||
# the previously commented block is replaced with this block - regression - to solve the bug with multiple
|
# the previously commented block is replaced with this block - regression - to solve the bug with multiple
|
||||||
# isolation passes cutting from the copper features
|
# isolation passes cutting from the copper features
|
||||||
|
|
||||||
if offset == 0:
|
if offset == 0:
|
||||||
if follow:
|
if follow:
|
||||||
geo_iso = self.follow_geometry
|
geo_iso = self.follow_geometry
|
||||||
@@ -553,10 +554,17 @@ class Geometry(object):
|
|||||||
geo_iso = self.follow_geometry
|
geo_iso = self.follow_geometry
|
||||||
else:
|
else:
|
||||||
if corner is None:
|
if corner is None:
|
||||||
geo_iso = self.solid_geometry.buffer(offset, int(int(self.geo_steps_per_circle) / 4))
|
if type(self.solid_geometry) is list and len(self.solid_geometry) == 1:
|
||||||
|
geo_iso = self.solid_geometry[0].buffer(offset, int(int(self.geo_steps_per_circle) / 4))
|
||||||
|
else:
|
||||||
|
geo_iso = self.solid_geometry.buffer(offset, int(int(self.geo_steps_per_circle) / 4))
|
||||||
else:
|
else:
|
||||||
geo_iso = self.solid_geometry.buffer(offset, int(int(self.geo_steps_per_circle) / 4),
|
if type(self.solid_geometry) is list and len(self.solid_geometry) == 1:
|
||||||
join_style=corner)
|
geo_iso = self.solid_geometry.buffer[0](offset, int(int(self.geo_steps_per_circle) / 4),
|
||||||
|
join_style=corner)
|
||||||
|
else:
|
||||||
|
geo_iso = self.solid_geometry.buffer(offset, int(int(self.geo_steps_per_circle) / 4),
|
||||||
|
join_style=corner)
|
||||||
|
|
||||||
# end of replaced block
|
# end of replaced block
|
||||||
if follow:
|
if follow:
|
||||||
|
|||||||
Reference in New Issue
Block a user