- done regression to solve the bug with multiple passes cutting from the copper features (I should remember not to make mods here)
- if 'combine' is checked in Gerber isolation but there is only one pass, the resulting geometry will still be single geo - the 'passes' entry was changed to a IntSpinner so it will allow passes to be entered only in range (1, 999) - it will not allow entry of 0 which may create some issues
This commit is contained in:
26
camlib.py
26
camlib.py
@@ -554,22 +554,18 @@ class Geometry(object):
|
||||
if follow:
|
||||
geo_iso = self.follow_geometry
|
||||
else:
|
||||
if corner is None:
|
||||
try:
|
||||
__ = iter(self.solid_geometry)
|
||||
for el in self.solid_geometry:
|
||||
geo_iso.append(el.buffer(offset, int(int(self.geo_steps_per_circle) / 4)))
|
||||
except TypeError:
|
||||
geo_iso = [self.solid_geometry.buffer(offset, int(int(self.geo_steps_per_circle) / 4))]
|
||||
if isinstance(self.solid_geometry, list):
|
||||
temp_geo = cascaded_union(self.solid_geometry)
|
||||
else:
|
||||
try:
|
||||
__ = iter(self.solid_geometry)
|
||||
for el in self.solid_geometry:
|
||||
geo_iso.append(el.buffer(offset, int(int(self.geo_steps_per_circle) / 4),
|
||||
join_style=corner))
|
||||
except TypeError:
|
||||
geo_iso = [self.solid_geometry.buffer(offset, int(int(self.geo_steps_per_circle) / 4),
|
||||
join_style=corner)]
|
||||
temp_geo = self.solid_geometry
|
||||
|
||||
# Remember: do not make a buffer for each element in the solid_geometry because it will cut into
|
||||
# other copper features
|
||||
if corner is None:
|
||||
geo_iso = temp_geo.buffer(offset, int(int(self.geo_steps_per_circle) / 4))
|
||||
else:
|
||||
geo_iso = temp_geo.buffer(offset, int(int(self.geo_steps_per_circle) / 4),
|
||||
join_style=corner)
|
||||
|
||||
# end of replaced block
|
||||
if follow:
|
||||
|
||||
Reference in New Issue
Block a user