- 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:
Marius Stanciu 2019-04-13 22:56:46 +03:00
parent 9d508a6840
commit 84f3166e2f
3 changed files with 15 additions and 9 deletions

View File

@ -94,8 +94,8 @@ class App(QtCore.QObject):
log.addHandler(handler)
# Version
version = 8.913
version_date = "2019/04/13"
version = 8.914
version_date = "2019/04/20"
beta = True
# current date now

View File

@ -9,6 +9,10 @@ CAD program, and create G-Code for Isolation routing.
=================================================
14.04.2019
- 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
13.04.2019
- updating the German translation

View File

@ -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