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