- Gerber Editor: Remade the processing of 'clear_geometry' (geometry generated by polygons made with Gerber LPC command) to work if more than one such polygon exists
This commit is contained in:
16
camlib.py
16
camlib.py
@@ -3183,16 +3183,18 @@ class Gerber (Geometry):
|
||||
temp_geo = []
|
||||
for apid in self.apertures:
|
||||
if 'clear_geometry' in self.apertures[apid]:
|
||||
for clear_geo in self.apertures[apid]['clear_geometry']:
|
||||
for solid_geo in self.apertures[apid]['solid_geometry']:
|
||||
if solid_geo.intersects(clear_geo):
|
||||
res_geo = clear_geo.symmetric_difference(solid_geo)
|
||||
temp_geo.append(res_geo)
|
||||
else:
|
||||
temp_geo.append(solid_geo)
|
||||
clear_geo = cascaded_union(self.apertures[apid]['clear_geometry'])
|
||||
for solid_geo in self.apertures[apid]['solid_geometry']:
|
||||
if clear_geo.intersects(solid_geo):
|
||||
res_geo = clear_geo.symmetric_difference(solid_geo)
|
||||
temp_geo.append(res_geo)
|
||||
else:
|
||||
temp_geo.append(solid_geo)
|
||||
self.apertures[apid]['solid_geometry'] = deepcopy(temp_geo)
|
||||
self.apertures[apid].pop('clear_geometry', None)
|
||||
|
||||
|
||||
|
||||
# --- Apply buffer ---
|
||||
# this treats the case when we are storing geometry as paths
|
||||
self.follow_geometry = follow_buffer
|
||||
|
||||
Reference in New Issue
Block a user