- added in CNCJob preferences new preferences that allow compensation for the CNC bed skew/tilt (axes not being square one to another)
- all pre-processors are altered such they can adjust the gcode to use the compensation values set in Preferences -> CNC-Job section
This commit is contained in:
@@ -275,6 +275,14 @@ class PreferencesUIManager:
|
||||
"cncjob_annotation_fontsize": self.ui.cncjob_pref_form.cncjob_adv_opt_group.annotation_fontsize_sp,
|
||||
"cncjob_annotation_fontcolor": self.ui.cncjob_pref_form.cncjob_adv_opt_group.annotation_fontcolor_entry,
|
||||
|
||||
# CNC Job Preprocessors Options
|
||||
"cncjob_bed_max_x": self.ui.cncjob_pref_form.cncjob_pp_group.bed_max_x_entry,
|
||||
"cncjob_bed_max_y": self.ui.cncjob_pref_form.cncjob_pp_group.bed_max_y_entry,
|
||||
"cncjob_bed_offset_x": self.ui.cncjob_pref_form.cncjob_pp_group.bed_offx_entry,
|
||||
"cncjob_bed_offset_y": self.ui.cncjob_pref_form.cncjob_pp_group.bed_offy_entry,
|
||||
"cncjob_bed_skew_x": self.ui.cncjob_pref_form.cncjob_pp_group.bed_skewx_entry,
|
||||
"cncjob_bed_skew_y": self.ui.cncjob_pref_form.cncjob_pp_group.bed_skewy_entry,
|
||||
|
||||
# CNC Job (GCode) Editor
|
||||
"cncjob_prepend": self.ui.cncjob_pref_form.cncjob_editor_group.prepend_text,
|
||||
"cncjob_append": self.ui.cncjob_pref_form.cncjob_editor_group.append_text,
|
||||
|
||||
109
appGUI/preferences/cncjob/CNCJobPPGroupUI.py
Normal file
109
appGUI/preferences/cncjob/CNCJobPPGroupUI.py
Normal file
@@ -0,0 +1,109 @@
|
||||
from PyQt6 import QtWidgets
|
||||
|
||||
from appGUI.GUIElements import FCDoubleSpinner, FCLabel, FCGridLayout, FCFrame
|
||||
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||
import gettext
|
||||
import appTranslation as fcTranslate
|
||||
import builtins
|
||||
|
||||
fcTranslate.apply_language('strings')
|
||||
if '_' not in builtins.__dict__:
|
||||
_ = gettext.gettext
|
||||
|
||||
|
||||
class CNCJobPPGroupUI(OptionsGroupUI):
|
||||
def __init__(self, defaults, decimals=4, parent=None):
|
||||
super(CNCJobPPGroupUI, self).__init__(self, parent=parent)
|
||||
self.decimals = decimals
|
||||
self.defaults = defaults
|
||||
|
||||
self.setTitle(str(_("Pre-Processors")))
|
||||
|
||||
# #############################################################################################################
|
||||
# PARAMETERS Frame
|
||||
# #############################################################################################################
|
||||
self.comp_gcode_label = FCLabel('<span style="color:blue;"><b>%s</b></span>' % _("Compensation"))
|
||||
self.comp_gcode_label.setToolTip(
|
||||
_("Compensate CNC bed issues.")
|
||||
)
|
||||
self.layout.addWidget(self.comp_gcode_label)
|
||||
|
||||
comp_frame = FCFrame()
|
||||
self.layout.addWidget(comp_frame)
|
||||
|
||||
comp_grid = FCGridLayout(v_spacing=5, h_spacing=3)
|
||||
comp_frame.setLayout(comp_grid)
|
||||
|
||||
# Bed Size X
|
||||
self.bed_max_x_lbl = FCLabel('%s %s:' % (_("Bed Size"), "X"))
|
||||
self.bed_max_x_lbl.setToolTip(
|
||||
'%s: X' % _("CNC bed size on direction")
|
||||
)
|
||||
self.bed_max_x_entry = FCDoubleSpinner()
|
||||
self.bed_max_x_entry.set_range(-9999.9999, 9999.9999)
|
||||
self.bed_max_x_entry.set_precision(self.decimals)
|
||||
|
||||
comp_grid.addWidget(self.bed_max_x_lbl, 0, 0)
|
||||
comp_grid.addWidget(self.bed_max_x_entry, 0, 1)
|
||||
|
||||
# Bed Size Y
|
||||
self.bed_max_y_lbl = FCLabel('%s %s:' % (_("Bed Size"), "Y"))
|
||||
self.bed_max_y_lbl.setToolTip(
|
||||
'%s: Y' % _("CNC bed size on direction")
|
||||
)
|
||||
self.bed_max_y_entry = FCDoubleSpinner()
|
||||
self.bed_max_y_entry.set_range(-9999.9999, 9999.9999)
|
||||
self.bed_max_y_entry.set_precision(self.decimals)
|
||||
|
||||
comp_grid.addWidget(self.bed_max_y_lbl, 2, 0)
|
||||
comp_grid.addWidget(self.bed_max_y_entry, 2, 1)
|
||||
|
||||
# Bed Offset X
|
||||
self.bed_offx_lbl = FCLabel('%s %s:' % (_("Bed Offset"), "X"))
|
||||
self.bed_offx_lbl.setToolTip(
|
||||
'%s: X' % _("CNC bed offset on direction")
|
||||
)
|
||||
self.bed_offx_entry = FCDoubleSpinner()
|
||||
self.bed_offx_entry.set_range(-9999.9999, 9999.9999)
|
||||
self.bed_offx_entry.set_precision(self.decimals)
|
||||
|
||||
comp_grid.addWidget(self.bed_offx_lbl, 4, 0)
|
||||
comp_grid.addWidget(self.bed_offx_entry, 4, 1)
|
||||
|
||||
# Bed Offset Y
|
||||
self.bed_offy_lbl = FCLabel('%s %s:' % (_("Bed Offset"), "Y"))
|
||||
self.bed_offy_lbl.setToolTip(
|
||||
'%s: Y' % _("CNC bed offset on direction")
|
||||
)
|
||||
self.bed_offy_entry = FCDoubleSpinner()
|
||||
self.bed_offy_entry.set_range(-9999.9999, 9999.9999)
|
||||
self.bed_offy_entry.set_precision(self.decimals)
|
||||
|
||||
comp_grid.addWidget(self.bed_offy_lbl, 6, 0)
|
||||
comp_grid.addWidget(self.bed_offy_entry, 6, 1)
|
||||
|
||||
# Bed Skew X
|
||||
self.bed_skewx_lbl = FCLabel('%s %s:' % (_("Bed Skew"), "X"))
|
||||
self.bed_skewx_lbl.setToolTip(
|
||||
'%s: X' % _("CNC bed skew on direction")
|
||||
)
|
||||
self.bed_skewx_entry = FCDoubleSpinner()
|
||||
self.bed_skewx_entry.set_range(-9999.9999, 9999.9999)
|
||||
self.bed_skewx_entry.set_precision(self.decimals)
|
||||
|
||||
comp_grid.addWidget(self.bed_skewx_lbl, 8, 0)
|
||||
comp_grid.addWidget(self.bed_skewx_entry, 8, 1)
|
||||
|
||||
# Bed Skew Y
|
||||
self.bed_skewy_lbl = FCLabel('%s %s:' % (_("Bed Skew"), "Y"))
|
||||
self.bed_skewy_lbl.setToolTip(
|
||||
'%s: Y' % _("CNC bed skew on direction")
|
||||
)
|
||||
self.bed_skewy_entry = FCDoubleSpinner()
|
||||
self.bed_skewy_entry.set_range(-9999.9999, 9999.9999)
|
||||
self.bed_skewy_entry.set_precision(self.decimals)
|
||||
|
||||
comp_grid.addWidget(self.bed_skewy_lbl, 10, 0)
|
||||
comp_grid.addWidget(self.bed_skewy_entry, 10, 1)
|
||||
|
||||
self.layout.addStretch(1)
|
||||
@@ -4,7 +4,7 @@ from appGUI.preferences.cncjob.CNCJobAdvOptPrefGroupUI import CNCJobAdvOptPrefGr
|
||||
from appGUI.preferences.cncjob.CNCJobOptPrefGroupUI import CNCJobOptPrefGroupUI
|
||||
from appGUI.preferences.cncjob.CNCJobGenPrefGroupUI import CNCJobGenPrefGroupUI
|
||||
from appGUI.preferences.cncjob.CNCJobEditorPrefGroupUI import CNCJobEditorPrefGroupUI
|
||||
|
||||
from appGUI.preferences.cncjob.CNCJobPPGroupUI import CNCJobPPGroupUI
|
||||
|
||||
class CNCJobPreferencesUI(QtWidgets.QWidget):
|
||||
|
||||
@@ -26,9 +26,13 @@ class CNCJobPreferencesUI(QtWidgets.QWidget):
|
||||
self.cncjob_editor_group = CNCJobEditorPrefGroupUI(decimals=self.decimals, defaults=self.defaults)
|
||||
self.cncjob_editor_group.setMinimumWidth(260)
|
||||
|
||||
self.cncjob_pp_group = CNCJobPPGroupUI(decimals=self.decimals, defaults=self.defaults)
|
||||
self.cncjob_pp_group.setMinimumWidth(260)
|
||||
|
||||
vlay = QtWidgets.QVBoxLayout()
|
||||
vlay.addWidget(self.cncjob_opt_group)
|
||||
vlay.addWidget(self.cncjob_adv_opt_group)
|
||||
vlay.addWidget(self.cncjob_pp_group)
|
||||
|
||||
self.layout.addWidget(self.cncjob_gen_group)
|
||||
self.layout.addLayout(vlay)
|
||||
|
||||
Reference in New Issue
Block a user