- fixed issue in Tool Calculators when a float value was entered starting only with the dot.
- added protection for entering incorrect values in Offset and Scale fields for Gerber and Geometry objects (in Selected Tab)
This commit is contained in:
parent
c80271935e
commit
f6271033b3
|
@ -91,7 +91,7 @@ class App(QtCore.QObject):
|
||||||
|
|
||||||
# Version
|
# Version
|
||||||
version = 8.905
|
version = 8.905
|
||||||
version_date = "2019/01/28"
|
version_date = "2019/01/29"
|
||||||
beta = True
|
beta = True
|
||||||
|
|
||||||
# URL for update checks and statistics
|
# URL for update checks and statistics
|
||||||
|
|
|
@ -3470,8 +3470,20 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
|
||||||
:rtype: None
|
:rtype: None
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
try:
|
||||||
|
xfactor = float(xfactor)
|
||||||
|
except:
|
||||||
|
self.app.inform.emit("[error_notcl] Scale factor has to be a number: integer or float.")
|
||||||
|
return
|
||||||
|
|
||||||
if yfactor is None:
|
if yfactor is None:
|
||||||
yfactor = xfactor
|
yfactor = xfactor
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
yfactor = float(yfactor)
|
||||||
|
except:
|
||||||
|
self.app.inform.emit("[error_notcl] Scale factor has to be a number: integer or float.")
|
||||||
|
return
|
||||||
|
|
||||||
if point is None:
|
if point is None:
|
||||||
px = 0
|
px = 0
|
||||||
|
@ -3489,6 +3501,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
|
||||||
else:
|
else:
|
||||||
self.solid_geometry = affinity.scale(self.solid_geometry, xfactor, yfactor,
|
self.solid_geometry = affinity.scale(self.solid_geometry, xfactor, yfactor,
|
||||||
origin=(px, py))
|
origin=(px, py))
|
||||||
|
self.app.inform.emit("[success]Geometry Scale done.")
|
||||||
|
|
||||||
def offset(self, vect):
|
def offset(self, vect):
|
||||||
"""
|
"""
|
||||||
|
@ -3500,7 +3513,12 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
|
||||||
:rtype: None
|
:rtype: None
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
try:
|
||||||
dx, dy = vect
|
dx, dy = vect
|
||||||
|
except TypeError:
|
||||||
|
self.app.inform.emit("[error_notcl]An (x,y) pair of values are needed. "
|
||||||
|
"Probable you entered only one value in the Offset field.")
|
||||||
|
return
|
||||||
|
|
||||||
def translate_recursion(geom):
|
def translate_recursion(geom):
|
||||||
if type(geom) == list:
|
if type(geom) == list:
|
||||||
|
@ -3516,6 +3534,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
|
||||||
self.tools[tool]['solid_geometry'] = translate_recursion(self.tools[tool]['solid_geometry'])
|
self.tools[tool]['solid_geometry'] = translate_recursion(self.tools[tool]['solid_geometry'])
|
||||||
else:
|
else:
|
||||||
self.solid_geometry=translate_recursion(self.solid_geometry)
|
self.solid_geometry=translate_recursion(self.solid_geometry)
|
||||||
|
self.app.inform.emit("[success]Geometry Offset done.")
|
||||||
|
|
||||||
def convert_units(self, units):
|
def convert_units(self, units):
|
||||||
self.ui_disconnect()
|
self.ui_disconnect()
|
||||||
|
|
|
@ -9,6 +9,11 @@ CAD program, and create G-Code for Isolation routing.
|
||||||
|
|
||||||
=================================================
|
=================================================
|
||||||
|
|
||||||
|
29.01.2019
|
||||||
|
|
||||||
|
- fixed issue in Tool Calculators when a float value was entered starting only with the dot.
|
||||||
|
- added protection for entering incorrect values in Offset and Scale fields for Gerber and Geometry objects (in Selected Tab)
|
||||||
|
|
||||||
28.01.2018
|
28.01.2018
|
||||||
|
|
||||||
- fixed the FlatCAMGerber.merge() function
|
- fixed the FlatCAMGerber.merge() function
|
||||||
|
|
20
camlib.py
20
camlib.py
|
@ -3018,8 +3018,20 @@ class Gerber (Geometry):
|
||||||
:rtype : None
|
:rtype : None
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
try:
|
||||||
|
xfactor = float(xfactor)
|
||||||
|
except:
|
||||||
|
self.app.inform.emit("[error_notcl] Scale factor has to be a number: integer or float.")
|
||||||
|
return
|
||||||
|
|
||||||
if yfactor is None:
|
if yfactor is None:
|
||||||
yfactor = xfactor
|
yfactor = xfactor
|
||||||
|
else:
|
||||||
|
try:
|
||||||
|
yfactor = float(yfactor)
|
||||||
|
except:
|
||||||
|
self.app.inform.emit("[error_notcl] Scale factor has to be a number: integer or float.")
|
||||||
|
return
|
||||||
|
|
||||||
if point is None:
|
if point is None:
|
||||||
px = 0
|
px = 0
|
||||||
|
@ -3038,6 +3050,7 @@ class Gerber (Geometry):
|
||||||
yfactor, origin=(px, py))
|
yfactor, origin=(px, py))
|
||||||
|
|
||||||
self.solid_geometry = scale_geom(self.solid_geometry)
|
self.solid_geometry = scale_geom(self.solid_geometry)
|
||||||
|
self.app.inform.emit("[success]Gerber Scale done.")
|
||||||
|
|
||||||
## solid_geometry ???
|
## solid_geometry ???
|
||||||
# It's a cascaded union of objects.
|
# It's a cascaded union of objects.
|
||||||
|
@ -3066,8 +3079,12 @@ class Gerber (Geometry):
|
||||||
:type vect: tuple
|
:type vect: tuple
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
|
try:
|
||||||
dx, dy = vect
|
dx, dy = vect
|
||||||
|
except TypeError:
|
||||||
|
self.app.inform.emit("[error_notcl]An (x,y) pair of values are needed. "
|
||||||
|
"Probable you entered only one value in the Offset field.")
|
||||||
|
return
|
||||||
|
|
||||||
def offset_geom(obj):
|
def offset_geom(obj):
|
||||||
if type(obj) is list:
|
if type(obj) is list:
|
||||||
|
@ -3081,6 +3098,7 @@ class Gerber (Geometry):
|
||||||
## Solid geometry
|
## Solid geometry
|
||||||
# self.solid_geometry = affinity.translate(self.solid_geometry, xoff=dx, yoff=dy)
|
# self.solid_geometry = affinity.translate(self.solid_geometry, xoff=dx, yoff=dy)
|
||||||
self.solid_geometry = offset_geom(self.solid_geometry)
|
self.solid_geometry = offset_geom(self.solid_geometry)
|
||||||
|
self.app.inform.emit("[success]Gerber Offset done.")
|
||||||
|
|
||||||
def mirror(self, axis, point):
|
def mirror(self, axis, point):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -157,7 +157,7 @@ class ToolCalculator(FlatCAMTool):
|
||||||
tip_diameter = float(self.tipDia_entry.get_value())
|
tip_diameter = float(self.tipDia_entry.get_value())
|
||||||
half_tip_angle = float(self.tipAngle_entry.get_value()) / 2
|
half_tip_angle = float(self.tipAngle_entry.get_value()) / 2
|
||||||
cut_depth = float(self.cutDepth_entry.get_value())
|
cut_depth = float(self.cutDepth_entry.get_value())
|
||||||
except TypeError:
|
except:
|
||||||
return
|
return
|
||||||
|
|
||||||
tool_diameter = tip_diameter + (2 * cut_depth * math.tan(math.radians(half_tip_angle)))
|
tool_diameter = tip_diameter + (2 * cut_depth * math.tan(math.radians(half_tip_angle)))
|
||||||
|
|
Loading…
Reference in New Issue