- in Gerber isolation section, the tool dia value is updated when changing from Circular to V-shape and reverse

- in Tool Film, when punching holes in a positive film, if the resulting object geometry is the same as the source object geometry, the film will not ge generated
This commit is contained in:
Marius Stanciu 2019-10-04 20:43:22 +03:00 committed by Marius
parent f06888e4fb
commit 01a9763ad6
3 changed files with 18 additions and 2 deletions

View File

@ -727,6 +727,8 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
self.ui.cutzlabel.hide()
self.ui.cutz_spinner.hide()
self.ui.iso_tool_dia_entry.setDisabled(False)
# update the value in the self.iso_tool_dia_entry once this is selected
self.ui.iso_tool_dia_entry.set_value(self.options['isotooldia'])
else:
self.ui.tipdialabel.show()
self.ui.tipdia_spinner.show()
@ -735,6 +737,8 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
self.ui.cutzlabel.show()
self.ui.cutz_spinner.show()
self.ui.iso_tool_dia_entry.setDisabled(True)
# update the value in the self.iso_tool_dia_entry once this is selected
self.on_calculate_tooldia()
def build_ui(self):
FlatCAMObj.build_ui(self)

View File

@ -21,6 +21,8 @@ CAD program, and create G-Code for Isolation routing.
- added a new menu category in the MenuBar named 'Objects'. It will hold the objects found in the Project tab. Useful when working in FullScreen
- disabeld a log.debug in ObjectColection.get_by_name()
- added a Toggle Notebook button named 'NB' in the QMenBar which toggle the notebook
- in Gerber isolation section, the tool dia value is updated when changing from Circular to V-shape and reverse
- in Tool Film, when punching holes in a positive film, if the resulting object geometry is the same as the source object geometry, the film will not ge generated
3.10.2019

View File

@ -440,7 +440,7 @@ class Film(FlatCAMTool):
if punch_size >= float(film_obj.apertures[apid]['width']) or \
punch_size >= float(film_obj.apertures[apid]['height']):
self.app.inform.emit('[ERROR_NOTCL] %s' %
_(" Could not generate punched hole film because the punch hole size"
_("Could not generate punched hole film because the punch hole size"
"is bigger than some of the apertures in the Gerber object."))
return 'fail'
else:
@ -450,7 +450,17 @@ class Film(FlatCAMTool):
punching_geo.append(elem['follow'].buffer(punch_size / 2))
punching_geo = MultiPolygon(punching_geo)
punched_solid_geometry = MultiPolygon(film_obj.solid_geometry).difference(punching_geo)
if not isinstance(film_obj.solid_geometry, Polygon):
temp_solid_geometry = MultiPolygon(film_obj.solid_geometry)
else:
temp_solid_geometry = film_obj.solid_geometry
punched_solid_geometry = temp_solid_geometry.difference(punching_geo)
if punched_solid_geometry == temp_solid_geometry:
self.app.inform.emit('[WARNING_NOTCL] %s' %
_("Could not generate punched hole film because the newly created object geometry "
"is the same as the one in the source object geometry..."))
return 'fail'
def init_func(new_obj, app_obj):
new_obj.solid_geometry = deepcopy(punched_solid_geometry)