Jelajahi Sumber

- fixed the units calculators crash FlatCAM when using comma as decimal separator

Marius Stanciu 7 tahun lalu
induk
melakukan
2ea2ed0cb0
3 mengubah file dengan 28 tambahan dan 4 penghapusan
  1. 2 2
      FlatCAMApp.py
  2. 4 0
      README.md
  3. 22 2
      flatcamTools/ToolCalculators.py

+ 2 - 2
FlatCAMApp.py

@@ -92,8 +92,8 @@ class App(QtCore.QObject):
     log.addHandler(handler)
 
     # Version
-    version = 8.906
-    version_date = "2019/02/5"
+    version = 8.907
+    version_date = "2019/02/6"
     beta = True
 
     # current date now

+ 4 - 0
README.md

@@ -9,6 +9,10 @@ CAD program, and create G-Code for Isolation routing.
 
 =================================================
 
+6.02.2019
+
+- fixed the units calculators crash FlatCAM when using comma as decimal separator
+
 5.02.3019
 
 - added a text in the Selected Tab which is showed whenever the Selected Tab is selected but without having an object selected to display it's properties

+ 22 - 2
flatcamTools/ToolCalculators.py

@@ -293,10 +293,30 @@ class ToolCalculator(FlatCAMTool):
         self.effectiveToolDia_entry.set_value("%.4f" % tool_diameter)
 
     def on_calculate_inch_units(self):
-        self.inch_entry.set_value('%.6f' % (float(self.mm_entry.get_value()) / 25.4))
+        try:
+            mm_val = float(self.mm_entry.get_value())
+        except ValueError:
+            # try to convert comma to decimal point. if it's still not working error message and return
+            try:
+                mm_val = float(self.mm_entry.get_value().replace(',', '.'))
+            except ValueError:
+                self.app.inform.emit("[ERROR_NOTCL]Wrong value format entered, "
+                                     "use a number.")
+                return
+        self.inch_entry.set_value('%.6f' % (mm_val / 25.4))
 
     def on_calculate_mm_units(self):
-        self.mm_entry.set_value('%.6f' % (float(self.inch_entry.get_value()) * 25.4))
+        try:
+            inch_val = float(self.inch_entry.get_value())
+        except ValueError:
+            # try to convert comma to decimal point. if it's still not working error message and return
+            try:
+                inch_val = float(self.inch_entry.get_value().replace(',', '.'))
+            except ValueError:
+                self.app.inform.emit("[ERROR_NOTCL]Wrong value format entered, "
+                                     "use a number.")
+                return
+        self.mm_entry.set_value('%.6f' % (inch_val * 25.4))
 
     def on_calculate_eplate(self):