mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 06:57:28 -06:00
Add 3 New UI Settings
- Add UI to set `machine_start_gcode_first` so that no gcode is adding infront of the start_gcode. - Add float input box to set `machine_extruder_change_duration` which added proper extruder change times to the estimated print time. - Add textbox to set `machine_extruder_prestart_code` to add gcodes that will run pre extruder change, things like heat up so we are at change before with pick up the next extruder.
This commit is contained in:
parent
95f1b3de96
commit
3bb782fd5f
5 changed files with 115 additions and 12 deletions
|
@ -518,6 +518,7 @@ class StartSliceJob(Job):
|
||||||
|
|
||||||
# Replace the setting tokens in start and end g-code.
|
# Replace the setting tokens in start and end g-code.
|
||||||
extruder_nr = stack.getProperty("extruder_nr", "value")
|
extruder_nr = stack.getProperty("extruder_nr", "value")
|
||||||
|
settings["machine_extruder_prestart_code"] = self._expandGcodeTokens(settings["machine_extruder_prestart_code"], extruder_nr)
|
||||||
settings["machine_extruder_start_code"] = self._expandGcodeTokens(settings["machine_extruder_start_code"], extruder_nr)
|
settings["machine_extruder_start_code"] = self._expandGcodeTokens(settings["machine_extruder_start_code"], extruder_nr)
|
||||||
settings["machine_extruder_end_code"] = self._expandGcodeTokens(settings["machine_extruder_end_code"], extruder_nr)
|
settings["machine_extruder_end_code"] = self._expandGcodeTokens(settings["machine_extruder_end_code"], extruder_nr)
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ Item
|
||||||
{
|
{
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
width: parent.width * 2 / 3
|
width: parent.width / 2
|
||||||
|
|
||||||
spacing: base.columnSpacing
|
spacing: base.columnSpacing
|
||||||
|
|
||||||
|
@ -139,6 +139,39 @@ Item
|
||||||
decimals: 0
|
decimals: 0
|
||||||
forceUpdateOnChangeFunction: forceUpdateFunction
|
forceUpdateOnChangeFunction: forceUpdateFunction
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// =======================================
|
||||||
|
// Right-side column "Nozzle Settings"
|
||||||
|
// =======================================
|
||||||
|
Column
|
||||||
|
{
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.right: parent.right
|
||||||
|
width: parent.width / 2
|
||||||
|
|
||||||
|
spacing: base.columnSpacing
|
||||||
|
|
||||||
|
UM.Label // Title Label
|
||||||
|
{
|
||||||
|
text: catalog.i18nc("@title:label", " ")
|
||||||
|
font: UM.Theme.getFont("medium_bold")
|
||||||
|
}
|
||||||
|
|
||||||
|
Cura.NumericTextFieldWithUnit
|
||||||
|
{
|
||||||
|
id: extruderChangeDurationFieldId
|
||||||
|
containerStackId: base.extruderStackId
|
||||||
|
settingKey: "machine_extruder_change_duration"
|
||||||
|
settingStoreIndex: propertyStoreIndex
|
||||||
|
labelText: catalog.i18nc("@label", "Extruder Change duration")
|
||||||
|
labelFont: base.labelFont
|
||||||
|
labelWidth: base.labelWidth
|
||||||
|
controlWidth: base.controlWidth
|
||||||
|
unitText: catalog.i18nc("@label", "s")
|
||||||
|
forceUpdateOnChangeFunction: forceUpdateFunction
|
||||||
|
}
|
||||||
|
|
||||||
Cura.NumericTextFieldWithUnit
|
Cura.NumericTextFieldWithUnit
|
||||||
{
|
{
|
||||||
|
@ -179,12 +212,33 @@ Item
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||||
|
|
||||||
Cura.GcodeTextArea // "Extruder Start G-code"
|
Column
|
||||||
{
|
{
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.bottom: parent.bottom
|
|
||||||
anchors.bottomMargin: UM.Theme.getSize("default_margin").height
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
width: parent.width / 2
|
||||||
|
|
||||||
|
spacing: base.columnSpacing
|
||||||
|
|
||||||
|
Cura.GcodeTextArea // "Extruder Prestart G-code"
|
||||||
|
{
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.left: parent.left
|
||||||
|
height: (parent.height / 2) - UM.Theme.getSize("default_margin").height
|
||||||
|
width: base.columnWidth - UM.Theme.getSize("default_margin").width
|
||||||
|
|
||||||
|
labelText: catalog.i18nc("@title:label", "Extruder Prestart G-code")
|
||||||
|
containerStackId: base.extruderStackId
|
||||||
|
settingKey: "machine_extruder_prestart_code"
|
||||||
|
settingStoreIndex: propertyStoreIndex
|
||||||
|
}
|
||||||
|
|
||||||
|
Cura.GcodeTextArea // "Extruder Start G-code"
|
||||||
|
{
|
||||||
|
anchors.bottom: parent.bottom
|
||||||
|
anchors.left: parent.left
|
||||||
|
height: (parent.height / 2) - UM.Theme.getSize("default_margin").height
|
||||||
width: base.columnWidth - UM.Theme.getSize("default_margin").width
|
width: base.columnWidth - UM.Theme.getSize("default_margin").width
|
||||||
|
|
||||||
labelText: catalog.i18nc("@title:label", "Extruder Start G-code")
|
labelText: catalog.i18nc("@title:label", "Extruder Start G-code")
|
||||||
|
@ -192,12 +246,12 @@ Item
|
||||||
settingKey: "machine_extruder_start_code"
|
settingKey: "machine_extruder_start_code"
|
||||||
settingStoreIndex: propertyStoreIndex
|
settingStoreIndex: propertyStoreIndex
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Cura.GcodeTextArea // "Extruder End G-code"
|
Cura.GcodeTextArea // "Extruder End G-code"
|
||||||
{
|
{
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
anchors.bottomMargin: UM.Theme.getSize("default_margin").height
|
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
width: base.columnWidth - UM.Theme.getSize("default_margin").width
|
width: base.columnWidth - UM.Theme.getSize("default_margin").width
|
||||||
|
|
||||||
|
|
|
@ -345,6 +345,21 @@ Item
|
||||||
forceUpdateOnChangeFunction: forceUpdateFunction
|
forceUpdateOnChangeFunction: forceUpdateFunction
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- Allows user to toggle if Start Gcode is the absolute first gcode.
|
||||||
|
*/
|
||||||
|
Cura.SimpleCheckBox // "Make sure Start Code is before all gcodes"
|
||||||
|
{
|
||||||
|
id: applyStartGcodeFirstCheckbox
|
||||||
|
containerStackId: machineStackId
|
||||||
|
settingKey: "machine_start_gcode_first"
|
||||||
|
settingStoreIndex: propertyStoreIndex
|
||||||
|
labelText: catalog.i18nc("@label", "Start GCode must be first")
|
||||||
|
labelFont: base.labelFont
|
||||||
|
labelWidth: base.labelWidth
|
||||||
|
forceUpdateOnChangeFunction: forceUpdateFunction
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* The "Shared Heater" feature is temporarily disabled because its
|
/* The "Shared Heater" feature is temporarily disabled because its
|
||||||
implementation is incomplete. Printers with multiple filaments going
|
implementation is incomplete. Printers with multiple filaments going
|
||||||
|
|
|
@ -109,6 +109,17 @@
|
||||||
"type": "float",
|
"type": "float",
|
||||||
"unit": "mm"
|
"unit": "mm"
|
||||||
},
|
},
|
||||||
|
"machine_extruder_prestart_code":
|
||||||
|
{
|
||||||
|
"default_value": "",
|
||||||
|
"description": "Prestart g-code to execute before switching to this extruder.",
|
||||||
|
"label": "Extruder Prestart G-Code",
|
||||||
|
"settable_globally": false,
|
||||||
|
"settable_per_extruder": true,
|
||||||
|
"settable_per_mesh": false,
|
||||||
|
"settable_per_meshgroup": false,
|
||||||
|
"type": "str"
|
||||||
|
},
|
||||||
"machine_extruder_start_code":
|
"machine_extruder_start_code":
|
||||||
{
|
{
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
|
@ -120,6 +131,18 @@
|
||||||
"settable_per_meshgroup": false,
|
"settable_per_meshgroup": false,
|
||||||
"type": "str"
|
"type": "str"
|
||||||
},
|
},
|
||||||
|
"machine_extruder_change_duration":
|
||||||
|
{
|
||||||
|
"default_value": 0,
|
||||||
|
"description": "When using a multi tool setup, this value is the tool change time in seconds. This value will be added to the estimate time based on the number of changes that occur.",
|
||||||
|
"label": "Extruder Change duration",
|
||||||
|
"minimum_value": "0",
|
||||||
|
"settable_globally": false,
|
||||||
|
"settable_per_extruder": true,
|
||||||
|
"settable_per_mesh": false,
|
||||||
|
"settable_per_meshgroup": false,
|
||||||
|
"type": "float"
|
||||||
|
},
|
||||||
"machine_extruder_start_code_duration":
|
"machine_extruder_start_code_duration":
|
||||||
{
|
{
|
||||||
"default_value": 0,
|
"default_value": 0,
|
||||||
|
|
|
@ -511,6 +511,16 @@
|
||||||
"settable_per_extruder": false,
|
"settable_per_extruder": false,
|
||||||
"settable_per_meshgroup": false
|
"settable_per_meshgroup": false
|
||||||
},
|
},
|
||||||
|
"machine_start_gcode_first":
|
||||||
|
{
|
||||||
|
"label": "Start GCode must be first",
|
||||||
|
"description": "This setting controls if the start-gcode is forced to always be the first g-code. Without this option other g-code, such as a T0 can be inserted before the start g-code.",
|
||||||
|
"type": "bool",
|
||||||
|
"default_value": false,
|
||||||
|
"settable_per_mesh": false,
|
||||||
|
"settable_per_extruder": false,
|
||||||
|
"settable_per_meshgroup": false
|
||||||
|
},
|
||||||
"extruder_prime_pos_z":
|
"extruder_prime_pos_z":
|
||||||
{
|
{
|
||||||
"label": "Extruder Prime Z Position",
|
"label": "Extruder Prime Z Position",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue