|
|
@@ -554,22 +554,18 @@ class Geometry(object):
|
|
|
if follow:
|
|
|
geo_iso = self.follow_geometry
|
|
|
else:
|
|
|
+ if isinstance(self.solid_geometry, list):
|
|
|
+ temp_geo = cascaded_union(self.solid_geometry)
|
|
|
+ else:
|
|
|
+ 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:
|
|
|
- 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))]
|
|
|
+ geo_iso = temp_geo.buffer(offset, int(int(self.geo_steps_per_circle) / 4))
|
|
|
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)]
|
|
|
+ geo_iso = temp_geo.buffer(offset, int(int(self.geo_steps_per_circle) / 4),
|
|
|
+ join_style=corner)
|
|
|
|
|
|
# end of replaced block
|
|
|
if follow:
|