diff --git a/FlatCAMObj.py b/FlatCAMObj.py
index f1ac76ff..9fece514 100644
--- a/FlatCAMObj.py
+++ b/FlatCAMObj.py
@@ -4345,7 +4345,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
tooldia = float(self.ui.geo_tools_table.item(row, 1).text())
new_cutz = (tooldia - vdia) / (2 * math.tan(math.radians(half_vangle)))
- new_cutz = float('%.*f' % (self.decimals, new_cutz)) # this value has to be negative
+ new_cutz = float('%.*f' % (self.decimals, new_cutz)) * -1.0 # this value has to be negative
self.ui.cutz_entry.set_value(new_cutz)
diff --git a/README.md b/README.md
index fd4fe855..2fab78dd 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,11 @@ CAD program, and create G-Code for Isolation routing.
=================================================
+29.10.2019
+
+- a bug fix in Geometry Object
+- fixed some missing properties in Tool Calculators
+
28.10.2019
- in Tools: Paint, NCC and Copper Fill, when using the Area Selection, now the selected aras will stay drawn as markers until the user click RMB
diff --git a/flatcamTools/ToolCalculators.py b/flatcamTools/ToolCalculators.py
index a6a8aa3f..032ef5a7 100644
--- a/flatcamTools/ToolCalculators.py
+++ b/flatcamTools/ToolCalculators.py
@@ -94,6 +94,8 @@ class ToolCalculator(FlatCAMTool):
self.tipDia_label = QtWidgets.QLabel('%s:' % _("Tip Diameter"))
self.tipDia_entry = FCDoubleSpinner()
self.tipDia_entry.set_precision(self.decimals)
+ self.tipDia_entry.set_range(0.0, 9999.9999)
+ self.tipDia_entry.setSingleStep(0.1)
# self.tipDia_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.tipDia_label.setToolTip(
@@ -102,6 +104,8 @@ class ToolCalculator(FlatCAMTool):
)
self.tipAngle_label = QtWidgets.QLabel('%s:' % _("Tip Angle"))
self.tipAngle_entry = FCSpinner()
+ self.tipAngle_entry.set_range(0,180)
+ self.tipAngle_entry.setSingleStep(5)
# self.tipAngle_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.tipAngle_label.setToolTip(_("This is the angle of the tip of the tool.\n"
@@ -109,7 +113,7 @@ class ToolCalculator(FlatCAMTool):
self.cutDepth_label = QtWidgets.QLabel('%s:' % _("Cut Z"))
self.cutDepth_entry = FCDoubleSpinner()
- self.cutDepth_entry.setMinimum(-1e10) # to allow negative numbers without actually adding a real limit
+ self.cutDepth_entry.set_range(-9999.9999, 9999.9999)
self.cutDepth_entry.set_precision(self.decimals)
# self.cutDepth_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
@@ -163,6 +167,7 @@ class ToolCalculator(FlatCAMTool):
self.pcblengthlabel = QtWidgets.QLabel('%s:' % _("Board Length"))
self.pcblength_entry = FCDoubleSpinner()
self.pcblength_entry.set_precision(self.decimals)
+ self.pcblength_entry.set_range(0.0, 9999.9999)
# self.pcblength_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.pcblengthlabel.setToolTip(_('This is the board length. In centimeters.'))
@@ -170,6 +175,7 @@ class ToolCalculator(FlatCAMTool):
self.pcbwidthlabel = QtWidgets.QLabel('%s:' % _("Board Width"))
self.pcbwidth_entry = FCDoubleSpinner()
self.pcbwidth_entry.set_precision(self.decimals)
+ self.pcbwidth_entry.set_range(0.0, 9999.9999)
# self.pcbwidth_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.pcbwidthlabel.setToolTip(_('This is the board width.In centimeters.'))
@@ -177,6 +183,8 @@ class ToolCalculator(FlatCAMTool):
self.cdensity_label = QtWidgets.QLabel('%s:' % _("Current Density"))
self.cdensity_entry = FCDoubleSpinner()
self.cdensity_entry.set_precision(self.decimals)
+ self.cdensity_entry.set_range(0.0, 9999.9999)
+ self.cdensity_entry.setSingleStep(0.1)
# self.cdensity_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.cdensity_label.setToolTip(_("Current density to pass through the board. \n"
@@ -185,6 +193,8 @@ class ToolCalculator(FlatCAMTool):
self.growth_label = QtWidgets.QLabel('%s:' % _("Copper Growth"))
self.growth_entry = FCDoubleSpinner()
self.growth_entry.set_precision(self.decimals)
+ self.growth_entry.set_range(0.0, 9999.9999)
+ self.growth_entry.setSingleStep(0.01)
# self.growth_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.growth_label.setToolTip(_("How thick the copper growth is intended to be.\n"
@@ -195,6 +205,8 @@ class ToolCalculator(FlatCAMTool):
self.cvaluelabel = QtWidgets.QLabel('%s:' % _("Current Value"))
self.cvalue_entry = FCDoubleSpinner()
self.cvalue_entry.set_precision(self.decimals)
+ self.cvalue_entry.set_range(0.0, 9999.9999)
+ self.cvalue_entry.setSingleStep(0.1)
# self.cvalue_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.cvaluelabel.setToolTip(_('This is the current intensity value\n'
@@ -204,6 +216,8 @@ class ToolCalculator(FlatCAMTool):
self.timelabel = QtWidgets.QLabel('%s:' % _("Time"))
self.time_entry = FCDoubleSpinner()
self.time_entry.set_precision(self.decimals)
+ self.time_entry.set_range(0.0, 9999.9999)
+ self.time_entry.setSingleStep(0.1)
# self.time_entry.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignVCenter)
self.timelabel.setToolTip(_('This is the calculated time required for the procedure.\n'
diff --git a/flatcamTools/ToolCalibrateExcellon.py b/flatcamTools/ToolCalibrateExcellon.py
index d5a1cb44..0227314f 100644
--- a/flatcamTools/ToolCalibrateExcellon.py
+++ b/flatcamTools/ToolCalibrateExcellon.py
@@ -329,8 +329,14 @@ class ToolCalibrateExcellon(FlatCAMTool):
grid_lay.addWidget(self.scaley_label, 23, 0)
grid_lay.addWidget(self.scaley_entry, 23, 1, 1, 2)
+ self.scale_button = QtWidgets.QPushButton(_("Scale"))
+ self.scale_button.setToolTip(
+ _("Apply Scale factors on the calibration points.")
+ )
+ grid_lay.addWidget(self.scale_button, 24, 0, 1, 3)
+
skew_lbl = QtWidgets.QLabel('%s' % _("Skew"))
- grid_lay.addWidget(skew_lbl, 24, 0, 1, 3)
+ grid_lay.addWidget(skew_lbl, 25, 0, 1, 3)
self.skewx_label = QtWidgets.QLabel(_("Angle X:"))
self.skewx_label.setToolTip(
@@ -342,8 +348,8 @@ class ToolCalibrateExcellon(FlatCAMTool):
self.skewx_entry.set_precision(self.decimals)
self.skewx_entry.setSingleStep(0.1)
- grid_lay.addWidget(self.skewx_label, 25, 0)
- grid_lay.addWidget(self.skewx_entry, 25, 1, 1, 2)
+ grid_lay.addWidget(self.skewx_label, 26, 0)
+ grid_lay.addWidget(self.skewx_entry, 26, 1, 1, 2)
self.skewy_label = QtWidgets.QLabel(_("Angle Y:"))
self.skewy_label.setToolTip(
@@ -355,8 +361,14 @@ class ToolCalibrateExcellon(FlatCAMTool):
self.skewy_entry.set_precision(self.decimals)
self.skewy_entry.setSingleStep(0.1)
- grid_lay.addWidget(self.skewy_label, 26, 0)
- grid_lay.addWidget(self.skewy_entry, 26, 1, 1, 2)
+ grid_lay.addWidget(self.skewy_label, 27, 0)
+ grid_lay.addWidget(self.skewy_entry, 27, 1, 1, 2)
+
+ self.skew_button = QtWidgets.QPushButton(_("Skew"))
+ self.skew_button.setToolTip(
+ _("Apply Skew factors on the calibration points.")
+ )
+ grid_lay.addWidget(self.skew_button, 28, 0, 1, 3)
# STEP 4 #
step_4 = QtWidgets.QLabel('%s' % _("STEP 4"))
@@ -364,7 +376,7 @@ class ToolCalibrateExcellon(FlatCAMTool):
_("Generate verification GCode file adjusted with\n"
"the factors above.")
)
- grid_lay.addWidget(step_4, 27, 0, 1, 3)
+ grid_lay.addWidget(step_4, 29, 0, 1, 3)
# ## Adjusted GCode Button
self.adj_gcode_button = QtWidgets.QPushButton(_("Generate Adjusted GCode"))
@@ -372,7 +384,7 @@ class ToolCalibrateExcellon(FlatCAMTool):
_("Generate verification GCode file adjusted with\n"
"the factors above.")
)
- grid_lay.addWidget(self.adj_gcode_button, 28, 0, 1, 3)
+ grid_lay.addWidget(self.adj_gcode_button, 30, 0, 1, 3)
# STEP 5 #
step_5 = QtWidgets.QLabel('%s' % _("STEP 5"))
@@ -380,7 +392,7 @@ class ToolCalibrateExcellon(FlatCAMTool):
_("Ajust the Excellon and Cutout Geometry objects\n"
"with the factors determined, and verified, above.")
)
- grid_lay.addWidget(step_5, 29, 0, 1, 3)
+ grid_lay.addWidget(step_5, 31, 0, 1, 3)
self.adj_exc_object_combo = QtWidgets.QComboBox()
self.adj_exc_object_combo.setModel(self.app.collection)
@@ -392,8 +404,8 @@ class ToolCalibrateExcellon(FlatCAMTool):
_("Excellon Object to be adjusted.")
)
- grid_lay.addWidget(self.adj_excobj_label, 30, 0)
- grid_lay.addWidget(self.adj_exc_object_combo, 30, 1, 1, 2)
+ grid_lay.addWidget(self.adj_excobj_label, 32, 0)
+ grid_lay.addWidget(self.adj_exc_object_combo, 32, 1, 1, 2)
self.adj_geo_object_combo = QtWidgets.QComboBox()
self.adj_geo_object_combo.setModel(self.app.collection)
@@ -405,8 +417,8 @@ class ToolCalibrateExcellon(FlatCAMTool):
_("Geometry Object to be adjusted.")
)
- grid_lay.addWidget(self.adj_geoobj_label, 31, 0)
- grid_lay.addWidget(self.adj_geo_object_combo, 31, 1, 1, 2)
+ grid_lay.addWidget(self.adj_geoobj_label, 33, 0)
+ grid_lay.addWidget(self.adj_geo_object_combo, 33, 1, 1, 2)
# ## Adjust Objects Button
self.adj_obj_button = QtWidgets.QPushButton(_("Adjust Objects"))
@@ -414,9 +426,9 @@ class ToolCalibrateExcellon(FlatCAMTool):
_("Adjust (scale and / or skew) the objects\n"
"with the factors determined above.")
)
- grid_lay.addWidget(self.adj_obj_button, 32, 0, 1, 3)
+ grid_lay.addWidget(self.adj_obj_button, 34, 0, 1, 3)
- grid_lay.addWidget(QtWidgets.QLabel(''), 33, 0)
+ grid_lay.addWidget(QtWidgets.QLabel(''), 35, 0)
self.layout.addStretch()
self.mr = None