- 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:
Marius Stanciu
2019-08-05 01:02:19 +03:00
parent 8a17575525
commit afdff59aff
3 changed files with 20 additions and 5 deletions

View File

@@ -543,6 +543,7 @@ class Geometry(object):
# the previously commented block is replaced with this block - regression - to solve the bug with multiple
# isolation passes cutting from the copper features
if offset == 0:
if follow:
geo_iso = self.follow_geometry
@@ -553,10 +554,17 @@ class Geometry(object):
geo_iso = self.follow_geometry
else:
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:
geo_iso = self.solid_geometry.buffer(offset, int(int(self.geo_steps_per_circle) / 4),
join_style=corner)
if type(self.solid_geometry) is list and len(self.solid_geometry) == 1:
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
if follow: