From 66afc2a391f6e8b6d62f14ea2df07627cdb76900 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 10 Mar 2017 11:02:27 +0100 Subject: [PATCH 001/138] Added new project option CURA-3494 --- resources/qml/Actions.qml | 8 ++++++++ resources/qml/Cura.qml | 13 +++++++++++++ 2 files changed, 21 insertions(+) diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 1a345deafa..f586f82a90 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -10,6 +10,7 @@ import Cura 1.0 as Cura Item { + property alias newProject: newProjectAction; property alias open: openAction; property alias loadWorkspace: loadWorkspaceAction; property alias quit: quitAction; @@ -288,6 +289,13 @@ Item shortcut: StandardKey.Open; } + Action + { + id: newProjectAction + text: catalog.i18nc("@action:inmenu menubar:file","&New Project..."); + shortcut: StandardKey.New + } + Action { id: loadWorkspaceAction diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 1d998f0fee..e8c06f4e9a 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -66,6 +66,10 @@ UM.MainWindow { id: fileMenu title: catalog.i18nc("@title:menu menubar:toplevel","&File"); + MenuItem + { + action: Cura.Actions.newProject; + } MenuItem { @@ -533,6 +537,15 @@ UM.MainWindow target: Cura.Actions.preferences onTriggered: preferences.visible = true } + Connections + { + target: Cura.Actions.newProject + onTriggered: + { + Printer.deleteAll(); + Cura.Actions.resetProfile.trigger(); + } + } Connections { From 1d7bf5115226400326e3c14fbc3753ba6bcdbb41 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 10 Mar 2017 14:10:24 +0100 Subject: [PATCH 002/138] Added confirmation message for starting new project CURA-3494 --- resources/qml/Cura.qml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index e8c06f4e9a..9949e9ab0b 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -537,13 +537,31 @@ UM.MainWindow target: Cura.Actions.preferences onTriggered: preferences.visible = true } + + MessageDialog + { + id: newProjectDialog + modality: Qt.ApplicationModal + title: catalog.i18nc("@title:window", "New project") + text: catalog.i18nc("@info:question", "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings.") + standardButtons: StandardButton.Yes | StandardButton.No + icon: StandardIcon.Question + onYes: + { + Printer.deleteAll(); + Cura.Actions.resetProfile.trigger(); + } + } + Connections { target: Cura.Actions.newProject onTriggered: { - Printer.deleteAll(); - Cura.Actions.resetProfile.trigger(); + if(Printer.platformActivity || Cura.MachineManager.hasUserSettings) + { + newProjectDialog.visible = true + } } } From b162be4df8c12c89112ba558136e87b63e67e713 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 10 Mar 2017 16:49:57 +0100 Subject: [PATCH 003/138] Upgrade built-in instance containers These are now upgraded to version 3, meaning that they will have to increase their version numbers and remove any start_layers_at_same_position settings they define. None of these profiles define any start_layers_at_same_position so it's just the version number then. Contributes to issue CURA-3479. --- resources/quality/abax_pri3/apri3_pla_fast.inst.cfg | 3 +-- resources/quality/abax_pri3/apri3_pla_high.inst.cfg | 3 +-- resources/quality/abax_pri3/apri3_pla_normal.inst.cfg | 3 +-- resources/quality/abax_pri5/apri5_pla_fast.inst.cfg | 3 +-- resources/quality/abax_pri5/apri5_pla_high.inst.cfg | 3 +-- resources/quality/abax_pri5/apri5_pla_normal.inst.cfg | 3 +-- resources/quality/abax_titan/atitan_pla_fast.inst.cfg | 3 +-- resources/quality/abax_titan/atitan_pla_high.inst.cfg | 4 ++-- resources/quality/abax_titan/atitan_pla_normal.inst.cfg | 3 +-- resources/quality/high.inst.cfg | 2 +- resources/quality/low.inst.cfg | 2 +- resources/quality/normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_global_Draft_Quality.inst.cfg | 2 +- resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg | 2 +- resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_global_Normal_Quality.inst.cfg | 2 +- resources/variants/cartesio_0.25.inst.cfg | 2 +- resources/variants/cartesio_0.4.inst.cfg | 3 +-- resources/variants/cartesio_0.8.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.25.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.4.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.6.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.8.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.25.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.4.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.6.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.8.inst.cfg | 2 +- resources/variants/ultimaker3_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker3_aa04.inst.cfg | 2 +- resources/variants/ultimaker3_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker3_bb04.inst.cfg | 2 +- resources/variants/ultimaker3_extended_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker3_extended_aa04.inst.cfg | 2 +- resources/variants/ultimaker3_extended_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker3_extended_bb04.inst.cfg | 2 +- 123 files changed, 124 insertions(+), 133 deletions(-) diff --git a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg index 7f3bf240ac..4df5531c46 100644 --- a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_pri3 diff --git a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg index be93de160e..eeb3a8c518 100644 --- a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = High Quality definition = abax_pri3 diff --git a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg index a116ff4485..1c2dab370c 100644 --- a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_pri3 diff --git a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg index 4bfb02fe77..eb7b9c29c5 100644 --- a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_pri5 diff --git a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg index 4c89f5cf28..1e83f1ee34 100644 --- a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = High Quality definition = abax_pri5 diff --git a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg index fc11c5af19..183ec9524d 100644 --- a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_pri5 diff --git a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg index 63189c1ed1..327329bcd5 100644 --- a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_titan diff --git a/resources/quality/abax_titan/atitan_pla_high.inst.cfg b/resources/quality/abax_titan/atitan_pla_high.inst.cfg index 7d6f8bb3d7..b5abf4ddf4 100644 --- a/resources/quality/abax_titan/atitan_pla_high.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_high.inst.cfg @@ -1,8 +1,8 @@ - [general] -version = 2 +version = 3 name = High Quality definition = abax_titan + [metadata] type = quality material = generic_pla diff --git a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg index 6de6a1df32..691ad92cc6 100644 --- a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_titan diff --git a/resources/quality/high.inst.cfg b/resources/quality/high.inst.cfg index 921dae9ae0..bddd48d4a9 100644 --- a/resources/quality/high.inst.cfg +++ b/resources/quality/high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = fdmprinter diff --git a/resources/quality/low.inst.cfg b/resources/quality/low.inst.cfg index 82d4e0d327..d23ae8fdf7 100644 --- a/resources/quality/low.inst.cfg +++ b/resources/quality/low.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Low Quality definition = fdmprinter diff --git a/resources/quality/normal.inst.cfg b/resources/quality/normal.inst.cfg index 26da3b48da..cc2a5f44f1 100644 --- a/resources/quality/normal.inst.cfg +++ b/resources/quality/normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = fdmprinter diff --git a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg index db2b48b3cc..b38372ac7d 100644 --- a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg index d3f2740202..b28b72b01c 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg index d3347b4712..d02d3899ca 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg index 758225535a..0fa19a0f16 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg index 5eed5965e4..e23825853b 100644 --- a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg index 96a81d874e..f443f72c8a 100644 --- a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg index cd99fc0f8a..abb32070fa 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg index e52a201789..96e08796b9 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg index 4cbe9f4b88..39d85b27b5 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg index 3cfa744787..81b3b8f2fa 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg index 848441de61..28cdff9626 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg index 20a35f157f..1c70f3ca43 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg index 29f1577d12..bb330d3ae2 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg index edba5d2c79..a1549778f8 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg index a2442e6c96..2947f09874 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg index 4993e97bb0..5c240f2be9 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg index ceaf31e153..6ee0eb718c 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg index f81e931218..ef31776dfe 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg index 294db7c10d..4897361215 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg index 91059f94b3..92c79535ef 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg index 6d1cb47835..cf249c3d4e 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg index 1dbe3a56c8..6ce065143f 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg index 1b92686d50..09d8ddfa25 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg index 30746a1ac2..aedcb1b0d4 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg index fea97a2621..64739d1175 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg index 56be2489a5..aa32fd9a98 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg index 80948add53..9702371448 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg index 8385b3f895..9352b133b0 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg index d9e393b778..387f7817c6 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg index e438dca035..8c202a3404 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg index 575109e588..9723509857 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg index abd8f499bc..ec73dba4ca 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg index 06f67b7298..23da67deb9 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg index be595385a4..23ad9edbc2 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg index f20351cbb4..968dccc715 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg index 469cab12cc..a31e42ab7b 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg index bfd239e3cc..c1f9fa3259 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg index bf65d1b8aa..8458755c2b 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg index 53fab6b028..3c8b9428e0 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg index 9d79bf9faa..f3ce3c383d 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg index 5c37a8432a..04f0012b9a 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg index 106476d57c..7880dfaa02 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg index e0a0388227..9a619e79e2 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg index 00d93f3575..af48af3a90 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg index 066a044ee0..b1d3b13674 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg index 850af33c27..8ce21e605b 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg index 3793bf8b5e..5c1691b5e7 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg index f8090e057c..8f94c73f94 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg index a8d989fbae..4217ba535d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg index 5495276f1c..af9167ae92 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg index d18b878a4f..8e4f4ba6be 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg index 7a536ce033..3f0a4c98a4 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg index 96467fe36c..e0bee51de7 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg index 1fd6167e67..ca358de7c4 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg index 5ad1ef6b43..d403b9d96e 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg index 6899989100..4c31ab9d91 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg index 76a2491079..eb90edccf0 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg index ba50bc4d31..b00cef91c1 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg index bebd9976f5..1180e16d5d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg index e9370877e7..0d7ca69d8e 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg index cdb37b8f12..61cdf80c86 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg index f5e91fa71b..3a2c9b0dd9 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg index d391e9df4f..88eceaa49d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg index eb56b0aa4c..5525d7a377 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg index c5faa17a2b..1c124bba24 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg index 1a6db5e3b5..1edf1071b7 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg index c7a7be37c0..31a2b461d8 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg index 5076c4164a..674d78f88b 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg index 03ea216f32..e2cd5c72db 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg index b29483a44f..6411ff4866 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg index 99bd3a90da..f50b4dd61d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg index eb69e804c0..eea693e4b6 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg index 4a226996b3..70482fcaa0 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Superdraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg index 444aac8eda..1fdd52a1b7 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Verydraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg index 74f7f47a4d..65230ccbb5 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg index 4702d382c7..0e6c6c1fed 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Superdraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg index 174882aa68..50e00d5834 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Verydraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg index 0a00e9e09b..9ca8d00b14 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg index 17c10b7a72..1ef191774a 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg index c562e16a8e..38a972f9b5 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg index b9a64bca38..978cef1ec3 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg index 83fd52a1fd..5a9a0fa02c 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg index 582d6e9c76..fb282ece6d 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg index fc6be3ea3d..9ff7275765 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg index 5eb690fa99..db0ad6124b 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg index c02e307b47..6483d797b1 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg index 84075aa4b9..3a46bf7096 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Superdraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg index db10f3d848..8b73df1b14 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Verydraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg index 96e25c6ad8..ec6c0e1c6b 100644 --- a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg index 6b1c3c4208..2a43fc6723 100644 --- a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg index af0741ff88..3f692384f4 100644 --- a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg index a875b0f1ce..9eb7a1d003 100644 --- a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/variants/cartesio_0.25.inst.cfg b/resources/variants/cartesio_0.25.inst.cfg index 1aa490beff..7320b478f0 100644 --- a/resources/variants/cartesio_0.25.inst.cfg +++ b/resources/variants/cartesio_0.25.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.25 mm -version = 2 +version = 3 definition = cartesio [metadata] diff --git a/resources/variants/cartesio_0.4.inst.cfg b/resources/variants/cartesio_0.4.inst.cfg index 3a818469b9..c9845910df 100644 --- a/resources/variants/cartesio_0.4.inst.cfg +++ b/resources/variants/cartesio_0.4.inst.cfg @@ -1,7 +1,6 @@ - [general] name = 0.4 mm -version = 2 +version = 3 definition = cartesio [metadata] diff --git a/resources/variants/cartesio_0.8.inst.cfg b/resources/variants/cartesio_0.8.inst.cfg index 3f6502667c..36c9676e92 100644 --- a/resources/variants/cartesio_0.8.inst.cfg +++ b/resources/variants/cartesio_0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.8 mm -version = 2 +version = 3 definition = cartesio [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg index b499db6163..a1b578fbee 100644 --- a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.25 mm -version = 2 +version = 3 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg index d2fb6f76b1..0c81fbb108 100644 --- a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.4 mm -version = 2 +version = 3 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg index e4f9f0ce45..a236ad466f 100644 --- a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.6 mm -version = 2 +version = 3 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg index 18570ea75d..15079ad671 100644 --- a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.8 mm -version = 2 +version = 3 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.25.inst.cfg b/resources/variants/ultimaker2_plus_0.25.inst.cfg index 7cab771101..4857dde768 100644 --- a/resources/variants/ultimaker2_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.25.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.25 mm -version = 2 +version = 3 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.4.inst.cfg b/resources/variants/ultimaker2_plus_0.4.inst.cfg index 748f367250..eccc52288b 100644 --- a/resources/variants/ultimaker2_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.4.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.4 mm -version = 2 +version = 3 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.6.inst.cfg b/resources/variants/ultimaker2_plus_0.6.inst.cfg index 34d0f7a5cf..d75474d7d3 100644 --- a/resources/variants/ultimaker2_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.6.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.6 mm -version = 2 +version = 3 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.8.inst.cfg b/resources/variants/ultimaker2_plus_0.8.inst.cfg index e719409060..7cc6b0a763 100644 --- a/resources/variants/ultimaker2_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.8 mm -version = 2 +version = 3 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg index c73e22db20..e66c8b77fd 100644 --- a/resources/variants/ultimaker3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_aa0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.8 -version = 2 +version = 3 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_aa04.inst.cfg b/resources/variants/ultimaker3_aa04.inst.cfg index dae256c990..bfd01cad78 100644 --- a/resources/variants/ultimaker3_aa04.inst.cfg +++ b/resources/variants/ultimaker3_aa04.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.4 -version = 2 +version = 3 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index a88c3ef6b7..0936fbb016 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.8 -version = 2 +version = 3 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_bb04.inst.cfg b/resources/variants/ultimaker3_bb04.inst.cfg index b813e8474d..f8439f091d 100644 --- a/resources/variants/ultimaker3_bb04.inst.cfg +++ b/resources/variants/ultimaker3_bb04.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.4 -version = 2 +version = 3 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg index 98860889b3..d72e440dc4 100644 --- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.8 -version = 2 +version = 3 definition = ultimaker3_extended [metadata] diff --git a/resources/variants/ultimaker3_extended_aa04.inst.cfg b/resources/variants/ultimaker3_extended_aa04.inst.cfg index 6fa09c32ea..cd4be2d955 100644 --- a/resources/variants/ultimaker3_extended_aa04.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa04.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.4 -version = 2 +version = 3 definition = ultimaker3_extended [metadata] diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index ea12c850ef..9e4f5b63ca 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.8 -version = 2 +version = 3 definition = ultimaker3_extended [metadata] diff --git a/resources/variants/ultimaker3_extended_bb04.inst.cfg b/resources/variants/ultimaker3_extended_bb04.inst.cfg index a7c43ea376..80c6764a69 100644 --- a/resources/variants/ultimaker3_extended_bb04.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb04.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.4 -version = 2 +version = 3 definition = ultimaker3_extended [metadata] From 74d6d879f70331a7aad9311e2f78423d48a1e9ad Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 10 Mar 2017 16:58:58 +0100 Subject: [PATCH 004/138] Implement version upgrade from 2.4 to 2.5 The version upgrade currently only removes the setting start_layers_at_same_position. Contributes to issue CURA-3479. --- .../VersionUpgrade24to25.py | 77 +++++++++++++++++++ .../VersionUpgrade24to25/__init__.py | 44 +++++++++++ 2 files changed, 121 insertions(+) create mode 100644 plugins/VersionUpgrade/VersionUpgrade24to25/VersionUpgrade24to25.py create mode 100644 plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/VersionUpgrade24to25.py b/plugins/VersionUpgrade/VersionUpgrade24to25/VersionUpgrade24to25.py new file mode 100644 index 0000000000..99a0f95a77 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade24to25/VersionUpgrade24to25.py @@ -0,0 +1,77 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +import configparser #To parse the files we need to upgrade and write the new files. +import io #To serialise configparser output to a string. + +from UM.VersionUpgrade import VersionUpgrade + +_removed_settings = { #Settings that were removed in 2.5. + "start_layers_at_same_position" +} + +## A collection of functions that convert the configuration of the user in Cura +# 2.4 to a configuration for Cura 2.5. +# +# All of these methods are essentially stateless. +class VersionUpgrade24to25(VersionUpgrade): + ## Gets the version number from a CFG file in Uranium's 2.4 format. + # + # Since the format may change, this is implemented for the 2.4 format only + # and needs to be included in the version upgrade system rather than + # globally in Uranium. + # + # \param serialised The serialised form of a CFG file. + # \return The version number stored in the CFG file. + # \raises ValueError The format of the version number in the file is + # incorrect. + # \raises KeyError The format of the file is incorrect. + def getCfgVersion(self, serialised): + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialised) + return int(parser.get("general", "version")) #Explicitly give an exception when this fails. That means that the file format is not recognised. + + ## Upgrades the preferences file from version 2.4 to 2.5. + # + # \param serialised The serialised form of a preferences file. + # \param filename The name of the file to upgrade. + def upgradePreferences(self, serialised, filename): + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialised) + + #Remove settings from the visible_settings. + if parser.has_section("general") and "visible_settings" in parser["general"]: + visible_settings = parser["general"]["visible_settings"].split(";") + visible_settings = filter(lambda setting: setting not in _removed_settings, visible_settings) + parser["general"]["visible_settings"] = ";".join(visible_settings) + + #Change the version number in the file. + if parser.has_section("general"): #It better have! + parser["general"]["version"] = "5" + + #Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] + + ## Upgrades an instance container from version 2.4 to 2.5. + # + # \param serialised The serialised form of a quality profile. + # \param filename The name of the file to upgrade. + def upgradeInstanceContainer(self, serialised, filename): + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialised) + + #Remove settings from the [values] section. + if parser.has_section("values"): + for removed_setting in (_removed_settings & parser["values"].keys()): #Both in keys that need to be removed and in keys present in the file. + del parser["values"][removed_setting] + + #Change the version number in the file. + if parser.has_section("general"): + parser["general"]["version"] = "3" + + #Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] \ No newline at end of file diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py b/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py new file mode 100644 index 0000000000..a7480e802d --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py @@ -0,0 +1,44 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +from . import VersionUpgrade24to25 + +from UM.i18n import i18nCatalog +catalog = i18nCatalog("cura") + +upgrade = VersionUpgrade24to25.VersionUpgrade24to25() + +def getMetaData(): + return { + "plugin": { + "name": catalog.i18nc("@label", "Version Upgrade 2.4 to 2.5"), + "author": "Ultimaker", + "version": "1.0", + "description": catalog.i18nc("@info:whatsthis", "Upgrades configurations from Cura 2.4 to Cura 2.5."), + "api": 3 + }, + "version_upgrade": { + # From To Upgrade function + ("preferences", 4): ("preferences", 5, upgrade.upgradePreferences), + ("quality", 2): ("quality", 3, upgrade.upgradeInstanceContainer), + ("variant", 2): ("variant", 3, upgrade.upgradeInstanceContainer), #We can re-use upgradeContainerStack since there is nothing specific to quality, variant or user profiles being changed. + ("user", 2): ("user", 3, upgrade.upgradeInstanceContainer) + }, + "sources": { + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, + "preferences": { + "get_version": upgrade.getCfgVersion, + "location": {"."} + }, + "user": { + "get_version": upgrade.getCfgVersion, + "location": {"./user"} + } + } + } + +def register(app): + return { "version_upgrade": upgrade } From ecc973951eaee43ae368600d4e4f5c3651f6dc17 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 13 Mar 2017 12:30:47 +0100 Subject: [PATCH 005/138] Support running unit tests for plug-ins --- CMakeLists.txt | 4 ++++ cmake/CuraTests.cmake | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 cmake/CuraTests.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 8105b677ef..90cc8e8ddb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,15 @@ project(cura NONE) cmake_minimum_required(VERSION 2.8.12) +set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/ + ${CMAKE_MODULE_PATH}) + include(GNUInstallDirs) set(URANIUM_SCRIPTS_DIR "${CMAKE_SOURCE_DIR}/../uranium/scripts" CACHE DIRECTORY "The location of the scripts directory of the Uranium repository") # Tests +include(CuraTests) # Note that we use exit 0 here to not mark the build as a failure on test failure add_custom_target(tests) add_custom_command(TARGET tests POST_BUILD COMMAND "PYTHONPATH=${CMAKE_SOURCE_DIR}/../Uranium/:${CMAKE_SOURCE_DIR}" ${PYTHON_EXECUTABLE} -m pytest -r a --junitxml=${CMAKE_BINARY_DIR}/junit.xml ${CMAKE_SOURCE_DIR} || exit 0) diff --git a/cmake/CuraTests.cmake b/cmake/CuraTests.cmake new file mode 100644 index 0000000000..d0cc842132 --- /dev/null +++ b/cmake/CuraTests.cmake @@ -0,0 +1,40 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +enable_testing() +include(CMakeParseArguments) + +function(cura_add_test) + set(_single_args NAME DIRECTORY PYTHONPATH) + cmake_parse_arguments("" "" "${_single_args}" "" ${ARGN}) + + if(NOT _NAME) + message(FATAL_ERROR "cura_add_test requires a test name argument") + endif() + + if(NOT _DIRECTORY) + message(FATAL_ERROR "cura_add_test requires a directory to test") + endif() + + if(NOT _PYTHONPATH) + set(_PYTHONPATH ${_DIRECTORY}) + endif() + + add_test( + NAME ${_NAME} + COMMAND ${PYTHON_EXECUTABLE} -m pytest --junitxml=${CMAKE_BINARY_DIR}/junit-${_NAME}.xml ${_DIRECTORY} + ) + set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT LANG=C) + set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT PYTHONPATH=${_PYTHONPATH}) +endfunction() + +cura_add_test(NAME pytest-main DIRECTORY ${CMAKE_SOURCE_DIR}/tests PYTHONPATH ${CMAKE_SOURCE_DIR}) + +file(GLOB_RECURSE _plugins plugins/*/__init__.py) +foreach(_plugin ${_plugins}) + get_filename_component(_plugin_directory ${_plugin} DIRECTORY) + if(EXISTS ${_plugin_directory}/tests) + get_filename_component(_plugin_name ${_plugin_directory} NAME) + cura_add_test(NAME pytest-${_plugin_name} DIRECTORY ${_plugin_directory} PYTHONPATH "${CMAKE_SOURCE_DIR}:${_plugin_directory}") + endif() +endforeach() From 1d22d87ae09f40ac1d8f0753da6ac2361c8928b6 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 13 Mar 2017 12:40:10 +0100 Subject: [PATCH 006/138] Ignore .cache directory created by unit tests CTest creates this directory for its test results. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3f7faebf5a..22d42783f2 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ resources/i18n/x-test resources/firmware resources/materials LC_MESSAGES +.cache # Editors and IDEs. *kdev* From e83fd3a321ca4854a2a70d5eb2afe0cc2bb87e8d Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 13 Mar 2017 12:40:47 +0100 Subject: [PATCH 007/138] Remove old adding of tests No longer needed. --- CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 90cc8e8ddb..c7b5a64056 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,9 +10,6 @@ set(URANIUM_SCRIPTS_DIR "${CMAKE_SOURCE_DIR}/../uranium/scripts" CACHE DIRECTORY # Tests include(CuraTests) -# Note that we use exit 0 here to not mark the build as a failure on test failure -add_custom_target(tests) -add_custom_command(TARGET tests POST_BUILD COMMAND "PYTHONPATH=${CMAKE_SOURCE_DIR}/../Uranium/:${CMAKE_SOURCE_DIR}" ${PYTHON_EXECUTABLE} -m pytest -r a --junitxml=${CMAKE_BINARY_DIR}/junit.xml ${CMAKE_SOURCE_DIR} || exit 0) option(CURA_DEBUGMODE "Enable debug dialog and other debug features" OFF) if(CURA_DEBUGMODE) From b29ccdc6593b59dfe288c37f03995edc6c6fd7b2 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 13 Mar 2017 12:41:59 +0100 Subject: [PATCH 008/138] Add Uranium to PYTHONPATH for testing This 'assumes' you have Uranium as a sister-directory next to Cura. This is how it's always been. We should probably change that to a CMake variable some day. --- cmake/CuraTests.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CuraTests.cmake b/cmake/CuraTests.cmake index d0cc842132..ff529f7d25 100644 --- a/cmake/CuraTests.cmake +++ b/cmake/CuraTests.cmake @@ -35,6 +35,6 @@ foreach(_plugin ${_plugins}) get_filename_component(_plugin_directory ${_plugin} DIRECTORY) if(EXISTS ${_plugin_directory}/tests) get_filename_component(_plugin_name ${_plugin_directory} NAME) - cura_add_test(NAME pytest-${_plugin_name} DIRECTORY ${_plugin_directory} PYTHONPATH "${CMAKE_SOURCE_DIR}:${_plugin_directory}") + cura_add_test(NAME pytest-${_plugin_name} DIRECTORY ${_plugin_directory} PYTHONPATH "${CMAKE_SOURCE_DIR}/../Uranium:${CMAKE_SOURCE_DIR}:${_plugin_directory}") endif() endforeach() From cbfbc70fa3e5e6f5f67a3b62f3daf8cbd0e03a07 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 10 Mar 2017 16:49:57 +0100 Subject: [PATCH 009/138] Upgrade built-in instance containers These are now upgraded to version 3, meaning that they will have to increase their version numbers and remove any start_layers_at_same_position settings they define. None of these profiles define any start_layers_at_same_position so it's just the version number then. Contributes to issue CURA-3479. --- resources/quality/abax_pri3/apri3_pla_fast.inst.cfg | 3 +-- resources/quality/abax_pri3/apri3_pla_high.inst.cfg | 3 +-- resources/quality/abax_pri3/apri3_pla_normal.inst.cfg | 3 +-- resources/quality/abax_pri5/apri5_pla_fast.inst.cfg | 3 +-- resources/quality/abax_pri5/apri5_pla_high.inst.cfg | 3 +-- resources/quality/abax_pri5/apri5_pla_normal.inst.cfg | 3 +-- resources/quality/abax_titan/atitan_pla_fast.inst.cfg | 3 +-- resources/quality/abax_titan/atitan_pla_high.inst.cfg | 4 ++-- resources/quality/abax_titan/atitan_pla_normal.inst.cfg | 3 +-- resources/quality/high.inst.cfg | 2 +- resources/quality/low.inst.cfg | 2 +- resources/quality/normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_global_Draft_Quality.inst.cfg | 2 +- resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg | 2 +- resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_global_Normal_Quality.inst.cfg | 2 +- resources/variants/cartesio_0.25.inst.cfg | 2 +- resources/variants/cartesio_0.4.inst.cfg | 3 +-- resources/variants/cartesio_0.8.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.25.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.4.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.6.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.8.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.25.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.4.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.6.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.8.inst.cfg | 2 +- resources/variants/ultimaker3_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker3_aa04.inst.cfg | 2 +- resources/variants/ultimaker3_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker3_bb04.inst.cfg | 2 +- resources/variants/ultimaker3_extended_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker3_extended_aa04.inst.cfg | 2 +- resources/variants/ultimaker3_extended_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker3_extended_bb04.inst.cfg | 2 +- 123 files changed, 124 insertions(+), 133 deletions(-) diff --git a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg index 7f3bf240ac..4df5531c46 100644 --- a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_pri3 diff --git a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg index be93de160e..eeb3a8c518 100644 --- a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = High Quality definition = abax_pri3 diff --git a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg index a116ff4485..1c2dab370c 100644 --- a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_pri3 diff --git a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg index 4bfb02fe77..eb7b9c29c5 100644 --- a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_pri5 diff --git a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg index 4c89f5cf28..1e83f1ee34 100644 --- a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = High Quality definition = abax_pri5 diff --git a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg index fc11c5af19..183ec9524d 100644 --- a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_pri5 diff --git a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg index 63189c1ed1..327329bcd5 100644 --- a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_titan diff --git a/resources/quality/abax_titan/atitan_pla_high.inst.cfg b/resources/quality/abax_titan/atitan_pla_high.inst.cfg index 7d6f8bb3d7..b5abf4ddf4 100644 --- a/resources/quality/abax_titan/atitan_pla_high.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_high.inst.cfg @@ -1,8 +1,8 @@ - [general] -version = 2 +version = 3 name = High Quality definition = abax_titan + [metadata] type = quality material = generic_pla diff --git a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg index 6de6a1df32..691ad92cc6 100644 --- a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg @@ -1,6 +1,5 @@ - [general] -version = 2 +version = 3 name = Normal Quality definition = abax_titan diff --git a/resources/quality/high.inst.cfg b/resources/quality/high.inst.cfg index 921dae9ae0..bddd48d4a9 100644 --- a/resources/quality/high.inst.cfg +++ b/resources/quality/high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = fdmprinter diff --git a/resources/quality/low.inst.cfg b/resources/quality/low.inst.cfg index 82d4e0d327..d23ae8fdf7 100644 --- a/resources/quality/low.inst.cfg +++ b/resources/quality/low.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Low Quality definition = fdmprinter diff --git a/resources/quality/normal.inst.cfg b/resources/quality/normal.inst.cfg index 26da3b48da..cc2a5f44f1 100644 --- a/resources/quality/normal.inst.cfg +++ b/resources/quality/normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = fdmprinter diff --git a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg index db2b48b3cc..b38372ac7d 100644 --- a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg index d3f2740202..b28b72b01c 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg index d3347b4712..d02d3899ca 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg index 758225535a..0fa19a0f16 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg index 5eed5965e4..e23825853b 100644 --- a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg index 96a81d874e..f443f72c8a 100644 --- a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg index cd99fc0f8a..abb32070fa 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg index e52a201789..96e08796b9 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg index 4cbe9f4b88..39d85b27b5 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg index 3cfa744787..81b3b8f2fa 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg index 848441de61..28cdff9626 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg index 20a35f157f..1c70f3ca43 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg index 29f1577d12..bb330d3ae2 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg index edba5d2c79..a1549778f8 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg index a2442e6c96..2947f09874 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg index 4993e97bb0..5c240f2be9 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg index ceaf31e153..6ee0eb718c 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg index f81e931218..ef31776dfe 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg index 294db7c10d..4897361215 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg index 91059f94b3..92c79535ef 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg index 6d1cb47835..cf249c3d4e 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg index 1dbe3a56c8..6ce065143f 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg index 1b92686d50..09d8ddfa25 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg index 30746a1ac2..aedcb1b0d4 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg index fea97a2621..64739d1175 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg index 56be2489a5..aa32fd9a98 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg index 80948add53..9702371448 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg index 8385b3f895..9352b133b0 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg index d9e393b778..387f7817c6 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg index e438dca035..8c202a3404 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg index 575109e588..9723509857 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg index abd8f499bc..ec73dba4ca 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg index 06f67b7298..23da67deb9 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg index be595385a4..23ad9edbc2 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg index f20351cbb4..968dccc715 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg index 469cab12cc..a31e42ab7b 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg index bfd239e3cc..c1f9fa3259 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg index bf65d1b8aa..8458755c2b 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg index 53fab6b028..3c8b9428e0 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg index 9d79bf9faa..f3ce3c383d 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg index 5c37a8432a..04f0012b9a 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg index 106476d57c..7880dfaa02 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg index e0a0388227..9a619e79e2 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg index 00d93f3575..af48af3a90 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg index 066a044ee0..b1d3b13674 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg index 850af33c27..8ce21e605b 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg index 3793bf8b5e..5c1691b5e7 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg index f8090e057c..8f94c73f94 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg index a8d989fbae..4217ba535d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg index 5495276f1c..af9167ae92 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg index d18b878a4f..8e4f4ba6be 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg index 7a536ce033..3f0a4c98a4 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg index 96467fe36c..e0bee51de7 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg index 1fd6167e67..ca358de7c4 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg index 5ad1ef6b43..d403b9d96e 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg index 6899989100..4c31ab9d91 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg index 76a2491079..eb90edccf0 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg index ba50bc4d31..b00cef91c1 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg index bebd9976f5..1180e16d5d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg index e9370877e7..0d7ca69d8e 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg index cdb37b8f12..61cdf80c86 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg index f5e91fa71b..3a2c9b0dd9 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg index d391e9df4f..88eceaa49d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg index eb56b0aa4c..5525d7a377 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg index c5faa17a2b..1c124bba24 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg index 1a6db5e3b5..1edf1071b7 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg index c7a7be37c0..31a2b461d8 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg index 5076c4164a..674d78f88b 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg index 03ea216f32..e2cd5c72db 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg index b29483a44f..6411ff4866 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg index 99bd3a90da..f50b4dd61d 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg index eb69e804c0..eea693e4b6 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg index 4a226996b3..70482fcaa0 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Superdraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg index 444aac8eda..1fdd52a1b7 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Verydraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg index 74f7f47a4d..65230ccbb5 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg index 4702d382c7..0e6c6c1fed 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Superdraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg index 174882aa68..50e00d5834 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Verydraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg index 0a00e9e09b..9ca8d00b14 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg index 17c10b7a72..1ef191774a 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg index c562e16a8e..38a972f9b5 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg index b9a64bca38..978cef1ec3 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg index 83fd52a1fd..5a9a0fa02c 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg index 582d6e9c76..fb282ece6d 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg index fc6be3ea3d..9ff7275765 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg index 5eb690fa99..db0ad6124b 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg index c02e307b47..6483d797b1 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg index 84075aa4b9..3a46bf7096 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Superdraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg index db10f3d848..8b73df1b14 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Verydraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg index 96e25c6ad8..ec6c0e1c6b 100644 --- a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Draft Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg index 6b1c3c4208..2a43fc6723 100644 --- a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Fast Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg index af0741ff88..3f692384f4 100644 --- a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg index a875b0f1ce..9eb7a1d003 100644 --- a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Normal Quality definition = ultimaker3 diff --git a/resources/variants/cartesio_0.25.inst.cfg b/resources/variants/cartesio_0.25.inst.cfg index 1aa490beff..7320b478f0 100644 --- a/resources/variants/cartesio_0.25.inst.cfg +++ b/resources/variants/cartesio_0.25.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.25 mm -version = 2 +version = 3 definition = cartesio [metadata] diff --git a/resources/variants/cartesio_0.4.inst.cfg b/resources/variants/cartesio_0.4.inst.cfg index 3a818469b9..c9845910df 100644 --- a/resources/variants/cartesio_0.4.inst.cfg +++ b/resources/variants/cartesio_0.4.inst.cfg @@ -1,7 +1,6 @@ - [general] name = 0.4 mm -version = 2 +version = 3 definition = cartesio [metadata] diff --git a/resources/variants/cartesio_0.8.inst.cfg b/resources/variants/cartesio_0.8.inst.cfg index 3f6502667c..36c9676e92 100644 --- a/resources/variants/cartesio_0.8.inst.cfg +++ b/resources/variants/cartesio_0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.8 mm -version = 2 +version = 3 definition = cartesio [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg index b499db6163..a1b578fbee 100644 --- a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.25 mm -version = 2 +version = 3 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg index d2fb6f76b1..0c81fbb108 100644 --- a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.4 mm -version = 2 +version = 3 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg index e4f9f0ce45..a236ad466f 100644 --- a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.6 mm -version = 2 +version = 3 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg index 18570ea75d..15079ad671 100644 --- a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.8 mm -version = 2 +version = 3 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.25.inst.cfg b/resources/variants/ultimaker2_plus_0.25.inst.cfg index 7cab771101..4857dde768 100644 --- a/resources/variants/ultimaker2_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.25.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.25 mm -version = 2 +version = 3 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.4.inst.cfg b/resources/variants/ultimaker2_plus_0.4.inst.cfg index 748f367250..eccc52288b 100644 --- a/resources/variants/ultimaker2_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.4.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.4 mm -version = 2 +version = 3 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.6.inst.cfg b/resources/variants/ultimaker2_plus_0.6.inst.cfg index 34d0f7a5cf..d75474d7d3 100644 --- a/resources/variants/ultimaker2_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.6.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.6 mm -version = 2 +version = 3 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.8.inst.cfg b/resources/variants/ultimaker2_plus_0.8.inst.cfg index e719409060..7cc6b0a763 100644 --- a/resources/variants/ultimaker2_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.8 mm -version = 2 +version = 3 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg index c73e22db20..e66c8b77fd 100644 --- a/resources/variants/ultimaker3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_aa0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.8 -version = 2 +version = 3 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_aa04.inst.cfg b/resources/variants/ultimaker3_aa04.inst.cfg index dae256c990..bfd01cad78 100644 --- a/resources/variants/ultimaker3_aa04.inst.cfg +++ b/resources/variants/ultimaker3_aa04.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.4 -version = 2 +version = 3 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index a88c3ef6b7..0936fbb016 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.8 -version = 2 +version = 3 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_bb04.inst.cfg b/resources/variants/ultimaker3_bb04.inst.cfg index b813e8474d..f8439f091d 100644 --- a/resources/variants/ultimaker3_bb04.inst.cfg +++ b/resources/variants/ultimaker3_bb04.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.4 -version = 2 +version = 3 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg index 98860889b3..d72e440dc4 100644 --- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.8 -version = 2 +version = 3 definition = ultimaker3_extended [metadata] diff --git a/resources/variants/ultimaker3_extended_aa04.inst.cfg b/resources/variants/ultimaker3_extended_aa04.inst.cfg index 6fa09c32ea..cd4be2d955 100644 --- a/resources/variants/ultimaker3_extended_aa04.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa04.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.4 -version = 2 +version = 3 definition = ultimaker3_extended [metadata] diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index ea12c850ef..9e4f5b63ca 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.8 -version = 2 +version = 3 definition = ultimaker3_extended [metadata] diff --git a/resources/variants/ultimaker3_extended_bb04.inst.cfg b/resources/variants/ultimaker3_extended_bb04.inst.cfg index a7c43ea376..80c6764a69 100644 --- a/resources/variants/ultimaker3_extended_bb04.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb04.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.4 -version = 2 +version = 3 definition = ultimaker3_extended [metadata] From f15990e89cf7c64ef2f0ff80f3ed6c1b951197d5 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 10 Mar 2017 16:58:58 +0100 Subject: [PATCH 010/138] Implement version upgrade from 2.4 to 2.5 The version upgrade currently only removes the setting start_layers_at_same_position. Contributes to issue CURA-3479. --- .../VersionUpgrade24to25.py | 77 +++++++++++++++++++ .../VersionUpgrade24to25/__init__.py | 44 +++++++++++ 2 files changed, 121 insertions(+) create mode 100644 plugins/VersionUpgrade/VersionUpgrade24to25/VersionUpgrade24to25.py create mode 100644 plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/VersionUpgrade24to25.py b/plugins/VersionUpgrade/VersionUpgrade24to25/VersionUpgrade24to25.py new file mode 100644 index 0000000000..99a0f95a77 --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade24to25/VersionUpgrade24to25.py @@ -0,0 +1,77 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +import configparser #To parse the files we need to upgrade and write the new files. +import io #To serialise configparser output to a string. + +from UM.VersionUpgrade import VersionUpgrade + +_removed_settings = { #Settings that were removed in 2.5. + "start_layers_at_same_position" +} + +## A collection of functions that convert the configuration of the user in Cura +# 2.4 to a configuration for Cura 2.5. +# +# All of these methods are essentially stateless. +class VersionUpgrade24to25(VersionUpgrade): + ## Gets the version number from a CFG file in Uranium's 2.4 format. + # + # Since the format may change, this is implemented for the 2.4 format only + # and needs to be included in the version upgrade system rather than + # globally in Uranium. + # + # \param serialised The serialised form of a CFG file. + # \return The version number stored in the CFG file. + # \raises ValueError The format of the version number in the file is + # incorrect. + # \raises KeyError The format of the file is incorrect. + def getCfgVersion(self, serialised): + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialised) + return int(parser.get("general", "version")) #Explicitly give an exception when this fails. That means that the file format is not recognised. + + ## Upgrades the preferences file from version 2.4 to 2.5. + # + # \param serialised The serialised form of a preferences file. + # \param filename The name of the file to upgrade. + def upgradePreferences(self, serialised, filename): + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialised) + + #Remove settings from the visible_settings. + if parser.has_section("general") and "visible_settings" in parser["general"]: + visible_settings = parser["general"]["visible_settings"].split(";") + visible_settings = filter(lambda setting: setting not in _removed_settings, visible_settings) + parser["general"]["visible_settings"] = ";".join(visible_settings) + + #Change the version number in the file. + if parser.has_section("general"): #It better have! + parser["general"]["version"] = "5" + + #Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] + + ## Upgrades an instance container from version 2.4 to 2.5. + # + # \param serialised The serialised form of a quality profile. + # \param filename The name of the file to upgrade. + def upgradeInstanceContainer(self, serialised, filename): + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(serialised) + + #Remove settings from the [values] section. + if parser.has_section("values"): + for removed_setting in (_removed_settings & parser["values"].keys()): #Both in keys that need to be removed and in keys present in the file. + del parser["values"][removed_setting] + + #Change the version number in the file. + if parser.has_section("general"): + parser["general"]["version"] = "3" + + #Re-serialise the file. + output = io.StringIO() + parser.write(output) + return [filename], [output.getvalue()] \ No newline at end of file diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py b/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py new file mode 100644 index 0000000000..a7480e802d --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py @@ -0,0 +1,44 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +from . import VersionUpgrade24to25 + +from UM.i18n import i18nCatalog +catalog = i18nCatalog("cura") + +upgrade = VersionUpgrade24to25.VersionUpgrade24to25() + +def getMetaData(): + return { + "plugin": { + "name": catalog.i18nc("@label", "Version Upgrade 2.4 to 2.5"), + "author": "Ultimaker", + "version": "1.0", + "description": catalog.i18nc("@info:whatsthis", "Upgrades configurations from Cura 2.4 to Cura 2.5."), + "api": 3 + }, + "version_upgrade": { + # From To Upgrade function + ("preferences", 4): ("preferences", 5, upgrade.upgradePreferences), + ("quality", 2): ("quality", 3, upgrade.upgradeInstanceContainer), + ("variant", 2): ("variant", 3, upgrade.upgradeInstanceContainer), #We can re-use upgradeContainerStack since there is nothing specific to quality, variant or user profiles being changed. + ("user", 2): ("user", 3, upgrade.upgradeInstanceContainer) + }, + "sources": { + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, + "preferences": { + "get_version": upgrade.getCfgVersion, + "location": {"."} + }, + "user": { + "get_version": upgrade.getCfgVersion, + "location": {"./user"} + } + } + } + +def register(app): + return { "version_upgrade": upgrade } From ce50a6ebf1b568d8aef70edb5c51c72f2914a5ee Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 13 Mar 2017 12:44:18 +0100 Subject: [PATCH 011/138] Add tests for cfg_version These test if the output of cfg_version is as expected. Contributes to issue CURA-3479. --- .../tests/TestVersionUpgrade24to25.py | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py b/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py new file mode 100644 index 0000000000..1e4cae95af --- /dev/null +++ b/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py @@ -0,0 +1,95 @@ +# Copyright (c) 2017 Ultimaker B.V. +# Cura is released under the terms of the AGPLv3 or higher. + +import configparser #To check whether the appropriate exceptions are raised. +import pytest #To register tests with. + +import VersionUpgrade24to25 #The module we're testing. + +## Creates an instance of the upgrader to test with. +@pytest.fixture +def upgrader(): + return VersionUpgrade24to25.VersionUpgrade24to25() + +test_cfg_version_good_data = [ + { + "test_name": "Simple", + "file_data": """[general] +version = 1 +""", + "version": 1 + }, + { + "test_name": "Other Data Around", + "file_data": """[nonsense] +life = good + +[general] +version = 3 + +[values] +layer_height = 0.12 +infill_sparse_density = 42 +""", + "version": 3 + }, + { + "test_name": "Negative Version", #Why not? + "file_data": """[general] +version = -20 +""", + "version": -20 + } +] + +## Tests the technique that gets the version number from CFG files. +# +# \param data The parametrised data to test with. It contains a test name +# to debug with, the serialised contents of a CFG file and the correct +# version number in that CFG file. +# \param upgrader The instance of the upgrade class to test. +@pytest.mark.parametrize("data", test_cfg_version_good_data) +def test_cfg_version_good(data, upgrader): + version = upgrader.getCfgVersion(data["file_data"]) + assert version == data["version"] + +test_cfg_version_bad_data = [ + { + "test_name": "Empty", + "file_data": "", + "exception": configparser.Error #Explicitly not specified further which specific error we're getting, because that depends on the implementation of configparser. + }, + { + "test_name": "No General", + "file_data": """[values] +layer_height = 0.1337 +""", + "exception": configparser.Error + }, + { + "test_name": "No Version", + "file_data": """[general] +true = false +""", + "exception": configparser.Error + }, + { + "test_name": "Not a Number", + "file_data": """[general] +version = not-a-text-version-number +""", + "exception": ValueError + } +] + +## Tests whether getting a version number from bad CFG files gives an +# exception. +# +# \param data The parametrised data to test with. It contains a test name +# to debug with, the serialised contents of a CFG file and the class of +# exception it needs to throw. +# \param upgrader The instance of the upgrader to test. +@pytest.mark.parametrize("data", test_cfg_version_bad_data) +def test_cfg_version_bad(data, upgrader): + with pytest.raises(data["exception"]): + upgrader.getCfgVersion(data["file_data"]) \ No newline at end of file From 14faf1abad0ab1978e170826713c7a2f88024294 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 13 Mar 2017 12:49:48 +0100 Subject: [PATCH 012/138] Use correct naming scheme for functions It needs to start with 'test_' for pytest. But otherwise it needs to follow our naming conventions for function names. Contributes to issue CURA-3479. --- .../VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py b/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py index 1e4cae95af..065e778462 100644 --- a/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py +++ b/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py @@ -49,7 +49,7 @@ version = -20 # version number in that CFG file. # \param upgrader The instance of the upgrade class to test. @pytest.mark.parametrize("data", test_cfg_version_good_data) -def test_cfg_version_good(data, upgrader): +def test_cfgVersionGood(data, upgrader): version = upgrader.getCfgVersion(data["file_data"]) assert version == data["version"] @@ -90,6 +90,6 @@ version = not-a-text-version-number # exception it needs to throw. # \param upgrader The instance of the upgrader to test. @pytest.mark.parametrize("data", test_cfg_version_bad_data) -def test_cfg_version_bad(data, upgrader): +def test_cfgVersionBad(data, upgrader): with pytest.raises(data["exception"]): upgrader.getCfgVersion(data["file_data"]) \ No newline at end of file From d866216f0c431abcd0cfef66a748c6c2adc199bc Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 13 Mar 2017 13:39:10 +0100 Subject: [PATCH 013/138] Add tests for removed settings from preferences files Contributes to issue CURA-3479. --- .../tests/TestVersionUpgrade24to25.py | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py b/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py index 065e778462..03c58bff18 100644 --- a/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py +++ b/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py @@ -92,4 +92,45 @@ version = not-a-text-version-number @pytest.mark.parametrize("data", test_cfg_version_bad_data) def test_cfgVersionBad(data, upgrader): with pytest.raises(data["exception"]): - upgrader.getCfgVersion(data["file_data"]) \ No newline at end of file + upgrader.getCfgVersion(data["file_data"]) + +test_removed_settings_data = [ + { + "test_name": "Removed Setting", + "file_data": """[general] +visible_settings = baby;you;know;how;I;like;to;start_layers_at_same_position +""", + }, + { + "test_name": "No Removed Setting", + "file_data": """[general] +visible_settings = baby;you;now;how;I;like;to;eat;chocolate;muffins +""" +}, + { + "test_name": "No Visible Settings Key", + "file_data": """[general] +cura = cool +""" + }, + { + "test_name": "No General Category", + "file_data": """[foos] +foo = bar +""" + } +] + +## Tests whether the settings that should be removed are removed for the 2.5 +# version of preferences. +@pytest.mark.parametrize("data", test_removed_settings_data) +def test_upgradePreferencesRemovedSettings(data, upgrader): + _, upgraded_preferences = upgrader.upgradePreferences(data["file_data"], "") + upgraded_preferences = upgraded_preferences[0] + + #Find whether the removed setting is removed from the file now. + bad_setting = "start_layers_at_same_position" + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(upgraded_preferences) + if parser.has_section("general") and "visible_settings" in parser["general"]: + assert bad_setting not in parser["general"]["visible_settings"] \ No newline at end of file From ad0d0bbd9678cdb46423fc3f2178f30bd2791a9a Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 13 Mar 2017 13:49:19 +0100 Subject: [PATCH 014/138] Add test for removing settings from instance containers Currently only the happy path. I plan to add tests whether the rest of the settings are still intact. Contributes to issue CURA-3479. --- .../tests/TestVersionUpgrade24to25.py | 44 +++++++++++++++++-- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py b/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py index 03c58bff18..8ee6f7e9f3 100644 --- a/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py +++ b/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py @@ -94,7 +94,7 @@ def test_cfgVersionBad(data, upgrader): with pytest.raises(data["exception"]): upgrader.getCfgVersion(data["file_data"]) -test_removed_settings_data = [ +test_upgrade_preferences_removed_settings_data = [ { "test_name": "Removed Setting", "file_data": """[general] @@ -123,14 +123,50 @@ foo = bar ## Tests whether the settings that should be removed are removed for the 2.5 # version of preferences. -@pytest.mark.parametrize("data", test_removed_settings_data) +@pytest.mark.parametrize("data", test_upgrade_preferences_removed_settings_data) def test_upgradePreferencesRemovedSettings(data, upgrader): _, upgraded_preferences = upgrader.upgradePreferences(data["file_data"], "") upgraded_preferences = upgraded_preferences[0] #Find whether the removed setting is removed from the file now. - bad_setting = "start_layers_at_same_position" + bad_setting = "start_layers_at_same_position" #One of the forbidden settings. parser = configparser.ConfigParser(interpolation = None) parser.read_string(upgraded_preferences) if parser.has_section("general") and "visible_settings" in parser["general"]: - assert bad_setting not in parser["general"]["visible_settings"] \ No newline at end of file + assert bad_setting not in parser["general"]["visible_settings"] + +test_upgrade_instance_container_removed_settings_data = [ + { + "test_name": "Removed Setting", + "file_data": """[values] +layer_height = 0.1337 +start_layers_at_same_position = True +""" + }, + { + "test_name": "No Removed Setting", + "file_data": """[values] +oceans_number = 11 +""" + }, + { + "test_name": "No Values Category", + "file_data": """[general] +type = instance_container +""" + } +] + +## Tests whether the settings that should be removed are removed for the 2.5 +# version of instance containers. +@pytest.mark.parametrize("data", test_upgrade_instance_container_removed_settings_data) +def test_upgradeInstanceContainerRemovedSettings(data, upgrader): + _, upgraded_container = upgrader.upgradeInstanceContainer(data["file_data"], "") + upgraded_container = upgraded_container[0] + + #Find whether the forbidden setting is still in the container. + bad_setting = "start_layers_at_same_position" #One of the forbidden settings. + parser = configparser.ConfigParser(interpolation = None) + parser.read_string(upgraded_container) + if parser.has_section("values"): + assert bad_setting not in parser["values"] \ No newline at end of file From 94c607e785ea8602e2f8bf90cc5aac7f28ab4a66 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 13 Mar 2017 14:08:56 +0100 Subject: [PATCH 015/138] Also tests whether the upgrade didn't remove any good settings It shouldn't remove any settings that are not set for removing. It's now also using the actual _removed_settings property to make sure that the test upgrades for the simple case of another removed setting. Contributes to issue CURA-3479. --- .../tests/TestVersionUpgrade24to25.py | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py b/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py index 8ee6f7e9f3..cb7300ad87 100644 --- a/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py +++ b/plugins/VersionUpgrade/VersionUpgrade24to25/tests/TestVersionUpgrade24to25.py @@ -125,15 +125,24 @@ foo = bar # version of preferences. @pytest.mark.parametrize("data", test_upgrade_preferences_removed_settings_data) def test_upgradePreferencesRemovedSettings(data, upgrader): + #Get the settings from the original file. + original_parser = configparser.ConfigParser(interpolation = None) + original_parser.read_string(data["file_data"]) + settings = set() + if original_parser.has_section("general") and "visible_settings" in original_parser["general"]: + settings = set(original_parser["general"]["visible_settings"].split(";")) + + #Perform the upgrade. _, upgraded_preferences = upgrader.upgradePreferences(data["file_data"], "") upgraded_preferences = upgraded_preferences[0] #Find whether the removed setting is removed from the file now. - bad_setting = "start_layers_at_same_position" #One of the forbidden settings. + settings -= VersionUpgrade24to25._removed_settings parser = configparser.ConfigParser(interpolation = None) parser.read_string(upgraded_preferences) - if parser.has_section("general") and "visible_settings" in parser["general"]: - assert bad_setting not in parser["general"]["visible_settings"] + assert (parser.has_section("general") and "visible_settings" in parser["general"]) == (len(settings) > 0) #If there are settings, there must also be a preference. + if settings: + assert settings == set(parser["general"]["visible_settings"].split(";")) test_upgrade_instance_container_removed_settings_data = [ { @@ -161,12 +170,21 @@ type = instance_container # version of instance containers. @pytest.mark.parametrize("data", test_upgrade_instance_container_removed_settings_data) def test_upgradeInstanceContainerRemovedSettings(data, upgrader): + #Get the settings from the original file. + original_parser = configparser.ConfigParser(interpolation = None) + original_parser.read_string(data["file_data"]) + settings = set() + if original_parser.has_section("values"): + settings = set(original_parser["values"]) + + #Perform the upgrade. _, upgraded_container = upgrader.upgradeInstanceContainer(data["file_data"], "") upgraded_container = upgraded_container[0] #Find whether the forbidden setting is still in the container. - bad_setting = "start_layers_at_same_position" #One of the forbidden settings. + settings -= VersionUpgrade24to25._removed_settings parser = configparser.ConfigParser(interpolation = None) parser.read_string(upgraded_container) - if parser.has_section("values"): - assert bad_setting not in parser["values"] \ No newline at end of file + assert parser.has_section("values") == (len(settings) > 0) #If there are settings, there must also be the values category. + if settings: + assert settings == set(parser["values"]) From 3c9010fde44690c21ef133bbf234b77ad29cbba4 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 13 Mar 2017 15:29:25 +0100 Subject: [PATCH 016/138] Minor refactor to improve readability CURA-3390 --- plugins/GCodeReader/GCodeReader.py | 52 +++++++++++++++++------------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index 290b66343e..02c50cb0ed 100644 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -32,14 +32,18 @@ class GCodeReader(MeshReader): Application.getInstance().hideMessageSignal.connect(self._onHideMessage) self._cancelled = False self._message = None + self._layer_number = 0 + self._extruder_number = 0 + self._clearValues() self._scene_node = None self._position = namedtuple('Position', ['x', 'y', 'z', 'e']) + self._is_layers_in_file = False def _clearValues(self): - self._extruder = 0 + self._extruder_number = 0 self._layer_type = LayerPolygon.Inset0Type - self._layer = 0 + self._layer_number = 0 self._previous_z = 0 self._layer_data_builder = LayerDataBuilder.LayerDataBuilder() self._center_is_zero = False @@ -90,10 +94,10 @@ class GCodeReader(MeshReader): if countvalid < 2: return False try: - self._layer_data_builder.addLayer(self._layer) - self._layer_data_builder.setLayerHeight(self._layer, path[0][2]) - self._layer_data_builder.setLayerThickness(self._layer, math.fabs(current_z - self._previous_z)) - this_layer = self._layer_data_builder.getLayer(self._layer) + self._layer_data_builder.addLayer(self._layer_number) + self._layer_data_builder.setLayerHeight(self._layer_number, path[0][2]) + self._layer_data_builder.setLayerThickness(self._layer_number, math.fabs(current_z - self._previous_z)) + this_layer = self._layer_data_builder.getLayer(self._layer_number) except ValueError: return False count = len(path) @@ -116,7 +120,7 @@ class GCodeReader(MeshReader): line_widths[i - 1] = 0.2 i += 1 - this_poly = LayerPolygon(self._extruder, line_types, points, line_widths, line_thicknesses) + this_poly = LayerPolygon(self._extruder_number, line_types, points, line_widths, line_thicknesses) this_poly.buildCache() this_layer.polygons.append(this_poly) @@ -133,18 +137,18 @@ class GCodeReader(MeshReader): self._previous_z = z z = params.z if params.e is not None: - if params.e > e[self._extruder]: + if params.e > e[self._extruder_number]: path.append([x, y, z, self._layer_type]) # extrusion else: path.append([x, y, z, LayerPolygon.MoveRetractionType]) # retraction - e[self._extruder] = params.e + e[self._extruder_number] = params.e else: path.append([x, y, z, LayerPolygon.MoveCombingType]) if z_changed: if not self._is_layers_in_file: if len(path) > 1 and z > 0: if self._createPolygon(z, path): - self._layer += 1 + self._layer_number += 1 path.clear() else: path.clear() @@ -159,7 +163,7 @@ class GCodeReader(MeshReader): def _gCode92(self, position, params, path): if params.e is not None: - position.e[self._extruder] = params.e + position.e[self._extruder_number] = params.e return self._position( params.x if params.x is not None else position.x, params.y if params.y is not None else position.y, @@ -182,13 +186,13 @@ class GCodeReader(MeshReader): return position def _processTCode(self, T, line, position, path): - self._extruder = T - if self._extruder + 1 > len(position.e): - position.e.extend([0] * (self._extruder - len(position.e) + 1)) + self._extruder_number = T + if self._extruder_number + 1 > len(position.e): + position.e.extend([0] * (self._extruder_number - len(position.e) + 1)) if not self._is_layers_in_file: if len(path) > 1 and position[2] > 0: if self._createPolygon(position[2], path): - self._layer += 1 + self._layer_number += 1 path.clear() else: path.clear() @@ -202,12 +206,13 @@ class GCodeReader(MeshReader): self._cancelled = False scene_node = SceneNode() - scene_node.getBoundingBox = self._getNullBoundingBox # Manually set bounding box, because mesh doesn't have mesh data + # Override getBoundingBox function of the sceneNode, as this node should return a bounding box, but there is no + # real data to calculate it from. + scene_node.getBoundingBox = self._getNullBoundingBox - glist = [] + gcode_list = [] self._is_layers_in_file = False - Logger.log("d", "Opening file %s" % file_name) with open(file_name, "r") as file: @@ -215,7 +220,7 @@ class GCodeReader(MeshReader): current_line = 0 for line in file: file_lines += 1 - glist.append(line) + gcode_list.append(line) if not self._is_layers_in_file and line[:len(self._layer_keyword)] == self._layer_keyword: self._is_layers_in_file = True file.seek(0) @@ -256,12 +261,13 @@ class GCodeReader(MeshReader): self._layer_type = LayerPolygon.SupportType elif type == "FILL": self._layer_type = LayerPolygon.InfillType + if self._is_layers_in_file and line[:len(self._layer_keyword)] == self._layer_keyword: try: layer_number = int(line[len(self._layer_keyword):]) self._createPolygon(current_position[2], current_path) current_path.clear() - self._layer = layer_number + self._layer_number = layer_number except: pass if line[0] == ";": @@ -276,7 +282,7 @@ class GCodeReader(MeshReader): if not self._is_layers_in_file and len(current_path) > 1 and current_position[2] > 0: if self._createPolygon(current_position[2], current_path): - self._layer += 1 + self._layer_number += 1 current_path.clear() material_color_map = numpy.zeros((10, 4), dtype = numpy.float32) @@ -288,13 +294,13 @@ class GCodeReader(MeshReader): scene_node.addDecorator(decorator) gcode_list_decorator = GCodeListDecorator() - gcode_list_decorator.setGCodeList(glist) + gcode_list_decorator.setGCodeList(gcode_list) scene_node.addDecorator(gcode_list_decorator) Logger.log("d", "Finished parsing %s" % file_name) self._message.hide() - if self._layer == 0: + if self._layer_number == 0: Logger.log("w", "File %s doesn't contain any valid layers" % file_name) settings = Application.getInstance().getGlobalContainerStack() From 69b8a06eca629d6a3fc86246a5a9702f9c6ec767 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 13 Mar 2017 15:33:04 +0100 Subject: [PATCH 017/138] Added documentation why gcode0 was defined to be the same as gcode1 --- plugins/GCodeReader/GCodeReader.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index 02c50cb0ed..3c30cc5407 100644 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -131,11 +131,13 @@ class GCodeReader(MeshReader): x = params.x if params.x is not None else x y = params.y if params.y is not None else y z_changed = False + if params.z is not None: if z != params.z: z_changed = True self._previous_z = z z = params.z + if params.e is not None: if params.e > e[self._extruder_number]: path.append([x, y, z, self._layer_type]) # extrusion @@ -144,6 +146,7 @@ class GCodeReader(MeshReader): e[self._extruder_number] = params.e else: path.append([x, y, z, LayerPolygon.MoveCombingType]) + if z_changed: if not self._is_layers_in_file: if len(path) > 1 and z > 0: @@ -152,8 +155,12 @@ class GCodeReader(MeshReader): path.clear() else: path.clear() + return self._position(x, y, z, e) + # G0 and G1 should be handled exactly the same. + _gCode1 = _gCode0 + def _gCode28(self, position, params, path): return self._position( params.x if params.x is not None else position.x, @@ -164,14 +171,13 @@ class GCodeReader(MeshReader): def _gCode92(self, position, params, path): if params.e is not None: position.e[self._extruder_number] = params.e + return self._position( params.x if params.x is not None else position.x, params.y if params.y is not None else position.y, params.z if params.z is not None else position.z, position.e) - _gCode1 = _gCode0 - def _processGCode(self, G, line, position, path): func = getattr(self, "_gCode%s" % G, None) x = self._getFloat(line, "X") From 412b8bcb4173e697a8a8b4617b0b70c76a72ee8c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 13 Mar 2017 15:34:30 +0100 Subject: [PATCH 018/138] Moved check to inside if statement to prevent undeeded parsing --- plugins/GCodeReader/GCodeReader.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index 3c30cc5407..d9947d0e0a 100644 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -180,11 +180,11 @@ class GCodeReader(MeshReader): def _processGCode(self, G, line, position, path): func = getattr(self, "_gCode%s" % G, None) - x = self._getFloat(line, "X") - y = self._getFloat(line, "Y") - z = self._getFloat(line, "Z") - e = self._getFloat(line, "E") if func is not None: + x = self._getFloat(line, "X") + y = self._getFloat(line, "Y") + z = self._getFloat(line, "Z") + e = self._getFloat(line, "E") if (x is not None and x < 0) or (y is not None and y < 0): self._center_is_zero = True params = self._position(x, y, z, e) From b57c5af34886844d7a7873a3d32ed00bd89d43ac Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 13 Mar 2017 15:45:59 +0100 Subject: [PATCH 019/138] Added documentation --- plugins/GCodeReader/GCodeReader.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index d9947d0e0a..2c246040e9 100644 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -161,6 +161,7 @@ class GCodeReader(MeshReader): # G0 and G1 should be handled exactly the same. _gCode1 = _gCode0 + ## Home the head. def _gCode28(self, position, params, path): return self._position( params.x if params.x is not None else position.x, @@ -168,6 +169,8 @@ class GCodeReader(MeshReader): 0, position.e) + ## Reset the current position to the values specified. + # For example: G92 X10 will set the X to 10 without any physical motion. def _gCode92(self, position, params, path): if params.e is not None: position.e[self._extruder_number] = params.e @@ -253,6 +256,7 @@ class GCodeReader(MeshReader): self._message.setProgress(math.floor(current_line / file_lines * 100)) if len(line) == 0: continue + if line.find(self._type_keyword) == 0: type = line[len(self._type_keyword):].strip() if type == "WALL-INNER": @@ -282,6 +286,7 @@ class GCodeReader(MeshReader): G = self._getInt(line, "G") if G is not None: current_position = self._processGCode(G, line, current_position, current_path) + T = self._getInt(line, "T") if T is not None: current_position = self._processTCode(T, line, current_position, current_path) From ae97e60ee42459f3d1781d9407029a8ab6785c53 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 13 Mar 2017 15:48:30 +0100 Subject: [PATCH 020/138] Added logging if unknown feature type was encountered --- plugins/GCodeReader/GCodeReader.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index 2c246040e9..16dd5c5396 100644 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -34,7 +34,7 @@ class GCodeReader(MeshReader): self._message = None self._layer_number = 0 self._extruder_number = 0 - + self._layer_type = LayerPolygon.Inset0Type self._clearValues() self._scene_node = None self._position = namedtuple('Position', ['x', 'y', 'z', 'e']) @@ -271,6 +271,8 @@ class GCodeReader(MeshReader): self._layer_type = LayerPolygon.SupportType elif type == "FILL": self._layer_type = LayerPolygon.InfillType + else: + Logger.log("w", "Encountered a unknown type (%s) while parsing g-code.", type) if self._is_layers_in_file and line[:len(self._layer_keyword)] == self._layer_keyword: try: From 1c7c5545b58282b5f6b2a33446a9f760b9bd3f78 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 13 Mar 2017 15:52:42 +0100 Subject: [PATCH 021/138] Comment checking now uses startswith --- plugins/GCodeReader/GCodeReader.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index 16dd5c5396..dd48577731 100644 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -282,7 +282,9 @@ class GCodeReader(MeshReader): self._layer_number = layer_number except: pass - if line[0] == ";": + + # This line is a comment. Ignore it. + if line.startswith(";"): continue G = self._getInt(line, "G") From c0cdddd0984f0bb3658791a6372e088e9d10a629 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 14 Mar 2017 09:59:55 +0100 Subject: [PATCH 022/138] Cura no longer crashes when NaN is recieved for printtime from engine CURA-3516 --- cura/PrintInformation.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 486a3d185b..458cc4ac0f 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -5,6 +5,7 @@ from PyQt5.QtCore import QObject, pyqtSignal, pyqtProperty from UM.FlameProfiler import pyqtSlot from UM.Application import Application +from UM.Logger import Logger from UM.Qt.Duration import Duration from UM.Preferences import Preferences from UM.Settings.ContainerRegistry import ContainerRegistry @@ -109,7 +110,12 @@ class PrintInformation(QObject): return self._material_costs def _onPrintDurationMessage(self, total_time, material_amounts): - self._current_print_time.setDuration(total_time) + if total_time != total_time: # Check for NaN. Engine can sometimes give us weird values. + Logger.log("w", "Received NaN for print duration message") + self._current_print_time.setDuration(0) + else: + self._current_print_time.setDuration(total_time) + self.currentPrintTimeChanged.emit() self._material_amounts = material_amounts From b08249b3a0645d8ac18c03bd76fb62b7da730e57 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Tue, 14 Mar 2017 10:43:03 +0100 Subject: [PATCH 023/138] Added changelogs. CURA-3467 --- plugins/ChangeLogPlugin/ChangeLog.txt | 58 +++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 4 deletions(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index bcbdb73f13..1e82317a74 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -1,9 +1,59 @@ [2.5.0] -*Layerview double slider. -The layerview now has a nice slider with double handles where you can drag maximum layer, minimum layer and the layer range. Thansk to community member Aldo Hoeben for this feature. +*Speed. +We’ve given the system a tweak, to make changing printers, profiles, materials and print cores even quicker than ever. That means less hanging around, more time printing. We’ve also adjusted the start-up speed, which is now five seconds faster. -*Included PauseBackendPlugin. -This enables pausing the backend and manually start the backend. Thanks to community member Aldo Hoeben for this feature. +*Speedup engine – Multi-threading. +This is one of the most significant improvements, making slicing even faster. Just like computers with multiple cores, Cura can process multiple operations at the same time. How’s that for efficient? + +*Better layout for 3D layer view options. +Need things to be a bit clearer? We’ve now incorporated an improved layer view for computers that support OpenGL 4.1. For OpenGL 2.0 we will automatically switch to the old layer view. Thanks to community member Aldo Hoeben for the fancy double handle slider. + +*Disable automatic slicing. +Some users told us that slicing slowed down their workflow when it auto-starts, and to improve the user experience, we added an option to disable auto-slicing if required. Thanks to community member Aldo Hoeben for contributing to this one. + +*Solidworks & Cura macro. +This macro is designed to run inside SolidWorks, open Cura and load the current document / part. You should also be able to add this macro to your toolbar inside Solidworks. + +*Auto-scale off by default. +This change needs no explanation! + +*Preheat the build plate (with a connected printer). +You can now set your Ultimaker 3 to preheat the build plate, which reduces the downtime, letting you manually speed up your printing workflow. All you need to do is use the ‘preheat’ function in the Print Monitor screen, and set the correct temperature for the active material(s). + +*G-code reader. +The g-code reader has been reintroduced, which means you can load g-code from file and display it in layer view. You can also print saved g-code files with Cura, share and re-use them, and you can check that your printed object looks right via the g-code viewer. + +*Switching profiles. +When you change a printing profile after customizing print settings, you have an option (shown in a popup) to transfer your customizations to the new profile or discard those modifications and continue with default settings instead. We’ve made this dialog window more informative and intuitive. + +*Print cost calculation. +Cura now contains code to help you calculate the cost of your print. To do so, you’ll need to enter a cost per spool and an amount of materials per spool. You can also set the cost per material and gain better control of your expenses. Thanks to our community member Aldo Hoeben for adding this feature. + +*Bug fixes + +Property renaming: Properties that start with ‘get’ have been renamed to avoid confusion. +Window overflow: This is now fixed. +Multiple machine prefixes: Multiple machine prefixes are gone when loading and saving projects. +Removal of file extension: When you save a file or project (without changing the file type), no file extension is added to the name. It’s only when you change to another file type that the extension is added. +Ultimaker 3 Extended connectivity: Selecting Ultimaker 3 Extended in Cura let you connect and print with Ultimaker 3, without any warning. This now has been fixed. +Different Y / Z colors: Y and Z colors in the tool menu are now different to the colors on the build plate. +No collision areas: No collision areas were generated for some models. +Perimeter gaps: Perimeter gaps are not filled often enough; we’ve now amended this. +File location after restart: The old version of Cura didn’t remember the last opened file location after it’s been restarted. Now it does! +Project name: The project name changes after the project is opened. +Slicing when error value is given (print core 2): When a support is printed with extruder 2 (PVA), some support settings will trigger a slice when an error value is given. We’ve now sorted this out. +Support Towers: Support Towers can now be disabled. +Support bottoms: When putting one object on top of another with some space in between, and selecting support with support bottom interface, no support bottom is printed. This has now been resolved. +Summary box size: We’ve enlarged the summary box when saving your project. +Cubic subdivision infill: In the past, the cubic subdivision infill sometimes didn’t produce the infill (WIN) – this has now been addressed. +Spiralize outer contour and fill small gaps: When combining Fill Gaps Between Walls with Spiralize Outer Contour, the model gets a massive infill. +Experimental post-processing plugin: Since the TwaekAtZ post-processing plugin is not officially supported, we added the ‘Experimental’ tag. + +*3rd party printers (bug fixes) + +Folgertech printer definition has been added +Hello BEE Prusa printer definition has been added +Material profiles for Cartesio printers have been updated [2.4.0] *Project saving & opening From 97b943736be559c7559c2faf1d2af1ae5dd430d6 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 14 Mar 2017 11:59:51 +0100 Subject: [PATCH 024/138] Use translation for text in keep/discard profile dialog --- resources/qml/DiscardOrKeepProfileChangesDialog.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/DiscardOrKeepProfileChangesDialog.qml b/resources/qml/DiscardOrKeepProfileChangesDialog.qml index 23fabb8d6c..bee657532f 100644 --- a/resources/qml/DiscardOrKeepProfileChangesDialog.qml +++ b/resources/qml/DiscardOrKeepProfileChangesDialog.qml @@ -47,7 +47,7 @@ UM.Dialog Label { - text: "You have customized some profile settings.\nWould you like to keep or discard those settings?" + text: catalog.i18nc("@text:window", "You have customized some profile settings.\nWould you like to keep or discard those settings?") anchors.margins: UM.Theme.getSize("default_margin").width font: UM.Theme.getFont("default") wrapMode: Text.WordWrap From 62de4f9ec6d65c3224c57a9cfcb6b9ec888d6487 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Tue, 14 Mar 2017 13:09:07 +0100 Subject: [PATCH 025/138] Updated version of superdraft and verydraft. CURA-3479 --- .../quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg index fd3fd1f642..ce0575ec6d 100755 --- a/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Superdraft Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg index 83afa35e2e..d4ff5e0c7e 100755 --- a/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 2 +version = 3 name = Verydraft Quality definition = ultimaker3 From 7993d9e95eaf804c1e579f06652a0084f787cf51 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 14 Mar 2017 13:30:47 +0100 Subject: [PATCH 026/138] Added **kwargs option to request write CURA-3496 --- .../RemovableDriveOutputDevice/RemovableDriveOutputDevice.py | 3 ++- plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py | 3 ++- plugins/USBPrinting/USBPrinterOutputDevice.py | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py index b6505e7e6b..d971c007bc 100644 --- a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py +++ b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py @@ -37,7 +37,8 @@ class RemovableDriveOutputDevice(OutputDevice): # meshes. # \param limit_mimetypes Should we limit the available MIME types to the # MIME types available to the currently active machine? - def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None): + # + def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None, **kwargs): filter_by_machine = True # This plugin is indended to be used by machine (regardless of what it was told to do) if self._writing: raise OutputDeviceError.DeviceBusyError() diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index b89ed58f18..a0eb253dba 100644 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -601,7 +601,8 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): # This is ignored. # \param filter_by_machine Whether to filter MIME types by machine. This # is ignored. - def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None): + # \param kwargs Keyword arguments. + def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None, **kwargs): if self._printer_state != "idle": self._error_message = Message( i18n_catalog.i18nc("@info:status", "Unable to start a new print job, printer is busy. Current printer status is %s.") % self._printer_state) diff --git a/plugins/USBPrinting/USBPrinterOutputDevice.py b/plugins/USBPrinting/USBPrinterOutputDevice.py index f7c7f2551f..a519e05f53 100644 --- a/plugins/USBPrinting/USBPrinterOutputDevice.py +++ b/plugins/USBPrinting/USBPrinterOutputDevice.py @@ -443,7 +443,8 @@ class USBPrinterOutputDevice(PrinterOutputDevice): # This is ignored. # \param filter_by_machine Whether to filter MIME types by machine. This # is ignored. - def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None): + # \param kwargs Keyword arguments. + def requestWrite(self, nodes, file_name = None, filter_by_machine = False, file_handler = None, **kwargs): container_stack = Application.getInstance().getGlobalContainerStack() if container_stack.getProperty("machine_gcode_flavor", "value") == "UltiGCode": From 50c978a05bf0ef14a22cb2ecbab5e8ddb5ad013f Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Tue, 14 Mar 2017 16:05:09 +0100 Subject: [PATCH 027/138] Fixed cura tests. --- tests/TestMachineAction.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) mode change 100644 => 100755 tests/TestMachineAction.py diff --git a/tests/TestMachineAction.py b/tests/TestMachineAction.py old mode 100644 new mode 100755 index 1d593e92a1..8a38668aaf --- a/tests/TestMachineAction.py +++ b/tests/TestMachineAction.py @@ -30,19 +30,19 @@ def test_addMachineAction(): machine_manager.addMachineAction(test_action) # Check that the machine has no supported actions yet. - assert machine_manager.getSupportedActions(test_machine) == set() + assert machine_manager.getSupportedActions(test_machine) == list() # Check if adding a supported action works. machine_manager.addSupportedAction(test_machine, "test_action") - assert machine_manager.getSupportedActions(test_machine) == {test_action} + assert machine_manager.getSupportedActions(test_machine) == [test_action, ] # Check that adding a unknown action doesn't change anything. machine_manager.addSupportedAction(test_machine, "key_that_doesnt_exist") - assert machine_manager.getSupportedActions(test_machine) == {test_action} + assert machine_manager.getSupportedActions(test_machine) == [test_action, ] # Check if adding multiple supported actions works. machine_manager.addSupportedAction(test_machine, "test_action_2") - assert machine_manager.getSupportedActions(test_machine) == {test_action, test_action_2} + assert machine_manager.getSupportedActions(test_machine) == [test_action, test_action_2] # Check that the machine has no required actions yet. assert machine_manager.getRequiredActions(test_machine) == set() @@ -53,11 +53,11 @@ def test_addMachineAction(): ## Check if adding single required action works machine_manager.addRequiredAction(test_machine, "test_action") - assert machine_manager.getRequiredActions(test_machine) == {test_action} + assert machine_manager.getRequiredActions(test_machine) == [test_action, ] # Check if adding multiple required actions works. machine_manager.addRequiredAction(test_machine, "test_action_2") - assert machine_manager.getRequiredActions(test_machine) == {test_action, test_action_2} + assert machine_manager.getRequiredActions(test_machine) == [test_action, test_action_2] # Ensure that firstStart actions are empty by default. assert machine_manager.getFirstStartActions(test_machine) == [] From 6a28368bebb028df178f2ac2b734c2a3d918d13d Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Tue, 14 Mar 2017 16:59:09 +0100 Subject: [PATCH 028/138] Add a Jenkinsfile so Cura will be tested on CI --- Jenkinsfile | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000000..a324a79471 --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,39 @@ +parallel_nodes(['linux && cura', 'windows && cura']) { + // Prepare building + stage('Prepare') { + // Ensure we start with a clean build directory. + step([$class: 'WsCleanup']) + + // Checkout whatever sources are linked to this pipeline. + checkout scm + } + + // If any error occurs during building, we want to catch it and continue with the "finale" stage. + catchError { + // Building and testing should happen in a subdirectory. + dir('build') { + // Perform the "build". Since Uranium is Python code, this basically only ensures CMake is setup. + stage('Build') { + // Ensure CMake is setup. Note that since this is Python code we do not really "build" it. + cmake("..", "-DCMAKE_PREFIX_PATH=${env.CURA_ENVIRONMENT_PATH} -DCMAKE_BUILD_TYPE=Release -DURANIUM_SCRIPTS_DIR=") + } + + // Try and run the unit tests. If this stage fails, we consider the build to be "unstable". + stage('Unit Test') { + try { + make('test') + } catch(e) { + currentBuild.result = "UNSTABLE" + } + } + } + } + + // Perform any post-build actions like notification and publishing of unit tests. + stage('Finalize') { + // Publish the test results to Jenkins. + junit 'build/junit*.xml' + + notify_build_result(env.CURA_EMAIL_RECIPIENTS, '#cura-dev', ['master', '2.']) + } +} From 1d008bdfc2dbe28d46e4f8b47d43d79770026334 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Tue, 14 Mar 2017 17:15:18 +0100 Subject: [PATCH 029/138] Allow empty JUnit results so a test failure does not become a build fail --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index a324a79471..a056b5e115 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -32,7 +32,7 @@ parallel_nodes(['linux && cura', 'windows && cura']) { // Perform any post-build actions like notification and publishing of unit tests. stage('Finalize') { // Publish the test results to Jenkins. - junit 'build/junit*.xml' + junit allowEmptyResults: true, testResults: 'build/junit*.xml' notify_build_result(env.CURA_EMAIL_RECIPIENTS, '#cura-dev', ['master', '2.']) } From e443993ff2841ea6d5c12c7e079bbcdafed77700 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Tue, 14 Mar 2017 17:25:31 +0100 Subject: [PATCH 030/138] Fix finding Python and Uranium Otherwise all tests fail that require UM. --- cmake/CuraTests.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/CuraTests.cmake b/cmake/CuraTests.cmake index ff529f7d25..5c58330a48 100644 --- a/cmake/CuraTests.cmake +++ b/cmake/CuraTests.cmake @@ -4,6 +4,8 @@ enable_testing() include(CMakeParseArguments) +find_package(PythonInterp 3.5.0 REQUIRED) + function(cura_add_test) set(_single_args NAME DIRECTORY PYTHONPATH) cmake_parse_arguments("" "" "${_single_args}" "" ${ARGN}) @@ -28,7 +30,7 @@ function(cura_add_test) set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT PYTHONPATH=${_PYTHONPATH}) endfunction() -cura_add_test(NAME pytest-main DIRECTORY ${CMAKE_SOURCE_DIR}/tests PYTHONPATH ${CMAKE_SOURCE_DIR}) +cura_add_test(NAME pytest-main DIRECTORY ${CMAKE_SOURCE_DIR}/tests PYTHONPATH "${CMAKE_SOURCE_DIR}/../Uranium:${CMAKE_SOURCE_DIR}") file(GLOB_RECURSE _plugins plugins/*/__init__.py) foreach(_plugin ${_plugins}) From 9dbb7fcc1568cb39b60103fd85c3718dc44f00e9 Mon Sep 17 00:00:00 2001 From: probonopd Date: Tue, 14 Mar 2017 18:31:58 +0100 Subject: [PATCH 031/138] Update as per discussion in https://github.com/Ultimaker/Cura/pull/1350 --- resources/definitions/renkforce_rf100.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/renkforce_rf100.def.json b/resources/definitions/renkforce_rf100.def.json index bdbc44ea8c..ebbe56ec8e 100644 --- a/resources/definitions/renkforce_rf100.def.json +++ b/resources/definitions/renkforce_rf100.def.json @@ -58,7 +58,7 @@ "value": "100" }, "machine_end_gcode": { - "default_value": ";End GCode\nM104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning" + "default_value": ";End GCode\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 E-5 X-20 Y-20 ;retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nG0 Z{machine_height} ;move the platform all the way down\nM104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nM84 ;steppers off\nG90 ;absolute positioning\nM117 Done" }, "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" @@ -70,7 +70,7 @@ "default_value": "Renkforce RF100" }, "machine_start_gcode": { - "default_value": ";Sliced at: {day} {date} {time}\nG21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F{speed_travel} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{speed_travel}\nM117 Printing..." + "default_value": ";Start GCode\nG21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\n;Put printing message on LCD screen\nM117 Printing..." }, "machine_width": { "value": "100" From 138c3db26f836955da8b7b1c1dab4dcec204212b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 15 Mar 2017 09:23:47 +0100 Subject: [PATCH 032/138] Preferred mimetype is now used when saving to local or removable drive CURA-3496 --- cura/CuraApplication.py | 21 ++++++++++++++++++++- resources/qml/SaveButton.qml | 2 +- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 301dff3d20..4800950fab 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -199,7 +199,7 @@ class CuraApplication(QtApplication): self._message_box_callback = None self._message_box_callback_arguments = [] - + self._preferred_mimetype = "" self._i18n_catalog = i18nCatalog("cura") self.getController().getScene().sceneChanged.connect(self.updatePlatformActivity) @@ -314,6 +314,9 @@ class CuraApplication(QtApplication): self.applicationShuttingDown.connect(self.saveSettings) self.engineCreatedSignal.connect(self._onEngineCreated) + + self.globalContainerStackChanged.connect(self._onGlobalContainerChanged) + self._onGlobalContainerChanged() self._recent_files = [] files = Preferences.getInstance().getValue("cura/recent_files").split(";") for f in files: @@ -731,14 +734,30 @@ class CuraApplication(QtApplication): self._camera_animation.setTarget(Selection.getSelectedObject(0).getWorldPosition()) self._camera_animation.start() + def _onGlobalContainerChanged(self): + if self._global_container_stack is not None: + machine_file_formats = [file_type.strip() for file_type in self._global_container_stack.getMetaDataEntry("file_formats").split(";")] + new_preferred_mimetype = "" + if machine_file_formats: + new_preferred_mimetype = machine_file_formats[0] + + if new_preferred_mimetype != self._preferred_mimetype: + self._preferred_mimetype = new_preferred_mimetype + self.preferredOutputMimetypeChanged.emit() + requestAddPrinter = pyqtSignal() activityChanged = pyqtSignal() sceneBoundingBoxChanged = pyqtSignal() + preferredOutputMimetypeChanged = pyqtSignal() @pyqtProperty(bool, notify = activityChanged) def platformActivity(self): return self._platform_activity + @pyqtProperty(str, notify=preferredOutputMimetypeChanged) + def preferredOutputMimetype(self): + return self._preferred_mimetype + @pyqtProperty(str, notify = sceneBoundingBoxChanged) def getSceneBoundingBoxString(self): return self._i18n_catalog.i18nc("@info", "%(width).1f x %(depth).1f x %(height).1f mm") % {'width' : self._scene_bounding_box.width.item(), 'depth': self._scene_bounding_box.depth.item(), 'height' : self._scene_bounding_box.height.item()} diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml index bbc40b6627..fef4f3780d 100644 --- a/resources/qml/SaveButton.qml +++ b/resources/qml/SaveButton.qml @@ -215,7 +215,7 @@ Item { text: UM.OutputDeviceManager.activeDeviceShortDescription onClicked: { - UM.OutputDeviceManager.requestWriteToDevice(UM.OutputDeviceManager.activeDevice, PrintInformation.jobName, { "filter_by_machine": true }) + UM.OutputDeviceManager.requestWriteToDevice(UM.OutputDeviceManager.activeDevice, PrintInformation.jobName, { "filter_by_machine": true, "preferred_mimetype":Printer.preferredOutputMimetype }) } style: ButtonStyle { From 6cc0bd893f6746457dc60e36d00ae78d790baa9e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 15 Mar 2017 09:57:50 +0100 Subject: [PATCH 033/138] Save as now defaults to 3mf CURA-3496 --- resources/qml/Cura.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 9949e9ab0b..71b6eeabf2 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -90,7 +90,7 @@ UM.MainWindow text: catalog.i18nc("@action:inmenu menubar:file", "&Save Selection to File"); enabled: UM.Selection.hasSelection; iconName: "document-save-as"; - onTriggered: UM.OutputDeviceManager.requestWriteSelectionToDevice("local_file", PrintInformation.jobName, { "filter_by_machine": false }); + onTriggered: UM.OutputDeviceManager.requestWriteSelectionToDevice("local_file", PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetype": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"}); } Menu { @@ -106,7 +106,7 @@ UM.MainWindow MenuItem { text: model.description; - onTriggered: UM.OutputDeviceManager.requestWriteToDevice(model.id, PrintInformation.jobName, { "filter_by_machine": false }); + onTriggered: UM.OutputDeviceManager.requestWriteToDevice(model.id, PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetype": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"}); } onObjectAdded: saveAllMenu.insertItem(index, object) onObjectRemoved: saveAllMenu.removeItem(object) From e2045b280533e32508899067ea78ee1f5a6349ed Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 15 Mar 2017 10:00:11 +0100 Subject: [PATCH 034/138] Starting Cura when no machines added but with a model no longer causes exceptions --- cura/PrintInformation.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index 458cc4ac0f..d2476f25b6 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -122,6 +122,9 @@ class PrintInformation(QObject): self._calculateInformation() def _calculateInformation(self): + if Application.getInstance().getGlobalContainerStack() is None: + return + # Material amount is sent as an amount of mm^3, so calculate length from that r = Application.getInstance().getGlobalContainerStack().getProperty("material_diameter", "value") / 2 self._material_lengths = [] From fda00d4c9f559f707cd0b56011cd41e9abcdffcc Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Wed, 15 Mar 2017 11:40:31 +0100 Subject: [PATCH 035/138] Added caution message for g-code reader. CURA-3390 --- plugins/GCodeReader/GCodeReader.py | 5 +++++ 1 file changed, 5 insertions(+) mode change 100644 => 100755 plugins/GCodeReader/GCodeReader.py diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py old mode 100644 new mode 100755 index dd48577731..e46be771f0 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -327,4 +327,9 @@ class GCodeReader(MeshReader): Logger.log("d", "Loaded %s" % file_name) + caution_message = Message(catalog.i18nc( + "@info:generic", + "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate."), lifetime=0) + caution_message.show() + return scene_node From 18cf9e31729bc67d1567c31d21ba4061438f670c Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 15 Mar 2017 11:45:42 +0100 Subject: [PATCH 036/138] CURA-3500 Make sure that material XMLs have utf-8 encoding --- plugins/XmlMaterialProfile/XmlMaterialProfile.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index ccc0dad08e..7dc565ce26 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -248,11 +248,12 @@ class XmlMaterialProfile(InstanceContainer): root = builder.close() _indent(root) - stream = io.StringIO() + stream = io.BytesIO() tree = ET.ElementTree(root) - tree.write(stream, encoding="unicode", xml_declaration=True) + # this makes sure that the XML header states encoding="utf-8" + tree.write(stream, encoding="utf-8", xml_declaration=True) - return stream.getvalue() + return stream.getvalue().decode('utf-8') # Recursively resolve loading inherited files def _resolveInheritance(self, file_name): From 792332e2ec64367e4c63aef285b5e08f00d2aa29 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Wed, 15 Mar 2017 13:14:51 +0100 Subject: [PATCH 037/138] Made G-code reader a lot faster. CURA-3390 --- plugins/GCodeReader/GCodeReader.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index e46be771f0..94b9c0865c 100755 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -2,6 +2,7 @@ # Cura is released under the terms of the AGPLv3 or higher. from UM.Application import Application +from UM.Job import Job from UM.Logger import Logger from UM.Math.AxisAlignedBox import AxisAlignedBox from UM.Math.Vector import Vector @@ -184,10 +185,19 @@ class GCodeReader(MeshReader): def _processGCode(self, G, line, position, path): func = getattr(self, "_gCode%s" % G, None) if func is not None: - x = self._getFloat(line, "X") - y = self._getFloat(line, "Y") - z = self._getFloat(line, "Z") - e = self._getFloat(line, "E") + s = line.upper().split(" ") + x, y, z, e = None, None, None, None + for item in s[1:]: + if not item: + continue + if item[0] == "X": + x = float(item[1:]) + if item[0] == "Y": + y = float(item[1:]) + if item[0] == "Z": + z = float(item[1:]) + if item[0] == "E": + e = float(item[1:]) if (x is not None and x < 0) or (y is not None and y < 0): self._center_is_zero = True params = self._position(x, y, z, e) @@ -295,11 +305,16 @@ class GCodeReader(MeshReader): if T is not None: current_position = self._processTCode(T, line, current_position, current_path) + if current_line % 32 == 0: + Job.yieldThread() + if not self._is_layers_in_file and len(current_path) > 1 and current_position[2] > 0: if self._createPolygon(current_position[2], current_path): self._layer_number += 1 current_path.clear() + + material_color_map = numpy.zeros((10, 4), dtype = numpy.float32) material_color_map[0, :] = [0.0, 0.7, 0.9, 1.0] material_color_map[1, :] = [0.7, 0.9, 0.0, 1.0] From bab1de604f79737de3525ca3e9a6d0d3f977cf61 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Wed, 15 Mar 2017 13:16:51 +0100 Subject: [PATCH 038/138] Less yields for G-code reader and faster. CURA-3390 --- plugins/GCodeReader/GCodeReader.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index 94b9c0865c..9900f7d7a9 100755 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -264,6 +264,7 @@ class GCodeReader(MeshReader): current_line += 1 if current_line % file_step == 0: self._message.setProgress(math.floor(current_line / file_lines * 100)) + Job.yieldThread() if len(line) == 0: continue @@ -305,9 +306,6 @@ class GCodeReader(MeshReader): if T is not None: current_position = self._processTCode(T, line, current_position, current_path) - if current_line % 32 == 0: - Job.yieldThread() - if not self._is_layers_in_file and len(current_path) > 1 and current_position[2] > 0: if self._createPolygon(current_position[2], current_path): self._layer_number += 1 From cb40ae45e8eb87da508a6c75771fcfb7a77fd7db Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 15 Mar 2017 14:23:09 +0100 Subject: [PATCH 039/138] Added contribution of the g-code plugin to the changelog CURA-3467 --- plugins/ChangeLogPlugin/ChangeLog.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 1e82317a74..2b66ee93cb 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -21,7 +21,7 @@ This change needs no explanation! You can now set your Ultimaker 3 to preheat the build plate, which reduces the downtime, letting you manually speed up your printing workflow. All you need to do is use the ‘preheat’ function in the Print Monitor screen, and set the correct temperature for the active material(s). *G-code reader. -The g-code reader has been reintroduced, which means you can load g-code from file and display it in layer view. You can also print saved g-code files with Cura, share and re-use them, and you can check that your printed object looks right via the g-code viewer. +The g-code reader has been reintroduced, which means you can load g-code from file and display it in layer view. You can also print saved g-code files with Cura, share and re-use them, and you can check that your printed object looks right via the g-code viewer. Thanks to AlephObjects for this feature. *Switching profiles. When you change a printing profile after customizing print settings, you have an option (shown in a popup) to transfer your customizations to the new profile or discard those modifications and continue with default settings instead. We’ve made this dialog window more informative and intuitive. From f918a978b254b6aa4f94b8ca99f2554c000f1374 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Wed, 15 Mar 2017 14:29:59 +0100 Subject: [PATCH 040/138] Fixed extruder per gcode layer. Created show_caution preference for gcode reader. CURA-3390 --- plugins/GCodeReader/GCodeReader.py | 20 +++++++++++++------- resources/qml/Preferences/GeneralPage.qml | 19 +++++++++++++++++++ 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index 9900f7d7a9..9413d06bf5 100755 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -10,6 +10,7 @@ from UM.Mesh.MeshReader import MeshReader from UM.Message import Message from UM.Scene.SceneNode import SceneNode from UM.i18n import i18nCatalog +from UM.Preferences import Preferences catalog = i18nCatalog("cura") @@ -41,6 +42,8 @@ class GCodeReader(MeshReader): self._position = namedtuple('Position', ['x', 'y', 'z', 'e']) self._is_layers_in_file = False + Preferences.getInstance().addPreference("gcodereader/show_caution", True) + def _clearValues(self): self._extruder_number = 0 self._layer_type = LayerPolygon.Inset0Type @@ -87,7 +90,7 @@ class GCodeReader(MeshReader): def _getNullBoundingBox(): return AxisAlignedBox(minimum=Vector(0, 0, 0), maximum=Vector(10, 10, 10)) - def _createPolygon(self, current_z, path): + def _createPolygon(self, current_z, path, nozzle_offset_x = 0, nozzle_offset_y = 0): countvalid = 0 for point in path: if point[3] > 0: @@ -99,6 +102,7 @@ class GCodeReader(MeshReader): self._layer_data_builder.setLayerHeight(self._layer_number, path[0][2]) self._layer_data_builder.setLayerThickness(self._layer_number, math.fabs(current_z - self._previous_z)) this_layer = self._layer_data_builder.getLayer(self._layer_number) + layer_thickness = math.fabs(self._previous_z - current_z) # TODO: use this value except ValueError: return False count = len(path) @@ -305,14 +309,15 @@ class GCodeReader(MeshReader): T = self._getInt(line, "T") if T is not None: current_position = self._processTCode(T, line, current_position, current_path) + if self._createPolygon(current_position[2], current_path): + self._layer_number += 1 + current_path.clear() if not self._is_layers_in_file and len(current_path) > 1 and current_position[2] > 0: if self._createPolygon(current_position[2], current_path): self._layer_number += 1 current_path.clear() - - material_color_map = numpy.zeros((10, 4), dtype = numpy.float32) material_color_map[0, :] = [0.0, 0.7, 0.9, 1.0] material_color_map[1, :] = [0.7, 0.9, 0.0, 1.0] @@ -340,9 +345,10 @@ class GCodeReader(MeshReader): Logger.log("d", "Loaded %s" % file_name) - caution_message = Message(catalog.i18nc( - "@info:generic", - "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate."), lifetime=0) - caution_message.show() + if Preferences.getInstance().getValue("gcodereader/show_caution"): + caution_message = Message(catalog.i18nc( + "@info:generic", + "Make sure the g-code is suitable for your printer and printer configuration before sending the file to it. The g-code representation may not be accurate."), lifetime=0) + caution_message.show() return scene_node diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index d9170ec597..0220a605c8 100755 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -259,6 +259,25 @@ UM.PreferencesPage } } + + UM.TooltipArea + { + width: childrenRect.width; + height: childrenRect.height; + + text: catalog.i18nc("@info:tooltip","Show caution message in gcode reader.") + + CheckBox + { + id: gcodeShowCautionCheckbox + + checked: boolCheck(UM.Preferences.getValue("gcodereader/show_caution")) + onClicked: UM.Preferences.setValue("gcodereader/show_caution", checked) + + text: catalog.i18nc("@option:check","Caution message in gcode reader"); + } + } + UM.TooltipArea { width: childrenRect.width height: childrenRect.height From 6731d00ad734a14ce0f480e73630704b2c7c3e9b Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Wed, 15 Mar 2017 14:37:06 +0100 Subject: [PATCH 041/138] Removed some lines from changelog. --- plugins/ChangeLogPlugin/ChangeLog.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 1e82317a74..762b93505d 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -11,9 +11,6 @@ Need things to be a bit clearer? We’ve now incorporated an improved layer view *Disable automatic slicing. Some users told us that slicing slowed down their workflow when it auto-starts, and to improve the user experience, we added an option to disable auto-slicing if required. Thanks to community member Aldo Hoeben for contributing to this one. -*Solidworks & Cura macro. -This macro is designed to run inside SolidWorks, open Cura and load the current document / part. You should also be able to add this macro to your toolbar inside Solidworks. - *Auto-scale off by default. This change needs no explanation! From 04e517eddfcbfe680f94f73d05ed23b7ecdc809e Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Wed, 15 Mar 2017 17:23:54 +0100 Subject: [PATCH 042/138] Do not hardcode the path to Uranium but use a cache variable This allows us to override the uranium dir and make sure it is still found even when it is not the same as "../uranium" --- CMakeLists.txt | 3 ++- cmake/CuraTests.cmake | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c7b5a64056..cb42f35eee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,8 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/ include(GNUInstallDirs) -set(URANIUM_SCRIPTS_DIR "${CMAKE_SOURCE_DIR}/../uranium/scripts" CACHE DIRECTORY "The location of the scripts directory of the Uranium repository") +set(URANIUM_DIR "${CMAKE_SOURCE_DIR}/../Uranium" CACHE DIRECTORY "The location of the Uranium repository") +set(URANIUM_SCRIPTS_DIR "${URANIUM_DIR}/scripts" CACHE DIRECTORY "The location of the scripts directory of the Uranium repository") # Tests include(CuraTests) diff --git a/cmake/CuraTests.cmake b/cmake/CuraTests.cmake index 5c58330a48..cf9fa4ba68 100644 --- a/cmake/CuraTests.cmake +++ b/cmake/CuraTests.cmake @@ -30,13 +30,13 @@ function(cura_add_test) set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT PYTHONPATH=${_PYTHONPATH}) endfunction() -cura_add_test(NAME pytest-main DIRECTORY ${CMAKE_SOURCE_DIR}/tests PYTHONPATH "${CMAKE_SOURCE_DIR}/../Uranium:${CMAKE_SOURCE_DIR}") +cura_add_test(NAME pytest-main DIRECTORY ${CMAKE_SOURCE_DIR}/tests PYTHONPATH "${CMAKE_SOURCE_DIR}:${URANIUM_DIR}") file(GLOB_RECURSE _plugins plugins/*/__init__.py) foreach(_plugin ${_plugins}) get_filename_component(_plugin_directory ${_plugin} DIRECTORY) if(EXISTS ${_plugin_directory}/tests) get_filename_component(_plugin_name ${_plugin_directory} NAME) - cura_add_test(NAME pytest-${_plugin_name} DIRECTORY ${_plugin_directory} PYTHONPATH "${CMAKE_SOURCE_DIR}/../Uranium:${CMAKE_SOURCE_DIR}:${_plugin_directory}") + cura_add_test(NAME pytest-${_plugin_name} DIRECTORY ${_plugin_directory} PYTHONPATH "${_plugin_directory}:${CMAKE_SOURCE_DIR}:${URANIUM_DIR}") endif() endforeach() From 2620d7748e21047e155d0975dcdd956d4da49f6b Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Wed, 15 Mar 2017 17:24:19 +0100 Subject: [PATCH 043/138] Pass the right Uranium directory to CMake when running on CI --- Jenkinsfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index a056b5e115..2c101b2183 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -15,7 +15,8 @@ parallel_nodes(['linux && cura', 'windows && cura']) { // Perform the "build". Since Uranium is Python code, this basically only ensures CMake is setup. stage('Build') { // Ensure CMake is setup. Note that since this is Python code we do not really "build" it. - cmake("..", "-DCMAKE_PREFIX_PATH=${env.CURA_ENVIRONMENT_PATH} -DCMAKE_BUILD_TYPE=Release -DURANIUM_SCRIPTS_DIR=") + def uranium_dir = get_workspace_dir("Ultimaker/Uranium/master") + cmake("..", "-DCMAKE_PREFIX_PATH=${env.CURA_ENVIRONMENT_PATH} -DCMAKE_BUILD_TYPE=Release -DURANIUM_DIR=${uranium_dir}") } // Try and run the unit tests. If this stage fails, we consider the build to be "unstable". From 04548d2862f1a795b0fc0b2addd7c92488f46a08 Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Wed, 15 Mar 2017 17:34:38 +0100 Subject: [PATCH 044/138] Add Uranium's cmake dir to CMAKE_MODULE_PATH This makes sure URANIUM_TRANSLATION_TOOLS can be found --- CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index cb42f35eee..500449b12c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,7 @@ configure_file(${CMAKE_SOURCE_DIR}/cura.desktop.in ${CMAKE_BINARY_DIR}/cura.desk configure_file(cura/CuraVersion.py.in CuraVersion.py @ONLY) if(NOT ${URANIUM_SCRIPTS_DIR} STREQUAL "") + list(APPEND CMAKE_MODULE_PATH ${URANIUM_DIR}/cmake) include(UraniumTranslationTools) # Extract Strings add_custom_target(extract-messages ${URANIUM_SCRIPTS_DIR}/extract-messages ${CMAKE_SOURCE_DIR} cura) From 0c215331ee78d3afda624241317ff75f3bee9d2e Mon Sep 17 00:00:00 2001 From: Arjen Hiemstra Date: Wed, 15 Mar 2017 19:02:37 +0100 Subject: [PATCH 045/138] PYTHONPATH uses a platform dependent path separator after all --- cmake/CuraTests.cmake | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cmake/CuraTests.cmake b/cmake/CuraTests.cmake index cf9fa4ba68..604f93d7e3 100644 --- a/cmake/CuraTests.cmake +++ b/cmake/CuraTests.cmake @@ -30,13 +30,19 @@ function(cura_add_test) set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT PYTHONPATH=${_PYTHONPATH}) endfunction() -cura_add_test(NAME pytest-main DIRECTORY ${CMAKE_SOURCE_DIR}/tests PYTHONPATH "${CMAKE_SOURCE_DIR}:${URANIUM_DIR}") +if(WIN32) + set(_path_sep ";") +else() + set(_path_sep ":") +endif() + +cura_add_test(NAME pytest-main DIRECTORY ${CMAKE_SOURCE_DIR}/tests PYTHONPATH "${CMAKE_SOURCE_DIR}${_path_sep}${URANIUM_DIR}") file(GLOB_RECURSE _plugins plugins/*/__init__.py) foreach(_plugin ${_plugins}) get_filename_component(_plugin_directory ${_plugin} DIRECTORY) if(EXISTS ${_plugin_directory}/tests) get_filename_component(_plugin_name ${_plugin_directory} NAME) - cura_add_test(NAME pytest-${_plugin_name} DIRECTORY ${_plugin_directory} PYTHONPATH "${_plugin_directory}:${CMAKE_SOURCE_DIR}:${URANIUM_DIR}") + cura_add_test(NAME pytest-${_plugin_name} DIRECTORY ${_plugin_directory} PYTHONPATH "${_plugin_directory}${_path_sep}${CMAKE_SOURCE_DIR}${_path_sep}${URANIUM_DIR}") endif() endforeach() From 260c6e983ea78c43fa613f9b1911f53a94c30815 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Thu, 16 Mar 2017 10:51:53 +0100 Subject: [PATCH 046/138] Fix passing PYTHONPATH to pytest on Windows --- cmake/CuraTests.cmake | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/cmake/CuraTests.cmake b/cmake/CuraTests.cmake index 604f93d7e3..eca96257cc 100644 --- a/cmake/CuraTests.cmake +++ b/cmake/CuraTests.cmake @@ -21,28 +21,28 @@ function(cura_add_test) if(NOT _PYTHONPATH) set(_PYTHONPATH ${_DIRECTORY}) endif() + + if(WIN32) + string(REPLACE "|" "\\;" _PYTHONPATH ${_PYTHONPATH}) + else() + string(REPLACE "|" ":" _PYTHONPATH ${_PYTHONPATH}) + endif() add_test( NAME ${_NAME} COMMAND ${PYTHON_EXECUTABLE} -m pytest --junitxml=${CMAKE_BINARY_DIR}/junit-${_NAME}.xml ${_DIRECTORY} ) set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT LANG=C) - set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT PYTHONPATH=${_PYTHONPATH}) + set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT "PYTHONPATH=${_PYTHONPATH}") endfunction() -if(WIN32) - set(_path_sep ";") -else() - set(_path_sep ":") -endif() - -cura_add_test(NAME pytest-main DIRECTORY ${CMAKE_SOURCE_DIR}/tests PYTHONPATH "${CMAKE_SOURCE_DIR}${_path_sep}${URANIUM_DIR}") +cura_add_test(NAME pytest-main DIRECTORY ${CMAKE_SOURCE_DIR}/tests PYTHONPATH "${CMAKE_SOURCE_DIR}|${URANIUM_DIR}") file(GLOB_RECURSE _plugins plugins/*/__init__.py) foreach(_plugin ${_plugins}) get_filename_component(_plugin_directory ${_plugin} DIRECTORY) if(EXISTS ${_plugin_directory}/tests) get_filename_component(_plugin_name ${_plugin_directory} NAME) - cura_add_test(NAME pytest-${_plugin_name} DIRECTORY ${_plugin_directory} PYTHONPATH "${_plugin_directory}${_path_sep}${CMAKE_SOURCE_DIR}${_path_sep}${URANIUM_DIR}") + cura_add_test(NAME pytest-${_plugin_name} DIRECTORY ${_plugin_directory} PYTHONPATH "${_plugin_directory}|${CMAKE_SOURCE_DIR}|${URANIUM_DIR}") endif() endforeach() From 0c1829af1ec31b76cbd3cd8db44aeba62f10d788 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Mar 2017 11:15:20 +0100 Subject: [PATCH 047/138] Revert "Upgrade built-in instance containers" This reverts commit b162be4df8c12c89112ba558136e87b63e67e713. --- resources/quality/abax_pri3/apri3_pla_fast.inst.cfg | 3 ++- resources/quality/abax_pri3/apri3_pla_high.inst.cfg | 3 ++- resources/quality/abax_pri3/apri3_pla_normal.inst.cfg | 3 ++- resources/quality/abax_pri5/apri5_pla_fast.inst.cfg | 3 ++- resources/quality/abax_pri5/apri5_pla_high.inst.cfg | 3 ++- resources/quality/abax_pri5/apri5_pla_normal.inst.cfg | 3 ++- resources/quality/abax_titan/atitan_pla_fast.inst.cfg | 3 ++- resources/quality/abax_titan/atitan_pla_high.inst.cfg | 4 ++-- resources/quality/abax_titan/atitan_pla_normal.inst.cfg | 3 ++- resources/quality/high.inst.cfg | 2 +- resources/quality/low.inst.cfg | 2 +- resources/quality/normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg | 2 +- .../quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg | 2 +- resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg | 2 +- resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg | 2 +- .../ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg | 2 +- .../quality/ultimaker3/um3_global_Draft_Quality.inst.cfg | 2 +- resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg | 2 +- resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_global_Normal_Quality.inst.cfg | 2 +- resources/variants/cartesio_0.25.inst.cfg | 2 +- resources/variants/cartesio_0.4.inst.cfg | 3 ++- resources/variants/cartesio_0.8.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.25.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.4.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.6.inst.cfg | 2 +- resources/variants/ultimaker2_extended_plus_0.8.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.25.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.4.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.6.inst.cfg | 2 +- resources/variants/ultimaker2_plus_0.8.inst.cfg | 2 +- resources/variants/ultimaker3_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker3_aa04.inst.cfg | 2 +- resources/variants/ultimaker3_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker3_bb04.inst.cfg | 2 +- resources/variants/ultimaker3_extended_aa0.8.inst.cfg | 2 +- resources/variants/ultimaker3_extended_aa04.inst.cfg | 2 +- resources/variants/ultimaker3_extended_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker3_extended_bb04.inst.cfg | 2 +- 123 files changed, 133 insertions(+), 124 deletions(-) diff --git a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg index 4df5531c46..7f3bf240ac 100644 --- a/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_fast.inst.cfg @@ -1,5 +1,6 @@ + [general] -version = 3 +version = 2 name = Normal Quality definition = abax_pri3 diff --git a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg index eeb3a8c518..be93de160e 100644 --- a/resources/quality/abax_pri3/apri3_pla_high.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_high.inst.cfg @@ -1,5 +1,6 @@ + [general] -version = 3 +version = 2 name = High Quality definition = abax_pri3 diff --git a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg index 1c2dab370c..a116ff4485 100644 --- a/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg +++ b/resources/quality/abax_pri3/apri3_pla_normal.inst.cfg @@ -1,5 +1,6 @@ + [general] -version = 3 +version = 2 name = Normal Quality definition = abax_pri3 diff --git a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg index eb7b9c29c5..4bfb02fe77 100644 --- a/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_fast.inst.cfg @@ -1,5 +1,6 @@ + [general] -version = 3 +version = 2 name = Normal Quality definition = abax_pri5 diff --git a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg index 1e83f1ee34..4c89f5cf28 100644 --- a/resources/quality/abax_pri5/apri5_pla_high.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_high.inst.cfg @@ -1,5 +1,6 @@ + [general] -version = 3 +version = 2 name = High Quality definition = abax_pri5 diff --git a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg index 183ec9524d..fc11c5af19 100644 --- a/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg +++ b/resources/quality/abax_pri5/apri5_pla_normal.inst.cfg @@ -1,5 +1,6 @@ + [general] -version = 3 +version = 2 name = Normal Quality definition = abax_pri5 diff --git a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg index 327329bcd5..63189c1ed1 100644 --- a/resources/quality/abax_titan/atitan_pla_fast.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_fast.inst.cfg @@ -1,5 +1,6 @@ + [general] -version = 3 +version = 2 name = Normal Quality definition = abax_titan diff --git a/resources/quality/abax_titan/atitan_pla_high.inst.cfg b/resources/quality/abax_titan/atitan_pla_high.inst.cfg index b5abf4ddf4..7d6f8bb3d7 100644 --- a/resources/quality/abax_titan/atitan_pla_high.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_high.inst.cfg @@ -1,8 +1,8 @@ + [general] -version = 3 +version = 2 name = High Quality definition = abax_titan - [metadata] type = quality material = generic_pla diff --git a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg index 691ad92cc6..6de6a1df32 100644 --- a/resources/quality/abax_titan/atitan_pla_normal.inst.cfg +++ b/resources/quality/abax_titan/atitan_pla_normal.inst.cfg @@ -1,5 +1,6 @@ + [general] -version = 3 +version = 2 name = Normal Quality definition = abax_titan diff --git a/resources/quality/high.inst.cfg b/resources/quality/high.inst.cfg index bddd48d4a9..921dae9ae0 100644 --- a/resources/quality/high.inst.cfg +++ b/resources/quality/high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = fdmprinter diff --git a/resources/quality/low.inst.cfg b/resources/quality/low.inst.cfg index d23ae8fdf7..82d4e0d327 100644 --- a/resources/quality/low.inst.cfg +++ b/resources/quality/low.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Low Quality definition = fdmprinter diff --git a/resources/quality/normal.inst.cfg b/resources/quality/normal.inst.cfg index cc2a5f44f1..26da3b48da 100644 --- a/resources/quality/normal.inst.cfg +++ b/resources/quality/normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = fdmprinter diff --git a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg index b38372ac7d..db2b48b3cc 100644 --- a/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg index b28b72b01c..d3f2740202 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg index d02d3899ca..d3347b4712 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg index 0fa19a0f16..758225535a 100644 --- a/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg index e23825853b..5eed5965e4 100644 --- a/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg index f443f72c8a..96a81d874e 100644 --- a/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/pla_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg index abb32070fa..cd99fc0f8a 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg index 96e08796b9..e52a201789 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg index 39d85b27b5..4cbe9f4b88 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg index 81b3b8f2fa..3cfa744787 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg index 28cdff9626..848441de61 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg index 1c70f3ca43..20a35f157f 100644 --- a/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_abs_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg index bb330d3ae2..29f1577d12 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg index a1549778f8..edba5d2c79 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg index 2947f09874..a2442e6c96 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg index 5c240f2be9..4993e97bb0 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg index 6ee0eb718c..ceaf31e153 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg index ef31776dfe..f81e931218 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpe_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg index 4897361215..294db7c10d 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg index 92c79535ef..91059f94b3 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg index cf249c3d4e..6d1cb47835 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg index 6ce065143f..1dbe3a56c8 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg index 09d8ddfa25..1b92686d50 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg index aedcb1b0d4..30746a1ac2 100644 --- a/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_cpep_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg index 64739d1175..fea97a2621 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg index aa32fd9a98..56be2489a5 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg index 9702371448..80948add53 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg index 9352b133b0..8385b3f895 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg index 387f7817c6..d9e393b778 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg index 8c202a3404..e438dca035 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg index 9723509857..575109e588 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg index ec73dba4ca..abd8f499bc 100644 --- a/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_nylon_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg index 23da67deb9..06f67b7298 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg index 23ad9edbc2..be595385a4 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.25_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg index 968dccc715..f20351cbb4 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg index a31e42ab7b..469cab12cc 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg index c1f9fa3259..bfd239e3cc 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg index 8458755c2b..bf65d1b8aa 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.6_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg index 3c8b9428e0..53fab6b028 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_draft.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg index f3ce3c383d..9d79bf9faa 100644 --- a/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_pc_0.8_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg index 04f0012b9a..5c37a8432a 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.25_high.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg index 7880dfaa02..106476d57c 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.4_normal.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker2_plus diff --git a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg index 9a619e79e2..e0a0388227 100644 --- a/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg +++ b/resources/quality/ultimaker2_plus/um2p_tpu_0.6_fast.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker2_plus diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg index af48af3a90..00d93f3575 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg index b1d3b13674..066a044ee0 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg index 8ce21e605b..850af33c27 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg index 5c1691b5e7..3793bf8b5e 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_ABS_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg index 8f94c73f94..f8090e057c 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg index 4217ba535d..a8d989fbae 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg index af9167ae92..5495276f1c 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg index 8e4f4ba6be..d18b878a4f 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPEP_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg index 3f0a4c98a4..7a536ce033 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg index e0bee51de7..96467fe36c 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg index ca358de7c4..1fd6167e67 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg index d403b9d96e..5ad1ef6b43 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_CPE_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg index 4c31ab9d91..6899989100 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg index eb90edccf0..76a2491079 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg index b00cef91c1..ba50bc4d31 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg index 1180e16d5d..bebd9976f5 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_Nylon_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg index 0d7ca69d8e..e9370877e7 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg index 61cdf80c86..cdb37b8f12 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg index 3a2c9b0dd9..f5e91fa71b 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg index 88eceaa49d..d391e9df4f 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PC_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg index 5525d7a377..eb56b0aa4c 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg index 1c124bba24..c5faa17a2b 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg index 1edf1071b7..1a6db5e3b5 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg index 31a2b461d8..c7a7be37c0 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PLA_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg index 674d78f88b..5076c4164a 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg index e2cd5c72db..03ea216f32 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg index 6411ff4866..b29483a44f 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg index f50b4dd61d..99bd3a90da 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_TPU_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg index eea693e4b6..eb69e804c0 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg index 70482fcaa0..4a226996b3 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Superdraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Superdraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg index 1fdd52a1b7..444aac8eda 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_Nylon_Verydraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Verydraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg index 65230ccbb5..74f7f47a4d 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg index 0e6c6c1fed..4702d382c7 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Superdraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Superdraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg index 50e00d5834..174882aa68 100644 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Verydraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Verydraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg index 9ca8d00b14..0a00e9e09b 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg index 1ef191774a..17c10b7a72 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg index 38a972f9b5..c562e16a8e 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg index 978cef1ec3..b9a64bca38 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Not Supported definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg index 5a9a0fa02c..83fd52a1fd 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg index fb282ece6d..582d6e9c76 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Fast_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg index 9ff7275765..fc6be3ea3d 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg index db0ad6124b..5eb690fa99 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PVA_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg index 6483d797b1..c02e307b47 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Draft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg index 3a46bf7096..84075aa4b9 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Superdraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Superdraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg index 8b73df1b14..db10f3d848 100644 --- a/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PVA_Verydraft_Print.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Verydraft Print definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg index ec6c0e1c6b..96e25c6ad8 100644 --- a/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Draft_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Draft Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg index 2a43fc6723..6b1c3c4208 100644 --- a/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Fast_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Fast Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg index 3f692384f4..af0741ff88 100644 --- a/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_High_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = High Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg index 9eb7a1d003..a875b0f1ce 100644 --- a/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Normal_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Normal Quality definition = ultimaker3 diff --git a/resources/variants/cartesio_0.25.inst.cfg b/resources/variants/cartesio_0.25.inst.cfg index 7320b478f0..1aa490beff 100644 --- a/resources/variants/cartesio_0.25.inst.cfg +++ b/resources/variants/cartesio_0.25.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.25 mm -version = 3 +version = 2 definition = cartesio [metadata] diff --git a/resources/variants/cartesio_0.4.inst.cfg b/resources/variants/cartesio_0.4.inst.cfg index c9845910df..3a818469b9 100644 --- a/resources/variants/cartesio_0.4.inst.cfg +++ b/resources/variants/cartesio_0.4.inst.cfg @@ -1,6 +1,7 @@ + [general] name = 0.4 mm -version = 3 +version = 2 definition = cartesio [metadata] diff --git a/resources/variants/cartesio_0.8.inst.cfg b/resources/variants/cartesio_0.8.inst.cfg index 36c9676e92..3f6502667c 100644 --- a/resources/variants/cartesio_0.8.inst.cfg +++ b/resources/variants/cartesio_0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.8 mm -version = 3 +version = 2 definition = cartesio [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg index a1b578fbee..b499db6163 100644 --- a/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.25.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.25 mm -version = 3 +version = 2 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg index 0c81fbb108..d2fb6f76b1 100644 --- a/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.4.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.4 mm -version = 3 +version = 2 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg index a236ad466f..e4f9f0ce45 100644 --- a/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.6.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.6 mm -version = 3 +version = 2 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg index 15079ad671..18570ea75d 100644 --- a/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_extended_plus_0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.8 mm -version = 3 +version = 2 definition = ultimaker2_extended_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.25.inst.cfg b/resources/variants/ultimaker2_plus_0.25.inst.cfg index 4857dde768..7cab771101 100644 --- a/resources/variants/ultimaker2_plus_0.25.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.25.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.25 mm -version = 3 +version = 2 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.4.inst.cfg b/resources/variants/ultimaker2_plus_0.4.inst.cfg index eccc52288b..748f367250 100644 --- a/resources/variants/ultimaker2_plus_0.4.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.4.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.4 mm -version = 3 +version = 2 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.6.inst.cfg b/resources/variants/ultimaker2_plus_0.6.inst.cfg index d75474d7d3..34d0f7a5cf 100644 --- a/resources/variants/ultimaker2_plus_0.6.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.6.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.6 mm -version = 3 +version = 2 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker2_plus_0.8.inst.cfg b/resources/variants/ultimaker2_plus_0.8.inst.cfg index 7cc6b0a763..e719409060 100644 --- a/resources/variants/ultimaker2_plus_0.8.inst.cfg +++ b/resources/variants/ultimaker2_plus_0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = 0.8 mm -version = 3 +version = 2 definition = ultimaker2_plus [metadata] diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg index e66c8b77fd..c73e22db20 100644 --- a/resources/variants/ultimaker3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_aa0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.8 -version = 3 +version = 2 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_aa04.inst.cfg b/resources/variants/ultimaker3_aa04.inst.cfg index bfd01cad78..dae256c990 100644 --- a/resources/variants/ultimaker3_aa04.inst.cfg +++ b/resources/variants/ultimaker3_aa04.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.4 -version = 3 +version = 2 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index 0936fbb016..a88c3ef6b7 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.8 -version = 3 +version = 2 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_bb04.inst.cfg b/resources/variants/ultimaker3_bb04.inst.cfg index f8439f091d..b813e8474d 100644 --- a/resources/variants/ultimaker3_bb04.inst.cfg +++ b/resources/variants/ultimaker3_bb04.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.4 -version = 3 +version = 2 definition = ultimaker3 [metadata] diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg index d72e440dc4..98860889b3 100644 --- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.8 -version = 3 +version = 2 definition = ultimaker3_extended [metadata] diff --git a/resources/variants/ultimaker3_extended_aa04.inst.cfg b/resources/variants/ultimaker3_extended_aa04.inst.cfg index cd4be2d955..6fa09c32ea 100644 --- a/resources/variants/ultimaker3_extended_aa04.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa04.inst.cfg @@ -1,6 +1,6 @@ [general] name = AA 0.4 -version = 3 +version = 2 definition = ultimaker3_extended [metadata] diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index 9e4f5b63ca..ea12c850ef 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.8 -version = 3 +version = 2 definition = ultimaker3_extended [metadata] diff --git a/resources/variants/ultimaker3_extended_bb04.inst.cfg b/resources/variants/ultimaker3_extended_bb04.inst.cfg index 80c6764a69..a7c43ea376 100644 --- a/resources/variants/ultimaker3_extended_bb04.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb04.inst.cfg @@ -1,6 +1,6 @@ [general] name = BB 0.4 -version = 3 +version = 2 definition = ultimaker3_extended [metadata] From ad7752bb16135d335e4fd4d5f20b7abf81d502e4 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Mar 2017 11:16:02 +0100 Subject: [PATCH 048/138] Revert "Updated version of superdraft and verydraft. CURA-3479" This reverts commit 62de4f9ec6d65c3224c57a9cfcb6b9ec888d6487. --- .../quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg | 2 +- .../quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg index ce0575ec6d..fd3fd1f642 100755 --- a/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Superdraft_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Superdraft Quality definition = ultimaker3 diff --git a/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg index d4ff5e0c7e..83afa35e2e 100755 --- a/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_global_Verydraft_Quality.inst.cfg @@ -1,5 +1,5 @@ [general] -version = 3 +version = 2 name = Verydraft Quality definition = ultimaker3 From 5bcfba0f17aedbac8343566ff5eb29682e68d539 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Mar 2017 11:16:55 +0100 Subject: [PATCH 049/138] Revert "removal: remove start_layers_at_same_position; it is now mandatory to start each layer near the given position (CURA-3339)" This reverts commit 1482c27b21fb45819d2a400ede937662f34870ed. --- resources/definitions/fdmprinter.def.json | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 93ef1f439b..d03f4327f6 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2556,6 +2556,16 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "start_layers_at_same_position": + { + "label": "Start Layers with the Same Part", + "description": "In each layer start with printing the object near the same point, so that we don't start a new layer with printing the piece which the previous layer ended with. This makes for better overhangs and small parts, but increases printing time.", + "type": "bool", + "default_value": false, + "settable_per_mesh": false, + "settable_per_extruder": false, + "settable_per_meshgroup": true + }, "layer_start_x": { "label": "Layer Start X", @@ -2564,8 +2574,9 @@ "type": "float", "default_value": 0.0, "minimum_value": "0", + "enabled": "start_layers_at_same_position", "settable_per_mesh": false, - "settable_per_extruder": true, + "settable_per_extruder": false, "settable_per_meshgroup": true }, "layer_start_y": @@ -2576,8 +2587,9 @@ "type": "float", "default_value": 0.0, "minimum_value": "0", + "enabled": "start_layers_at_same_position", "settable_per_mesh": false, - "settable_per_extruder": true, + "settable_per_extruder": false, "settable_per_meshgroup": true }, "retraction_hop_enabled": { From 6da6ae1b9ee1471bec80fde74726a5ea597461d9 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Mar 2017 11:19:44 +0100 Subject: [PATCH 050/138] start_x and start_y are now settable per extruder --- resources/definitions/fdmprinter.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index d03f4327f6..64893d5aaa 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2576,7 +2576,7 @@ "minimum_value": "0", "enabled": "start_layers_at_same_position", "settable_per_mesh": false, - "settable_per_extruder": false, + "settable_per_extruder": true, "settable_per_meshgroup": true }, "layer_start_y": @@ -2589,7 +2589,7 @@ "minimum_value": "0", "enabled": "start_layers_at_same_position", "settable_per_mesh": false, - "settable_per_extruder": false, + "settable_per_extruder": true, "settable_per_meshgroup": true }, "retraction_hop_enabled": { From 1f734d52454ce016eef21232c8a626a6d713b61a Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Mar 2017 11:21:08 +0100 Subject: [PATCH 051/138] Disabled the start_layers_at_same_position setting --- resources/definitions/fdmprinter.def.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 64893d5aaa..273f3ad265 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2562,6 +2562,7 @@ "description": "In each layer start with printing the object near the same point, so that we don't start a new layer with printing the piece which the previous layer ended with. This makes for better overhangs and small parts, but increases printing time.", "type": "bool", "default_value": false, + "enabled": false, "settable_per_mesh": false, "settable_per_extruder": false, "settable_per_meshgroup": true @@ -2574,7 +2575,6 @@ "type": "float", "default_value": 0.0, "minimum_value": "0", - "enabled": "start_layers_at_same_position", "settable_per_mesh": false, "settable_per_extruder": true, "settable_per_meshgroup": true @@ -2587,7 +2587,6 @@ "type": "float", "default_value": 0.0, "minimum_value": "0", - "enabled": "start_layers_at_same_position", "settable_per_mesh": false, "settable_per_extruder": true, "settable_per_meshgroup": true From a170624ff17d0f8726f1ddfcf232175b682f1697 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Mar 2017 11:26:50 +0100 Subject: [PATCH 052/138] Disabled the 2.5 upgrader --- plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py b/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py index a7480e802d..701224787c 100644 --- a/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade24to25/__init__.py @@ -41,4 +41,5 @@ def getMetaData(): } def register(app): + return {} return { "version_upgrade": upgrade } From efce0696bd60aecbe9ad54ce3eb8c2f4d0324ad6 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Mar 2017 13:11:51 +0100 Subject: [PATCH 053/138] Recently activated material can no longer be removed CURA-3147 --- resources/qml/Preferences/MaterialsPage.qml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/qml/Preferences/MaterialsPage.qml b/resources/qml/Preferences/MaterialsPage.qml index 6072541976..03bf9f5aa1 100644 --- a/resources/qml/Preferences/MaterialsPage.qml +++ b/resources/qml/Preferences/MaterialsPage.qml @@ -128,7 +128,11 @@ UM.ManagementPage text: catalog.i18nc("@action:button", "Activate"); iconName: "list-activate"; enabled: base.currentItem != null && base.currentItem.id != Cura.MachineManager.activeMaterialId && Cura.MachineManager.hasMaterials - onClicked: Cura.MachineManager.setActiveMaterial(base.currentItem.id) + onClicked: + { + Cura.MachineManager.setActiveMaterial(base.currentItem.id) + currentItem = base.model.getItem(base.objectList.currentIndex) // Refresh the current item. + } }, Button { From ea16f967d7ee7bc61c374c53653f64fa197a1377 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 14 Mar 2017 10:58:04 +0100 Subject: [PATCH 054/138] Fix code styling --- resources/qml/Cura.qml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 71b6eeabf2..d3d7d07d90 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -854,7 +854,7 @@ UM.MainWindow function start(id) { - var actions = Cura.MachineActionManager.getFirstStartActions(id) + var actions = Cura.MachineActionManager.getFirstStartActions(id) resetPages() // Remove previous pages for (var i = 0; i < actions.length; i++) @@ -913,7 +913,6 @@ UM.MainWindow { discardOrKeepProfileChangesDialog.show() } - } Connections @@ -963,4 +962,3 @@ UM.MainWindow } } } - From b35a97c7707533650f2f1a08dc94d6a9ade239b2 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 16 Mar 2017 13:14:44 +0100 Subject: [PATCH 055/138] CURA-3495 preRead() takes flexible arguments --- plugins/ImageReader/ImageReader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ImageReader/ImageReader.py b/plugins/ImageReader/ImageReader.py index 9d70dde8e1..04dce9f439 100644 --- a/plugins/ImageReader/ImageReader.py +++ b/plugins/ImageReader/ImageReader.py @@ -21,7 +21,7 @@ class ImageReader(MeshReader): self._supported_extensions = [".jpg", ".jpeg", ".bmp", ".gif", ".png"] self._ui = ImageReaderUI(self) - def preRead(self, file_name): + def preRead(self, file_name, *args, **kwargs): img = QImage(file_name) if img.isNull(): From e00c68344a186bb2555d79b76b39176ef3051af5 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 16 Mar 2017 13:27:49 +0100 Subject: [PATCH 056/138] CURA-3495 open project/models in one dialog --- cura/CuraApplication.py | 19 +++ plugins/3MFReader/ThreeMFWorkspaceReader.py | 6 +- resources/qml/Actions.qml | 9 +- resources/qml/Cura.qml | 152 +++++++++++++++----- 4 files changed, 138 insertions(+), 48 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 4800950fab..787bb82756 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -25,6 +25,7 @@ from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.Validator import Validator from UM.Message import Message from UM.i18n import i18nCatalog +from UM.Workspace.WorkspaceReader import WorkspaceReader from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation from UM.Operations.RemoveSceneNodeOperation import RemoveSceneNodeOperation @@ -1260,3 +1261,21 @@ class CuraApplication(QtApplication): def addNonSliceableExtension(self, extension): self._non_sliceable_extensions.append(extension) + + @pyqtSlot(str, result=bool) + def checkIsValidProjectFile(self, file_url): + """ + Checks if the given file URL is a valid project file. + """ + file_url_prefix = 'file:///' + + file_name = file_url + if file_name.startswith(file_url_prefix): + file_name = file_name[len(file_url_prefix):] + + workspace_reader = self.getWorkspaceFileHandler().getReaderForFile(file_name) + if workspace_reader is None: + return False # non-project files won't get a reader + + result = workspace_reader.preRead(file_name, show_dialog=False) + return result == WorkspaceReader.PreReadResult.accepted diff --git a/plugins/3MFReader/ThreeMFWorkspaceReader.py b/plugins/3MFReader/ThreeMFWorkspaceReader.py index 707238ab26..a0ce679464 100644 --- a/plugins/3MFReader/ThreeMFWorkspaceReader.py +++ b/plugins/3MFReader/ThreeMFWorkspaceReader.py @@ -47,7 +47,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader): self._id_mapping[old_id] = self._container_registry.uniqueName(old_id) return self._id_mapping[old_id] - def preRead(self, file_name): + def preRead(self, file_name, show_dialog=True, *args, **kwargs): self._3mf_mesh_reader = Application.getInstance().getMeshFileHandler().getReaderForFile(file_name) if self._3mf_mesh_reader and self._3mf_mesh_reader.preRead(file_name) == WorkspaceReader.PreReadResult.accepted: pass @@ -167,6 +167,10 @@ class ThreeMFWorkspaceReader(WorkspaceReader): Logger.log("w", "File %s is not a valid workspace.", file_name) return WorkspaceReader.PreReadResult.failed + # In case we use preRead() to check if a file is a valid project file, we don't want to show a dialog. + if not show_dialog: + return WorkspaceReader.PreReadResult.accepted + # Show the dialog, informing the user what is about to happen. self._dialog.setMachineConflict(machine_conflict) self._dialog.setQualityChangesConflict(quality_changes_conflict) diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index f586f82a90..94140ea876 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -12,7 +12,6 @@ Item { property alias newProject: newProjectAction; property alias open: openAction; - property alias loadWorkspace: loadWorkspaceAction; property alias quit: quitAction; property alias undo: undoAction; @@ -284,7 +283,7 @@ Item Action { id: openAction; - text: catalog.i18nc("@action:inmenu menubar:file","&Open File..."); + text: catalog.i18nc("@action:inmenu menubar:file","&Open File(s)..."); iconName: "document-open"; shortcut: StandardKey.Open; } @@ -296,12 +295,6 @@ Item shortcut: StandardKey.New } - Action - { - id: loadWorkspaceAction - text: catalog.i18nc("@action:inmenu menubar:file","&Open Project..."); - } - Action { id: showEngineLogAction; diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index d3d7d07d90..bff3471eb3 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -78,11 +78,6 @@ UM.MainWindow RecentFilesMenu { } - MenuItem - { - action: Cura.Actions.loadWorkspace - } - MenuSeparator { } MenuItem @@ -752,27 +747,43 @@ UM.MainWindow id: openDialog; //: File open dialog title - title: catalog.i18nc("@title:window","Open file") + title: catalog.i18nc("@title:window","Open file(s)") modality: UM.Application.platform == "linux" ? Qt.NonModal : Qt.WindowModal; selectMultiple: true nameFilters: UM.MeshFileHandler.supportedReadFileTypes; folder: CuraApplication.getDefaultPath("dialog_load_path") onAccepted: { - //Because several implementations of the file dialog only update the folder - //when it is explicitly set. + // Because several implementations of the file dialog only update the folder + // when it is explicitly set. var f = folder; folder = f; CuraApplication.setDefaultPath("dialog_load_path", folder); - for(var i in fileUrls) + // look for valid project files + var projectFileUrlList = []; + for (var i in fileUrls) { - Printer.readLocalFile(fileUrls[i]) + if (CuraApplication.checkIsValidProjectFile(fileUrls[i])) + projectFileUrlList.push(fileUrls[i]); } - var meshName = backgroundItem.getMeshName(fileUrls[0].toString()) - backgroundItem.hasMesh(decodeURIComponent(meshName)) + // we only allow opening one project file + var selectedMultipleFiles = fileUrls.length > 1; + var hasProjectFile = projectFileUrlList.length > 0; + var selectedMultipleWithProjectFile = hasProjectFile && selectedMultipleFiles; + if (selectedMultipleWithProjectFile) + { + askOpenProjectOrModelsDialog.fileUrls = fileUrls; + askOpenProjectOrModelsDialog.show(); + return; + } + + if (hasProjectFile) + loadProjectFile(projectFileUrlList[0]); + else + loadModelFiles(fileUrls); } } @@ -782,38 +793,101 @@ UM.MainWindow onTriggered: openDialog.open() } - FileDialog + function loadProjectFile(projectFile) { - id: openWorkspaceDialog; + UM.WorkspaceFileHandler.readLocalFile(projectFile); - //: File open dialog title - title: catalog.i18nc("@title:window","Open workspace") - modality: UM.Application.platform == "linux" ? Qt.NonModal : Qt.WindowModal; - selectMultiple: false - nameFilters: UM.WorkspaceFileHandler.supportedReadFileTypes; - folder: CuraApplication.getDefaultPath("dialog_load_path") - onAccepted: - { - //Because several implementations of the file dialog only update the folder - //when it is explicitly set. - var f = folder; - folder = f; - - CuraApplication.setDefaultPath("dialog_load_path", folder); - - for(var i in fileUrls) - { - UM.WorkspaceFileHandler.readLocalFile(fileUrls[i]) - } - var meshName = backgroundItem.getMeshName(fileUrls[0].toString()) - backgroundItem.hasMesh(decodeURIComponent(meshName)) - } + var meshName = backgroundItem.getMeshName(projectFile.toString()); + backgroundItem.hasMesh(decodeURIComponent(meshName)); } - Connections + function loadModelFiles(fileUrls) { - target: Cura.Actions.loadWorkspace - onTriggered: openWorkspaceDialog.open() + for (var i in fileUrls) + Printer.readLocalFile(fileUrls[i]); + + var meshName = backgroundItem.getMeshName(fileUrls[0].toString()); + backgroundItem.hasMesh(decodeURIComponent(meshName)); + } + + UM.Dialog + { + // This dialog asks the user whether he/she wants to open the project file we have detected or the model files. + id: askOpenProjectOrModelsDialog + + title: catalog.i18nc("@title:window", "Open file(s)") + width: 620 + height: 250 + + maximumHeight: height + maximumWidth: width + minimumHeight: height + minimumWidth: width + + modality: UM.Application.platform == "linux" ? Qt.NonModal : Qt.WindowModal; + + property var fileUrls: [] + property int spacerHeight: 10 + + Column + { + anchors.fill: parent + anchors.margins: UM.Theme.getSize("default_margin").width + anchors.left: parent.left + anchors.right: parent.right + spacing: UM.Theme.getSize("default_margin").width + + Text + { + id: askOpenProjectOrModelsDialogText + text: catalog.i18nc("@text:window", "We have found multiple project file(s) within the files you have\nselected. You can open only one project file at a time. We\nsuggest to only import models from those files. Would you like\nto proceed?") + anchors.margins: UM.Theme.getSize("default_margin").width + font: UM.Theme.getFont("default") + wrapMode: Text.WordWrap + } + + Item // Spacer + { + height: askOpenProjectOrModelsDialog.spacerHeight + width: height + } + + // Buttons + Item + { + anchors.right: parent.right + anchors.left: parent.left + height: childrenRect.height + + Button + { + id: cancelButton + text: catalog.i18nc("@action:button", "Cancel"); + anchors.right: importAllAsModelsButton.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + onClicked: + { + // cancel + askOpenProjectOrModelsDialog.hide(); + } + } + + Button + { + id: importAllAsModelsButton + text: catalog.i18nc("@action:button", "Import all as models"); + anchors.right: parent.right + isDefault: true + onClicked: + { + // load models from all selected file + loadModelFiles(askOpenProjectOrModelsDialog.fileUrls); + + askOpenProjectOrModelsDialog.hide(); + } + } + } + } } EngineLog From de02d331c7c1ea57880f89e1419ca63ee1856caa Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Mar 2017 13:42:29 +0100 Subject: [PATCH 057/138] Selection tool operation stoped no longer triggers platform physics CURA-3465 --- cura/PlatformPhysics.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cura/PlatformPhysics.py b/cura/PlatformPhysics.py index 0bd7009ac8..42ea26f153 100644 --- a/cura/PlatformPhysics.py +++ b/cura/PlatformPhysics.py @@ -171,6 +171,10 @@ class PlatformPhysics: self._enabled = False def _onToolOperationStopped(self, tool): + # Selection tool should not trigger an update. + if tool.getPluginId() == "SelectionTool": + return + if tool.getPluginId() == "TranslateTool": for node in Selection.getAllSelectedObjects(): if node.getBoundingBox().bottom < 0: From f736e74f77dcf6a89fa826df92a702d979da7e1c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Mar 2017 15:08:06 +0100 Subject: [PATCH 058/138] Moved setting of color for convex hull to constructor This should result in less color changes so should make it slightly faster CURA-3419 --- cura/ConvexHullNode.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/cura/ConvexHullNode.py b/cura/ConvexHullNode.py index 7282b0ffb2..bc2f7a7cf3 100644 --- a/cura/ConvexHullNode.py +++ b/cura/ConvexHullNode.py @@ -24,7 +24,7 @@ class ConvexHullNode(SceneNode): self._original_parent = parent # Color of the drawn convex hull - self._color = None + self._color = Color(*Application.getInstance().getTheme().getColor("convex_hull").getRgb()) # The y-coordinate of the convex hull mesh. Must not be 0, to prevent z-fighting. self._mesh_height = 0.1 @@ -73,8 +73,6 @@ class ConvexHullNode(SceneNode): return True def _onNodeDecoratorsChanged(self, node): - self._color = Color(*Application.getInstance().getTheme().getColor("convex_hull").getRgb()) - convex_hull_head = self._node.callDecoration("getConvexHullHead") if convex_hull_head: convex_hull_head_builder = MeshBuilder() From 9b06983f3e473c1d07c292116c7b5aeee8f1a5fa Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Thu, 16 Mar 2017 15:27:48 +0100 Subject: [PATCH 059/138] GCode reader: Better layerheight guess, refactoring, more robust, take extruder offset into account of multi extrusion. CURA-3390 --- plugins/GCodeReader/GCodeReader.py | 108 ++++++++++++++++------------- 1 file changed, 61 insertions(+), 47 deletions(-) diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index 9413d06bf5..155fe231e2 100755 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -19,6 +19,7 @@ from cura import LayerDataBuilder from cura import LayerDataDecorator from cura.LayerPolygon import LayerPolygon from cura.GCodeListDecorator import GCodeListDecorator +from cura.Settings.ExtruderManager import ExtruderManager import numpy import math @@ -40,7 +41,9 @@ class GCodeReader(MeshReader): self._clearValues() self._scene_node = None self._position = namedtuple('Position', ['x', 'y', 'z', 'e']) - self._is_layers_in_file = False + self._is_layers_in_file = False # Does the Gcode have the layers comment? + self._extruder_offsets = {} # Offsets for multi extruders. key is index, value is [x-offset, y-offset] + self._current_layer_thickness = 0.2 # default Preferences.getInstance().addPreference("gcodereader/show_caution", True) @@ -90,19 +93,21 @@ class GCodeReader(MeshReader): def _getNullBoundingBox(): return AxisAlignedBox(minimum=Vector(0, 0, 0), maximum=Vector(10, 10, 10)) - def _createPolygon(self, current_z, path, nozzle_offset_x = 0, nozzle_offset_y = 0): + def _createPolygon(self, layer_thickness, path, extruder_offsets): countvalid = 0 for point in path: if point[3] > 0: countvalid += 1 + if countvalid >= 2: + # we know what to do now, no need to count further + continue if countvalid < 2: return False try: self._layer_data_builder.addLayer(self._layer_number) self._layer_data_builder.setLayerHeight(self._layer_number, path[0][2]) - self._layer_data_builder.setLayerThickness(self._layer_number, math.fabs(current_z - self._previous_z)) + self._layer_data_builder.setLayerThickness(self._layer_number, layer_thickness) this_layer = self._layer_data_builder.getLayer(self._layer_number) - layer_thickness = math.fabs(self._previous_z - current_z) # TODO: use this value except ValueError: return False count = len(path) @@ -110,19 +115,16 @@ class GCodeReader(MeshReader): line_widths = numpy.empty((count - 1, 1), numpy.float32) line_thicknesses = numpy.empty((count - 1, 1), numpy.float32) # TODO: need to calculate actual line width based on E values - line_widths[:, 0] = 0.4 - # TODO: need to calculate actual line heights - line_thicknesses[:, 0] = 0.2 + line_widths[:, 0] = 0.35 # Just a guess + line_thicknesses[:, 0] = layer_thickness points = numpy.empty((count, 3), numpy.float32) i = 0 for point in path: - points[i, 0] = point[0] - points[i, 1] = point[2] - points[i, 2] = -point[1] + points[i, :] = [point[0] + extruder_offsets[0], point[2], -point[1] - extruder_offsets[1]] if i > 0: line_types[i - 1] = point[3] if point[3] in [LayerPolygon.MoveCombingType, LayerPolygon.MoveRetractionType]: - line_widths[i - 1] = 0.2 + line_widths[i - 1] = 0.1 i += 1 this_poly = LayerPolygon(self._extruder_number, line_types, points, line_widths, line_thicknesses) @@ -135,13 +137,7 @@ class GCodeReader(MeshReader): x, y, z, e = position x = params.x if params.x is not None else x y = params.y if params.y is not None else y - z_changed = False - - if params.z is not None: - if z != params.z: - z_changed = True - self._previous_z = z - z = params.z + z = params.z if params.z is not None else position.z if params.e is not None: if params.e > e[self._extruder_number]: @@ -149,18 +145,16 @@ class GCodeReader(MeshReader): else: path.append([x, y, z, LayerPolygon.MoveRetractionType]) # retraction e[self._extruder_number] = params.e + + # Only when extruding we can determine the latest known "layer height" which is the difference in height between extrusions + # Also, 1.5 is a heuristic for any priming or whatsoever, we skip those. + if z > self._previous_z and (z - self._previous_z < 1.5): + self._current_layer_thickness = z - self._previous_z + 0.05 # allow a tiny overlap + self._previous_z = z + Logger.log("d", "Layer thickness recalculated: %s" % self._current_layer_thickness) else: path.append([x, y, z, LayerPolygon.MoveCombingType]) - if z_changed: - if not self._is_layers_in_file: - if len(path) > 1 and z > 0: - if self._createPolygon(z, path): - self._layer_number += 1 - path.clear() - else: - path.clear() - return self._position(x, y, z, e) # G0 and G1 should be handled exactly the same. @@ -192,7 +186,9 @@ class GCodeReader(MeshReader): s = line.upper().split(" ") x, y, z, e = None, None, None, None for item in s[1:]: - if not item: + if len(item) <= 1: + continue + if item.startswith(";"): continue if item[0] == "X": x = float(item[1:]) @@ -212,18 +208,20 @@ class GCodeReader(MeshReader): self._extruder_number = T if self._extruder_number + 1 > len(position.e): position.e.extend([0] * (self._extruder_number - len(position.e) + 1)) - if not self._is_layers_in_file: - if len(path) > 1 and position[2] > 0: - if self._createPolygon(position[2], path): - self._layer_number += 1 - path.clear() - else: - path.clear() return position _type_keyword = ";TYPE:" _layer_keyword = ";LAYER:" + ## For showing correct x, y offsets for each extruder + def _extruderOffsets(self): + result = {} + for extruder in ExtruderManager.getInstance().getExtruderStacks(): + result[int(extruder.getMetaData().get("position", "0"))] = [ + extruder.getProperty("machine_nozzle_offset_x", "value"), + extruder.getProperty("machine_nozzle_offset_y", "value")] + return result + def read(self, file_name): Logger.log("d", "Preparing to load %s" % file_name) self._cancelled = False @@ -238,6 +236,9 @@ class GCodeReader(MeshReader): Logger.log("d", "Opening file %s" % file_name) + self._extruder_offsets = self._extruderOffsets() # dict with index the extruder number. can be empty + + last_z = 0 with open(file_name, "r") as file: file_lines = 0 current_line = 0 @@ -256,7 +257,7 @@ class GCodeReader(MeshReader): self._message.setProgress(0) self._message.show() - Logger.log("d", "Parsing %s" % file_name) + Logger.log("d", "Parsing %s..." % file_name) current_position = self._position(0, 0, 0, [0]) current_path = [] @@ -266,6 +267,8 @@ class GCodeReader(MeshReader): Logger.log("d", "Parsing %s cancelled" % file_name) return None current_line += 1 + last_z = current_position.z + if current_line % file_step == 0: self._message.setProgress(math.floor(current_line / file_lines * 100)) Job.yieldThread() @@ -292,31 +295,42 @@ class GCodeReader(MeshReader): if self._is_layers_in_file and line[:len(self._layer_keyword)] == self._layer_keyword: try: layer_number = int(line[len(self._layer_keyword):]) - self._createPolygon(current_position[2], current_path) + self._createPolygon(self._current_layer_thickness, current_path, self._extruder_offsets.get(self._extruder_number, [0, 0])) current_path.clear() self._layer_number = layer_number except: pass - # This line is a comment. Ignore it. + # This line is a comment. Ignore it (except for the layer_keyword) if line.startswith(";"): continue G = self._getInt(line, "G") if G is not None: current_position = self._processGCode(G, line, current_position, current_path) + # < 2 is a heuristic for a movement only, that should not be counted as a layer + if current_position.z > last_z and abs(current_position.z - last_z) < 2: + if self._createPolygon(self._current_layer_thickness, current_path, self._extruder_offsets.get(self._extruder_number, [0, 0])): + current_path.clear() - T = self._getInt(line, "T") - if T is not None: - current_position = self._processTCode(T, line, current_position, current_path) - if self._createPolygon(current_position[2], current_path): - self._layer_number += 1 - current_path.clear() + if not self._is_layers_in_file: + self._layer_number += 1 - if not self._is_layers_in_file and len(current_path) > 1 and current_position[2] > 0: - if self._createPolygon(current_position[2], current_path): + continue + + if line.startswith("T"): + T = self._getInt(line, "T") + if T is not None: + self._createPolygon(self._current_layer_thickness, current_path, self._extruder_offsets.get(self._extruder_number, [0, 0])) + current_path.clear() + + current_position = self._processTCode(T, line, current_position, current_path) + + # "Flush" leftovers + if not self._is_layers_in_file and len(current_path) > 1: + if self._createPolygon(self._current_layer_thickness, current_path, self._extruder_offsets.get(self._extruder_number, [0, 0])): self._layer_number += 1 - current_path.clear() + current_path.clear() material_color_map = numpy.zeros((10, 4), dtype = numpy.float32) material_color_map[0, :] = [0.0, 0.7, 0.9, 1.0] From 6194ffa27ba2a39ccbb620fa3a422c50ab347677 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Thu, 16 Mar 2017 15:28:57 +0100 Subject: [PATCH 060/138] Removed comment. CURA-3390 --- plugins/GCodeReader/GCodeReader.py | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/GCodeReader/GCodeReader.py b/plugins/GCodeReader/GCodeReader.py index 155fe231e2..15494f3712 100755 --- a/plugins/GCodeReader/GCodeReader.py +++ b/plugins/GCodeReader/GCodeReader.py @@ -151,7 +151,6 @@ class GCodeReader(MeshReader): if z > self._previous_z and (z - self._previous_z < 1.5): self._current_layer_thickness = z - self._previous_z + 0.05 # allow a tiny overlap self._previous_z = z - Logger.log("d", "Layer thickness recalculated: %s" % self._current_layer_thickness) else: path.append([x, y, z, LayerPolygon.MoveCombingType]) From aa691033e07dbc2b792dbe9c3b8e513e267835d3 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Thu, 16 Mar 2017 16:01:18 +0100 Subject: [PATCH 061/138] Added Not Supported profiles for incompatible materials. CURA-3510 --- .../um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ 5 files changed, 65 insertions(+) create mode 100755 resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..c0b5074799 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +weight = 0 +type = quality +quality_type = normal +material = generic_pva_ultimaker3_AA_0.8 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..ab20d984b6 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_abs_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..02ea97395c --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_cpe_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..4280213689 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_nylon_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..d27d6a8174 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_pla_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] From 7d62a699fbb32cb5dd947912b3cc7b915705ef08 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Thu, 16 Mar 2017 16:04:47 +0100 Subject: [PATCH 062/138] Capitalize Not Supported. CURA-3390 --- cura/CuraApplication.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 301dff3d20..6fcd0fbf4f 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -224,7 +224,7 @@ class CuraApplication(QtApplication): ContainerRegistry.getInstance().addContainer(empty_material_container) empty_quality_container = copy.deepcopy(empty_container) empty_quality_container._id = "empty_quality" - empty_quality_container.setName("Not supported") + empty_quality_container.setName("Not Supported") empty_quality_container.addMetaDataEntry("quality_type", "normal") empty_quality_container.addMetaDataEntry("type", "quality") ContainerRegistry.getInstance().addContainer(empty_quality_container) From d52515d57d32ded06b8faf345d433e00cca6ce29 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 16 Mar 2017 19:06:57 +0100 Subject: [PATCH 063/138] Added invert zoom preference option --- resources/qml/Preferences/GeneralPage.qml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 0220a605c8..00a3fdb893 100755 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -45,6 +45,8 @@ UM.PreferencesPage showOverhangCheckbox.checked = boolCheck(UM.Preferences.getValue("view/show_overhang")) UM.Preferences.resetPreference("view/center_on_select"); centerOnSelectCheckbox.checked = boolCheck(UM.Preferences.getValue("view/center_on_select")) + UM.Preferences.resetPreference("view/invert_zoom"); + invertZoomCheckbox.checked = boolCheck(UM.Preferences.getValue("view/invert_zoom")) UM.Preferences.resetPreference("view/top_layer_count"); topLayerCountCheckbox.checked = boolCheck(UM.Preferences.getValue("view/top_layer_count")) UM.Preferences.resetPreference("cura/choice_on_profile_override") @@ -232,6 +234,20 @@ UM.PreferencesPage } } + UM.TooltipArea { + width: childrenRect.width; + height: childrenRect.height; + text: catalog.i18nc("@info:tooltip","Should the default zoom behavior of cura be inverted?") + + CheckBox + { + id: invertZoomCheckbox + text: catalog.i18nc("@action:button","Invert the direction of camera zoom."); + checked: boolCheck(UM.Preferences.getValue("view/invert_zoom")) + onClicked: UM.Preferences.setValue("view/invert_zoom", checked) + } + } + UM.TooltipArea { width: childrenRect.width height: childrenRect.height From d0ce717addba6186d15ff3b33fd675c493f9e2cc Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Thu, 16 Mar 2017 15:30:42 -0700 Subject: [PATCH 064/138] Create makeit_pro_l --- resources/definitions/makeit_pro_l | 130 +++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 resources/definitions/makeit_pro_l diff --git a/resources/definitions/makeit_pro_l b/resources/definitions/makeit_pro_l new file mode 100644 index 0000000000..ea3bcc4f30 --- /dev/null +++ b/resources/definitions/makeit_pro_l @@ -0,0 +1,130 @@ +{ + "id": "makeit_pro_l", + "version": 2, + "name": "MAKEiT_ProL", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "NA", + "manufacturer": "NA", + "category": "Other", + "weight": -1, + "file_formats": "text/x-gcode", + "has_materials": false, + "supported_actions": [ "MachineSettingsAction", "UpgradeFirmware" ], + "machine_extruder_trains": + { + "0": "makeit_l_dual_1st", + "1": "makeit_l_dual_2nd" + } + }, + + "overrides": { + "machine_name": { "default_value": "MAKEiT ProL" }, + "machine_width": { + "default_value": 305 + }, + "machine_height": { + "default_value": 330 + }, + "machine_depth": { + "default_value": 254 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "machine_nozzle_heat_up_speed": { + "default_value": 2 + }, + "machine_nozzle_cool_down_speed": { + "default_value": 2 + }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [ -305, 28 ], + [ -305, -28 ], + [ 305, 28 ], + [ 305, -28 ] + ] + }, + "gantry_height": { + "default_value": 330 + }, + "machine_use_extruder_offset_to_offset_coords": { + "default_value": true + }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, + "machine_start_gcode": { + "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nG92 E0 ;zero the extruded length\nG28 ;home\nG1 F200 E30 ;extrude 30 mm of feed stock\nG92 E0 ;zero the extruded length\nG1 E-5 ;retract 5 mm\nG28 SC ;Do homeing, clean nozzles and let printer to know that printing started\nG92 X-6 ;Sets Curas checker board to match printers heated bed coordinates\nG1 F{speed_travel}\nM117 Printing..." + }, + "machine_end_gcode": { + "default_value": "M104 T0 S0 ;1st extruder heater off\nM104 T1 S0 ;2nd extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-5 F9000 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+5 X+20 Y+20 F9000 ;move Z up a bit\nM117 MAKEiT Pro@Done\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning\nM81" + }, + "machine_extruder_count": { + "default_value": 2 + }, + "print_sequence": { + "enabled": true + }, + "prime_tower_position_x": { + "default_value": 185 + }, + "prime_tower_position_y": { + "default_value": 160 + }, + "material_diameter": { + "default_value": 1.75 + }, + "layer_height": { + "default_value": 0.2 + }, + "retraction_speed": { + "default_value": 180 + }, + "infill_sparse_density": { + "default_value": 20 + }, + "retraction_amount": { + "default_value": 6 + }, + "retraction_min_travel": { + "default_value": 1.5 + }, + "speed_travel": { + "default_value": 150 + }, + "speed_print": { + "default_value": 60 + }, + "wall_thickness": { + "default_value": 1.2 + }, + "bottom_thickness": { + "default_value": 0.2 + }, + "speed_layer_0": { + "default_value": 20 + }, + "speed_print_layer_0": { + "default_value": 20 + }, + "cool_min_layer_time_fan_speed_max": { + "default_value": 5 + }, + "adhesion_type": { + "default_value": "skirt" + }, + "machine_heated_bed": { + "default_value": true + }, + "machine_heat_zone_length": { + "default_value": 20 + } + } +} From 179919d14c96324a3401831e6e015d974099b18b Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Thu, 16 Mar 2017 15:33:13 -0700 Subject: [PATCH 065/138] Create makeit_pro_m --- resources/definitions/makeit_pro_m | 127 +++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 resources/definitions/makeit_pro_m diff --git a/resources/definitions/makeit_pro_m b/resources/definitions/makeit_pro_m new file mode 100644 index 0000000000..eb248046ce --- /dev/null +++ b/resources/definitions/makeit_pro_m @@ -0,0 +1,127 @@ +{ + "id": "makeit_pro_m", + "version": 2, + "name": "MAKEiT_ProM", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "NA", + "manufacturer": "NA", + "category": "Other", + "weight": -1, + "file_formats": "text/x-gcode", + "has_materials": false, + "supported_actions": [ "MachineSettingsAction", "UpgradeFirmware" ], + "machine_extruder_trains": + { + "0": "makeit_dual_1st", + "1": "makeit_dual_2nd" + } + }, + + "overrides": { + "machine_name": { "default_value": "MAKEiT ProM" }, + "machine_width": { + "default_value": 200 + }, + "machine_height": { + "default_value": 200 + }, + "machine_depth": { + "default_value": 240 + }, + "machine_center_is_zero": { + "default_value": false + }, + "machine_nozzle_size": { + "default_value": 0.4 + }, + "machine_nozzle_heat_up_speed": { + "default_value": 2 + }, + "machine_nozzle_cool_down_speed": { + "default_value": 2 + }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [ -200, 240 ], + [ -200, -32 ], + [ 200, 240 ], + [ 200, -32 ] + ] + }, + "gantry_height": { + "default_value": 200 + }, + "machine_use_extruder_offset_to_offset_coords": { + "default_value": true + }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, + "machine_start_gcode": { + "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nG92 E0 ;zero the extruded length\nG28 ;home\nG1 F200 E30 ;extrude 30 mm of feed stock\nG92 E0 ;zero the extruded length\nG1 E-5 ;retract 5 mm\nG28 SC ;Do homeing, clean nozzles and let printer to know that printing started\nG92 X-6 ;Sets Curas checker board to match printers heated bed coordinates\nG1 F{speed_travel}\nM117 Printing..." + }, + "machine_end_gcode": { + "default_value": "M104 T0 S0 ;1st extruder heater off\nM104 T1 S0 ;2nd extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-5 F9000 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+5 X+20 Y+20 F9000 ;move Z up a bit\nM117 MAKEiT Pro@Done\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning\nM81" + }, + "machine_extruder_count": { + "default_value": 2 + }, + "print_sequence": { + "enabled": false + }, + "prime_tower_position_x": { + "default_value": 185 + }, + "prime_tower_position_y": { + "default_value": 160 + }, + "material_diameter": { + "default_value": 1.75 + }, + "layer_height": { + "default_value": 0.2 + }, + "retraction_speed": { + "default_value": 180 + }, + "infill_sparse_density": { + "default_value": 20 + }, + "retraction_amount": { + "default_value": 6 + }, + "retraction_min_travel": { + "default_value": 1.5 + }, + "speed_travel": { + "default_value": 150 + }, + "speed_print": { + "default_value": 60 + }, + "wall_thickness": { + "default_value": 1.2 + }, + "bottom_thickness": { + "default_value": 0.2 + }, + "speed_layer_0": { + "default_value": 20 + }, + "speed_print_layer_0": { + "default_value": 20 + }, + "cool_min_layer_time_fan_speed_max": { + "default_value": 5 + }, + "adhesion_type": { + "default_value": "skirt" + }, + "machine_heated_bed": { + "default_value": true + } + } +} From b5cc2b70590fc202fd1fa95a2dfae00451329c8c Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Thu, 16 Mar 2017 15:42:18 -0700 Subject: [PATCH 066/138] Create makeit_dual_1st --- resources/extruders/makeit_dual_1st | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 resources/extruders/makeit_dual_1st diff --git a/resources/extruders/makeit_dual_1st b/resources/extruders/makeit_dual_1st new file mode 100644 index 0000000000..ebfa475eac --- /dev/null +++ b/resources/extruders/makeit_dual_1st @@ -0,0 +1,26 @@ +{ + "id": "makeit_dual_1st", + "version": 2, + "name": "1st Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "makeit_pro_m", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 0.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} From 499f1998ca8cf47315a1cae101afb217ffaf75f8 Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Thu, 16 Mar 2017 15:42:35 -0700 Subject: [PATCH 067/138] Create makeit_dual_2nd --- resources/extruders/makeit_dual_2nd | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 resources/extruders/makeit_dual_2nd diff --git a/resources/extruders/makeit_dual_2nd b/resources/extruders/makeit_dual_2nd new file mode 100644 index 0000000000..99744e8b5a --- /dev/null +++ b/resources/extruders/makeit_dual_2nd @@ -0,0 +1,26 @@ +{ + "id": "makeit_dual_2nd", + "version": 2, + "name": "2nd Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "makeit_pro_m", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 0.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} From 2523630455857ded62ed5e8e748062cd2e5ce6ab Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Thu, 16 Mar 2017 15:42:48 -0700 Subject: [PATCH 068/138] Create makeit_l_dual_1st --- resources/extruders/makeit_l_dual_1st | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 resources/extruders/makeit_l_dual_1st diff --git a/resources/extruders/makeit_l_dual_1st b/resources/extruders/makeit_l_dual_1st new file mode 100644 index 0000000000..cdab6441eb --- /dev/null +++ b/resources/extruders/makeit_l_dual_1st @@ -0,0 +1,26 @@ +{ + "id": "makeit_l_dual_1st", + "version": 2, + "name": "1st Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "makeit_pro_l", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 0.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} From 8418c6b39b130c559efa75e96ad203d5b48e9cb3 Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Thu, 16 Mar 2017 15:43:02 -0700 Subject: [PATCH 069/138] Create makeit_l_dual_2nd --- resources/extruders/makeit_l_dual_2nd | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 resources/extruders/makeit_l_dual_2nd diff --git a/resources/extruders/makeit_l_dual_2nd b/resources/extruders/makeit_l_dual_2nd new file mode 100644 index 0000000000..3db9c0696c --- /dev/null +++ b/resources/extruders/makeit_l_dual_2nd @@ -0,0 +1,26 @@ +{ + "id": "makeit_l_dual_2nd", + "version": 2, + "name": "2nd Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "makeit_pro_l", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 0.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} From 918c5e12548c431164c3cc008d9324a8ba52efa4 Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Thu, 16 Mar 2017 15:49:35 -0700 Subject: [PATCH 070/138] Update makeit_pro_l --- resources/definitions/makeit_pro_l | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/definitions/makeit_pro_l b/resources/definitions/makeit_pro_l index ea3bcc4f30..6b600e6fc3 100644 --- a/resources/definitions/makeit_pro_l +++ b/resources/definitions/makeit_pro_l @@ -8,7 +8,6 @@ "author": "NA", "manufacturer": "NA", "category": "Other", - "weight": -1, "file_formats": "text/x-gcode", "has_materials": false, "supported_actions": [ "MachineSettingsAction", "UpgradeFirmware" ], From 8cd5c8bb69bf1275652c0ed871f1094e83841830 Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Thu, 16 Mar 2017 15:50:54 -0700 Subject: [PATCH 071/138] Update makeit_pro_m --- resources/definitions/makeit_pro_m | 1 - 1 file changed, 1 deletion(-) diff --git a/resources/definitions/makeit_pro_m b/resources/definitions/makeit_pro_m index eb248046ce..9e03984768 100644 --- a/resources/definitions/makeit_pro_m +++ b/resources/definitions/makeit_pro_m @@ -8,7 +8,6 @@ "author": "NA", "manufacturer": "NA", "category": "Other", - "weight": -1, "file_formats": "text/x-gcode", "has_materials": false, "supported_actions": [ "MachineSettingsAction", "UpgradeFirmware" ], From 296152ed33386af77573175543c2e0eaeefddeb2 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 17 Mar 2017 10:22:41 +0100 Subject: [PATCH 072/138] Added extra logging when authentication gets removed for network printer --- plugins/UM3NetworkPrinting/DiscoverUM3Action.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/UM3NetworkPrinting/DiscoverUM3Action.py b/plugins/UM3NetworkPrinting/DiscoverUM3Action.py index c4ffdb8472..31f5a226df 100644 --- a/plugins/UM3NetworkPrinting/DiscoverUM3Action.py +++ b/plugins/UM3NetworkPrinting/DiscoverUM3Action.py @@ -101,6 +101,7 @@ class DiscoverUM3Action(MachineAction): if "um_network_key" in meta_data: global_container_stack.setMetaDataEntry("um_network_key", key) # Delete old authentication data. + Logger.log("d", "Removing old authentication id %s for device %s", global_container_stack.getMetaDataEntry("network_authentication_id", None), key) global_container_stack.removeMetaDataEntry("network_authentication_id") global_container_stack.removeMetaDataEntry("network_authentication_key") else: From e620d8fd9a5262e3f778dff5dd4cebd6e3c9d45c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 17 Mar 2017 10:30:04 +0100 Subject: [PATCH 073/138] Added extra logging to authentication loading to indicate difference between no auth at all or (some) loaded auth --- plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index a0eb253dba..25170d874d 100644 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -726,7 +726,12 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): ## Check if this machine was authenticated before. self._authentication_id = Application.getInstance().getGlobalContainerStack().getMetaDataEntry("network_authentication_id", None) self._authentication_key = Application.getInstance().getGlobalContainerStack().getMetaDataEntry("network_authentication_key", None) - Logger.log("d", "Loaded authentication id %s from the metadata entry", self._authentication_id) + + if self._authentication_id is None and self._authentication_key is None: + Logger.log("d", "No authentication found in metadata.") + else: + Logger.log("d", "Loaded authentication id %s from the metadata entry", self._authentication_id) + self._update_timer.start() ## Stop requesting data from printer From 8e77d212f70ff964860a659d2c60c3d9d1bf0b36 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 17 Mar 2017 14:31:19 +0100 Subject: [PATCH 074/138] Remove "Save All" and add "Save As" MenuItem CURA-3496 --- resources/qml/Cura.qml | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 71b6eeabf2..31ccd3906f 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -92,26 +92,18 @@ UM.MainWindow iconName: "document-save-as"; onTriggered: UM.OutputDeviceManager.requestWriteSelectionToDevice("local_file", PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetype": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"}); } - Menu + + MenuItem { - id: saveAllMenu - title: catalog.i18nc("@title:menu menubar:file","Save &All") - iconName: "document-save-all"; - enabled: devicesModel.rowCount() > 0 && UM.Backend.progress > 0.99; - - Instantiator + id: saveAsMenu + text: catalog.i18nc("@title:menu menubar:file", "Save &As") + onTriggered: { - model: UM.OutputDevicesModel { id: devicesModel; } - - MenuItem - { - text: model.description; - onTriggered: UM.OutputDeviceManager.requestWriteToDevice(model.id, PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetype": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"}); - } - onObjectAdded: saveAllMenu.insertItem(index, object) - onObjectRemoved: saveAllMenu.removeItem(object) + var localDeviceId = "local_file"; + UM.OutputDeviceManager.requestWriteToDevice(localDeviceId, PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetype": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"}); } } + MenuItem { id: saveWorkspaceMenu From 35516ccc451c3a0a70475db6e03b35ef0199f2e7 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 17 Mar 2017 15:05:01 +0100 Subject: [PATCH 075/138] JSON fix: tetrehedral infill line distance was wrong (CURA-3474) the infill line distance in the frontend is the average line distance, not the line distance between two lines which are equidistant --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 273f3ad265..a7853328d3 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1087,7 +1087,7 @@ "default_value": 2, "minimum_value": "0", "minimum_value_warning": "infill_line_width", - "value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (4 if infill_pattern == 'tetrahedral' else 1)))", + "value": "0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' else 1)))", "settable_per_mesh": true } } From c75261a0231b3d2d79799bee7268b1e8910a7d9b Mon Sep 17 00:00:00 2001 From: Thomas Karl Pietrowski Date: Sat, 18 Mar 2017 09:57:09 +0100 Subject: [PATCH 076/138] Removing multiple import We only need to import UM.Platform once. --- cura_app.py | 1 - 1 file changed, 1 deletion(-) diff --git a/cura_app.py b/cura_app.py index 989c45b37a..f608aca1da 100755 --- a/cura_app.py +++ b/cura_app.py @@ -50,7 +50,6 @@ sys.excepthook = exceptHook # first seems to prevent Sip from going into a state where it # tries to create PyQt objects on a non-main thread. import Arcus #@UnusedImport -from UM.Platform import Platform import cura.CuraApplication import cura.Settings.CuraContainerRegistry From 8d6ea7bb9710ff078f6abd9ed71498c52c9f05ad Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 20 Mar 2017 11:30:05 +0100 Subject: [PATCH 077/138] Adjust Discard/Keep Profile Dialog size for high DPI --- resources/qml/DiscardOrKeepProfileChangesDialog.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/DiscardOrKeepProfileChangesDialog.qml b/resources/qml/DiscardOrKeepProfileChangesDialog.qml index bee657532f..1752995ec5 100644 --- a/resources/qml/DiscardOrKeepProfileChangesDialog.qml +++ b/resources/qml/DiscardOrKeepProfileChangesDialog.qml @@ -59,7 +59,7 @@ UM.Dialog anchors.margins: UM.Theme.getSize("default_margin").width anchors.left: parent.left anchors.right: parent.right - height: base.height - 200 + height: base.height - 150 id: tableView Component { @@ -167,7 +167,7 @@ UM.Dialog anchors.right: parent.right anchors.left: parent.left anchors.margins: UM.Theme.getSize("default_margin").width - height:childrenRect.height + height: childrenRect.height Button { From f2590389540c7da51ebfa70987e8fb7014f98fa6 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 20 Mar 2017 11:37:01 +0100 Subject: [PATCH 078/138] Adjust open project/models dialog size for high DPI CURA-3495 --- resources/qml/Cura.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index e6b1b636f5..f64d1fdbf8 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -808,8 +808,8 @@ UM.MainWindow id: askOpenProjectOrModelsDialog title: catalog.i18nc("@title:window", "Open file(s)") - width: 620 - height: 250 + width: 420 + height: 170 maximumHeight: height maximumWidth: width From b21a87b25ba9d0cc92be22113225de31ed1c284d Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Mon, 20 Mar 2017 13:41:47 +0100 Subject: [PATCH 079/138] Fix not slicing refreshing after deleting last object from loaded project file. CURA-3559 --- plugins/3MFReader/ThreeMFReader.py | 4 ++++ 1 file changed, 4 insertions(+) mode change 100644 => 100755 plugins/3MFReader/ThreeMFReader.py diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py old mode 100644 new mode 100755 index 2aa6fb27d3..60336a9553 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -16,6 +16,7 @@ from UM.Application import Application from cura.Settings.ExtruderManager import ExtruderManager from cura.QualityManager import QualityManager from UM.Scene.SceneNode import SceneNode +from cura.SliceableObjectDecorator import SliceableObjectDecorator MYPY = False @@ -144,6 +145,9 @@ class ThreeMFReader(MeshReader): group_decorator = GroupDecorator() um_node.addDecorator(group_decorator) um_node.setSelectable(True) + # Assuming that all nodes are printable objects, affects (auto) slicing + sliceable_decorator = SliceableObjectDecorator() + um_node.addDecorator(sliceable_decorator) return um_node def read(self, file_name): From 2b17f9665f8396679db15b66de40fe5388664e44 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Mon, 20 Mar 2017 14:09:55 +0100 Subject: [PATCH 080/138] Fix prime tower location/visualization on buildplate. CURA-3525 --- cura/BuildVolume.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 1b04e0390a..7c969b19cd 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -629,7 +629,7 @@ class BuildVolume(SceneNode): if not self._global_container_stack.getProperty("machine_center_is_zero", "value"): prime_x = prime_x - machine_width / 2 #Offset by half machine_width and _depth to put the origin in the front-left. - prime_y = prime_x + machine_depth / 2 + prime_y = prime_y + machine_depth / 2 prime_polygon = Polygon.approximatedCircle(PRIME_CLEARANCE) prime_polygon = prime_polygon.translate(prime_x, prime_y) From 48c6c523ec9dd79c854d763550574418bee7c583 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Mon, 20 Mar 2017 14:43:46 +0100 Subject: [PATCH 081/138] Only 3mf nodes with mesh data are getting the sliceable object decorator. CURA-3559 --- plugins/3MFReader/ThreeMFReader.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index 60336a9553..d473ecaa8b 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -145,9 +145,11 @@ class ThreeMFReader(MeshReader): group_decorator = GroupDecorator() um_node.addDecorator(group_decorator) um_node.setSelectable(True) - # Assuming that all nodes are printable objects, affects (auto) slicing - sliceable_decorator = SliceableObjectDecorator() - um_node.addDecorator(sliceable_decorator) + if um_node.getMeshData(): + # Assuming that all nodes with mesh data are printable objects + # affects (auto) slicing + sliceable_decorator = SliceableObjectDecorator() + um_node.addDecorator(sliceable_decorator) return um_node def read(self, file_name): From 892225d39848b2fce3d62a5ecd6a17187da43341 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 20 Mar 2017 14:59:19 +0100 Subject: [PATCH 082/138] Move some code to OpenFilesIncludingProjectsDialog.qml CURA-3495 --- resources/qml/Cura.qml | 104 +---------------- .../qml/OpenFilesIncludingProjectsDialog.qml | 107 ++++++++++++++++++ 2 files changed, 113 insertions(+), 98 deletions(-) create mode 100644 resources/qml/OpenFilesIncludingProjectsDialog.qml diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index f64d1fdbf8..e039d603fa 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -767,15 +767,15 @@ UM.MainWindow var selectedMultipleWithProjectFile = hasProjectFile && selectedMultipleFiles; if (selectedMultipleWithProjectFile) { - askOpenProjectOrModelsDialog.fileUrls = fileUrls; - askOpenProjectOrModelsDialog.show(); + openFilesIncludingProjectsDialog.fileUrls = fileUrls; + openFilesIncludingProjectsDialog.show(); return; } if (hasProjectFile) - loadProjectFile(projectFileUrlList[0]); + openFilesIncludingProjectsDialog.loadProjectFile(projectFileUrlList[0]); else - loadModelFiles(fileUrls); + openFilesIncludingProjectsDialog.loadModelFiles(fileUrls); } } @@ -785,101 +785,9 @@ UM.MainWindow onTriggered: openDialog.open() } - function loadProjectFile(projectFile) + OpenFilesIncludingProjectsDialog { - UM.WorkspaceFileHandler.readLocalFile(projectFile); - - var meshName = backgroundItem.getMeshName(projectFile.toString()); - backgroundItem.hasMesh(decodeURIComponent(meshName)); - } - - function loadModelFiles(fileUrls) - { - for (var i in fileUrls) - Printer.readLocalFile(fileUrls[i]); - - var meshName = backgroundItem.getMeshName(fileUrls[0].toString()); - backgroundItem.hasMesh(decodeURIComponent(meshName)); - } - - UM.Dialog - { - // This dialog asks the user whether he/she wants to open the project file we have detected or the model files. - id: askOpenProjectOrModelsDialog - - title: catalog.i18nc("@title:window", "Open file(s)") - width: 420 - height: 170 - - maximumHeight: height - maximumWidth: width - minimumHeight: height - minimumWidth: width - - modality: UM.Application.platform == "linux" ? Qt.NonModal : Qt.WindowModal; - - property var fileUrls: [] - property int spacerHeight: 10 - - Column - { - anchors.fill: parent - anchors.margins: UM.Theme.getSize("default_margin").width - anchors.left: parent.left - anchors.right: parent.right - spacing: UM.Theme.getSize("default_margin").width - - Text - { - id: askOpenProjectOrModelsDialogText - text: catalog.i18nc("@text:window", "We have found multiple project file(s) within the files you have\nselected. You can open only one project file at a time. We\nsuggest to only import models from those files. Would you like\nto proceed?") - anchors.margins: UM.Theme.getSize("default_margin").width - font: UM.Theme.getFont("default") - wrapMode: Text.WordWrap - } - - Item // Spacer - { - height: askOpenProjectOrModelsDialog.spacerHeight - width: height - } - - // Buttons - Item - { - anchors.right: parent.right - anchors.left: parent.left - height: childrenRect.height - - Button - { - id: cancelButton - text: catalog.i18nc("@action:button", "Cancel"); - anchors.right: importAllAsModelsButton.left - anchors.rightMargin: UM.Theme.getSize("default_margin").width - onClicked: - { - // cancel - askOpenProjectOrModelsDialog.hide(); - } - } - - Button - { - id: importAllAsModelsButton - text: catalog.i18nc("@action:button", "Import all as models"); - anchors.right: parent.right - isDefault: true - onClicked: - { - // load models from all selected file - loadModelFiles(askOpenProjectOrModelsDialog.fileUrls); - - askOpenProjectOrModelsDialog.hide(); - } - } - } - } + id: openFilesIncludingProjectsDialog } EngineLog diff --git a/resources/qml/OpenFilesIncludingProjectsDialog.qml b/resources/qml/OpenFilesIncludingProjectsDialog.qml new file mode 100644 index 0000000000..17eabd47e2 --- /dev/null +++ b/resources/qml/OpenFilesIncludingProjectsDialog.qml @@ -0,0 +1,107 @@ +// Copyright (c) 2015 Ultimaker B.V. +// Cura is released under the terms of the AGPLv3 or higher. + +import QtQuick 2.7 +import QtQuick.Controls 1.1 +import QtQuick.Controls.Styles 1.1 +import QtQuick.Layouts 1.1 +import QtQuick.Dialogs 1.1 + +import UM 1.3 as UM +import Cura 1.0 as Cura + +UM.Dialog +{ + // This dialog asks the user whether he/she wants to open the project file we have detected or the model files. + id: base + + title: catalog.i18nc("@title:window", "Open file(s)") + width: 420 + height: 170 + + maximumHeight: height + maximumWidth: width + minimumHeight: height + minimumWidth: width + + modality: UM.Application.platform == "linux" ? Qt.NonModal : Qt.WindowModal; + + property var fileUrls: [] + property int spacerHeight: 10 + + function loadProjectFile(projectFile) + { + UM.WorkspaceFileHandler.readLocalFile(projectFile); + + var meshName = backgroundItem.getMeshName(projectFile.toString()); + backgroundItem.hasMesh(decodeURIComponent(meshName)); + } + + function loadModelFiles(fileUrls) + { + for (var i in fileUrls) + Printer.readLocalFile(fileUrls[i]); + + var meshName = backgroundItem.getMeshName(fileUrls[0].toString()); + backgroundItem.hasMesh(decodeURIComponent(meshName)); + } + + Column + { + anchors.fill: parent + anchors.margins: UM.Theme.getSize("default_margin").width + anchors.left: parent.left + anchors.right: parent.right + spacing: UM.Theme.getSize("default_margin").width + + Text + { + text: catalog.i18nc("@text:window", "We have found multiple project file(s) within the files you have\nselected. You can open only one project file at a time. We\nsuggest to only import models from those files. Would you like\nto proceed?") + anchors.margins: UM.Theme.getSize("default_margin").width + font: UM.Theme.getFont("default") + wrapMode: Text.WordWrap + } + + Item // Spacer + { + height: base.spacerHeight + width: height + } + + // Buttons + Item + { + anchors.right: parent.right + anchors.left: parent.left + height: childrenRect.height + + Button + { + id: cancelButton + text: catalog.i18nc("@action:button", "Cancel"); + anchors.right: importAllAsModelsButton.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + onClicked: + { + // cancel + base.hide(); + } + } + + Button + { + id: importAllAsModelsButton + text: catalog.i18nc("@action:button", "Import all as models"); + anchors.right: parent.right + isDefault: true + onClicked: + { + // load models from all selected file + loadModelFiles(base.fileUrls); + + base.hide(); + } + } + } + } +} From 1faa195c3592e3f2a1bbea99d9b04d0edc61a7e7 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Mon, 20 Mar 2017 15:10:01 +0100 Subject: [PATCH 083/138] Renamed 'Save As' to 'Save As...' CURA-3496 --- resources/qml/Cura.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index f64d1fdbf8..83f313cf8c 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -91,7 +91,7 @@ UM.MainWindow MenuItem { id: saveAsMenu - text: catalog.i18nc("@title:menu menubar:file", "Save &As") + text: catalog.i18nc("@title:menu menubar:file", "Save &As...") onTriggered: { var localDeviceId = "local_file"; From b8d8e4fac33b0daa7a5e3dc212b9e7e705c6734e Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Mon, 20 Mar 2017 15:17:18 +0100 Subject: [PATCH 084/138] Updated changelog. CURA-3467 --- plugins/ChangeLogPlugin/ChangeLog.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 74218f10a4..81e8bfdbe2 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -1,6 +1,6 @@ [2.5.0] *Speed. -We’ve given the system a tweak, to make changing printers, profiles, materials and print cores even quicker than ever. That means less hanging around, more time printing. We’ve also adjusted the start-up speed, which is now five seconds faster. +We’ve given the system a tweak, to make changing printers, profiles, materials, and print cores even quicker than ever. 3MF processing is also much faster now. Opening a 3MF file now takes one tenth of the time. That means less hanging around, more time printing. *Speedup engine – Multi-threading. This is one of the most significant improvements, making slicing even faster. Just like computers with multiple cores, Cura can process multiple operations at the same time. How’s that for efficient? From f5c9620d3b02d167541ef799a5471a2b608cd87b Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Mon, 20 Mar 2017 10:42:37 -0700 Subject: [PATCH 085/138] Update and rename makeit_pro_l to makeit_pro_l.def.json --- resources/definitions/{makeit_pro_l => makeit_pro_l.def.json} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename resources/definitions/{makeit_pro_l => makeit_pro_l.def.json} (97%) diff --git a/resources/definitions/makeit_pro_l b/resources/definitions/makeit_pro_l.def.json similarity index 97% rename from resources/definitions/makeit_pro_l rename to resources/definitions/makeit_pro_l.def.json index 6b600e6fc3..79dab33fc1 100644 --- a/resources/definitions/makeit_pro_l +++ b/resources/definitions/makeit_pro_l.def.json @@ -1,7 +1,7 @@ { "id": "makeit_pro_l", "version": 2, - "name": "MAKEiT_ProL", + "name": "MAKEiT Pro-L", "inherits": "fdmprinter", "metadata": { "visible": true, @@ -19,7 +19,7 @@ }, "overrides": { - "machine_name": { "default_value": "MAKEiT ProL" }, + "machine_name": { "default_value": "MAKEiT Pro-L" }, "machine_width": { "default_value": 305 }, From 6ed00900fe326d3d8b51f1df11e5bd0527c3628e Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Mon, 20 Mar 2017 10:43:10 -0700 Subject: [PATCH 086/138] Update and rename makeit_pro_m to makeit_pro_m.def.json --- resources/definitions/{makeit_pro_m => makeit_pro_m.def.json} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename resources/definitions/{makeit_pro_m => makeit_pro_m.def.json} (97%) diff --git a/resources/definitions/makeit_pro_m b/resources/definitions/makeit_pro_m.def.json similarity index 97% rename from resources/definitions/makeit_pro_m rename to resources/definitions/makeit_pro_m.def.json index 9e03984768..0d9dab7073 100644 --- a/resources/definitions/makeit_pro_m +++ b/resources/definitions/makeit_pro_m.def.json @@ -1,7 +1,7 @@ { "id": "makeit_pro_m", "version": 2, - "name": "MAKEiT_ProM", + "name": "MAKEiT Pro-M", "inherits": "fdmprinter", "metadata": { "visible": true, @@ -19,7 +19,7 @@ }, "overrides": { - "machine_name": { "default_value": "MAKEiT ProM" }, + "machine_name": { "default_value": "MAKEiT Pro-M" }, "machine_width": { "default_value": 200 }, From 16ac40f22eae119a007ac51dff860e363adbc501 Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Mon, 20 Mar 2017 10:44:01 -0700 Subject: [PATCH 087/138] Rename makeit_dual_1st to makeit_dual_1st.def.json --- resources/extruders/{makeit_dual_1st => makeit_dual_1st.def.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename resources/extruders/{makeit_dual_1st => makeit_dual_1st.def.json} (100%) diff --git a/resources/extruders/makeit_dual_1st b/resources/extruders/makeit_dual_1st.def.json similarity index 100% rename from resources/extruders/makeit_dual_1st rename to resources/extruders/makeit_dual_1st.def.json From 8b009181c4c98979c9558bb7d8d6703fde0e9478 Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Mon, 20 Mar 2017 10:44:20 -0700 Subject: [PATCH 088/138] Rename makeit_dual_2nd to makeit_dual_2nd.def.json --- resources/extruders/{makeit_dual_2nd => makeit_dual_2nd.def.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename resources/extruders/{makeit_dual_2nd => makeit_dual_2nd.def.json} (100%) diff --git a/resources/extruders/makeit_dual_2nd b/resources/extruders/makeit_dual_2nd.def.json similarity index 100% rename from resources/extruders/makeit_dual_2nd rename to resources/extruders/makeit_dual_2nd.def.json From f893fa8633cdb131ebeffb2affccf76d2eb9cb84 Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Mon, 20 Mar 2017 10:44:52 -0700 Subject: [PATCH 089/138] Rename makeit_l_dual_1st to makeit_l_dual_1st.def.json --- .../extruders/{makeit_l_dual_1st => makeit_l_dual_1st.def.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename resources/extruders/{makeit_l_dual_1st => makeit_l_dual_1st.def.json} (100%) diff --git a/resources/extruders/makeit_l_dual_1st b/resources/extruders/makeit_l_dual_1st.def.json similarity index 100% rename from resources/extruders/makeit_l_dual_1st rename to resources/extruders/makeit_l_dual_1st.def.json From 2be100ec42dee4245cd1b2822a20561eb6849e2d Mon Sep 17 00:00:00 2001 From: austin-makeit Date: Mon, 20 Mar 2017 10:45:06 -0700 Subject: [PATCH 090/138] Rename makeit_l_dual_2nd to makeit_l_dual_2nd.def.json --- .../extruders/{makeit_l_dual_2nd => makeit_l_dual_2nd.def.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename resources/extruders/{makeit_l_dual_2nd => makeit_l_dual_2nd.def.json} (100%) diff --git a/resources/extruders/makeit_l_dual_2nd b/resources/extruders/makeit_l_dual_2nd.def.json similarity index 100% rename from resources/extruders/makeit_l_dual_2nd rename to resources/extruders/makeit_l_dual_2nd.def.json From 555cd58f5e33784d5454758bb6aa8532e78d0d2b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 20 Mar 2017 15:27:38 +0100 Subject: [PATCH 091/138] Save with code names for profile override preference CURA-3561 --- cura/CuraApplication.py | 6 +-- .../qml/DiscardOrKeepProfileChangesDialog.qml | 45 ++++++++--------- resources/qml/Preferences/GeneralPage.qml | 50 +++++++++++++++---- 3 files changed, 65 insertions(+), 36 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 6fcd0fbf4f..b6816a38ae 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -245,7 +245,7 @@ class CuraApplication(QtApplication): Preferences.getInstance().addPreference("mesh/scale_tiny_meshes", True) Preferences.getInstance().addPreference("cura/dialog_on_project_save", True) Preferences.getInstance().addPreference("cura/asked_dialog_on_project_save", False) - Preferences.getInstance().addPreference("cura/choice_on_profile_override", 0) + Preferences.getInstance().addPreference("cura/choice_on_profile_override", "always_ask") Preferences.getInstance().addPreference("cura/currency", "€") Preferences.getInstance().addPreference("cura/material_settings", "{}") @@ -338,10 +338,10 @@ class CuraApplication(QtApplication): def discardOrKeepProfileChanges(self): choice = Preferences.getInstance().getValue("cura/choice_on_profile_override") - if choice == 1: + if choice == "always_discard": # don't show dialog and DISCARD the profile self.discardOrKeepProfileChangesClosed("discard") - elif choice == 2: + elif choice == "always_keep": # don't show dialog and KEEP the profile self.discardOrKeepProfileChangesClosed("keep") else: diff --git a/resources/qml/DiscardOrKeepProfileChangesDialog.qml b/resources/qml/DiscardOrKeepProfileChangesDialog.qml index 1752995ec5..e2212a8f9f 100644 --- a/resources/qml/DiscardOrKeepProfileChangesDialog.qml +++ b/resources/qml/DiscardOrKeepProfileChangesDialog.qml @@ -21,9 +21,18 @@ UM.Dialog if(visible) { changesModel.forceUpdate() - } - discardOrKeepProfileChangesDropDownButton.currentIndex = UM.Preferences.getValue("cura/choice_on_profile_override") + discardOrKeepProfileChangesDropDownButton.currentIndex = 0; + for (var i = 0; i < discardOrKeepProfileChangesDropDownButton.model.count; ++i) + { + var code = discardOrKeepProfileChangesDropDownButton.model.get(i).code; + if (code == UM.Preferences.getValue("cura/choice_on_profile_override")) + { + discardOrKeepProfileChangesDropDownButton.currentIndex = i; + break; + } + } + } } Column @@ -133,32 +142,20 @@ UM.Dialog ComboBox { id: discardOrKeepProfileChangesDropDownButton - model: [ - catalog.i18nc("@option:discardOrKeep", "Always ask me this"), - catalog.i18nc("@option:discardOrKeep", "Discard and never ask again"), - catalog.i18nc("@option:discardOrKeep", "Keep and never ask again") - ] width: 300 - currentIndex: UM.Preferences.getValue("cura/choice_on_profile_override") - onCurrentIndexChanged: + + model: ListModel { - UM.Preferences.setValue("cura/choice_on_profile_override", currentIndex) - if (currentIndex == 1) { - // 1 == "Discard and never ask again", so only enable the "Discard" button - discardButton.enabled = true - keepButton.enabled = false - } - else if (currentIndex == 2) { - // 2 == "Keep and never ask again", so only enable the "Keep" button - keepButton.enabled = true - discardButton.enabled = false - } - else { - // 0 == "Always ask me this", so show both - keepButton.enabled = true - discardButton.enabled = true + id: discardOrKeepProfileListModel + + Component.onCompleted: { + append({ text: catalog.i18nc("@option:discardOrKeep", "Always ask me this"), code: "always_ask" }) + append({ text: catalog.i18nc("@option:discardOrKeep", "Discard and never ask again"), code: "always_discard" }) + append({ text: catalog.i18nc("@option:discardOrKeep", "Keep and never ask again"), code: "always_keep" }) } } + + onActivated: UM.Preferences.setValue("cura/choice_on_profile_override", model.get(index).code) } } diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index d9170ec597..b6694972c5 100755 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -25,6 +25,18 @@ UM.PreferencesPage } } + function setDefaultDiscardOrKeepProfile(code) + { + for (var i = 0; i < choiceOnProfileOverrideDropDownButton.model.count; i++) + { + if (choiceOnProfileOverrideDropDownButton.model.get(i).code == code) + { + choiceOnProfileOverrideDropDownButton.currentIndex = i; + break; + } + } + } + function reset() { UM.Preferences.resetPreference("general/language") @@ -47,8 +59,9 @@ UM.PreferencesPage centerOnSelectCheckbox.checked = boolCheck(UM.Preferences.getValue("view/center_on_select")) UM.Preferences.resetPreference("view/top_layer_count"); topLayerCountCheckbox.checked = boolCheck(UM.Preferences.getValue("view/top_layer_count")) + UM.Preferences.resetPreference("cura/choice_on_profile_override") - choiceOnProfileOverrideDropDownButton.currentIndex = UM.Preferences.getValue("cura/choice_on_profile_override") + setDefaultDiscardOrKeepProfile(UM.Preferences.getValue("cura/choice_on_profile_override")) if (plugins.find("id", "SliceInfoPlugin") > -1) { UM.Preferences.resetPreference("info/send_slice_info") @@ -364,15 +377,34 @@ UM.PreferencesPage ComboBox { id: choiceOnProfileOverrideDropDownButton - - model: [ - catalog.i18nc("@option:discardOrKeep", "Always ask me this"), - catalog.i18nc("@option:discardOrKeep", "Discard and never ask again"), - catalog.i18nc("@option:discardOrKeep", "Keep and never ask again") - ] width: 300 - currentIndex: UM.Preferences.getValue("cura/choice_on_profile_override") - onCurrentIndexChanged: UM.Preferences.setValue("cura/choice_on_profile_override", currentIndex) + + model: ListModel + { + id: discardOrKeepProfileListModel + + Component.onCompleted: { + append({ text: catalog.i18nc("@option:discardOrKeep", "Always ask me this"), code: "always_ask" }) + append({ text: catalog.i18nc("@option:discardOrKeep", "Discard and never ask again"), code: "always_discard" }) + append({ text: catalog.i18nc("@option:discardOrKeep", "Keep and never ask again"), code: "always_keep" }) + } + } + + currentIndex: + { + var index = 0; + var code = UM.Preferences.getValue("cura/choice_on_profile_override"); + for (var i = 0; i < model.count; ++i) + { + if (model.get(i).code == code) + { + index = i; + break; + } + } + return index; + } + onActivated: UM.Preferences.setValue("cura/choice_on_profile_override", model.get(index).code) } } From 139bb768063d54444ee60c439db5cce48abb0323 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 21 Mar 2017 09:27:58 +0100 Subject: [PATCH 092/138] Add CTRL+P shortcut for save/print button CURA-3496 --- resources/qml/SaveButton.qml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml index fef4f3780d..16316b000e 100644 --- a/resources/qml/SaveButton.qml +++ b/resources/qml/SaveButton.qml @@ -76,6 +76,12 @@ Item { } } + // Shortcut for "save as/print/..." + Action { + shortcut: "Ctrl+P" + onTriggered: saveToButton.clicked() + } + Item { id: saveRow width: base.width @@ -212,7 +218,7 @@ Item { anchors.right: deviceSelectionMenu.visible ? deviceSelectionMenu.left : parent.right anchors.rightMargin: deviceSelectionMenu.visible ? -3 * UM.Theme.getSize("default_lining").width : UM.Theme.getSize("default_margin").width - text: UM.OutputDeviceManager.activeDeviceShortDescription + text: UM.OutputDeviceManager.activeDeviceShortDescription + " (CTRL+P)" onClicked: { UM.OutputDeviceManager.requestWriteToDevice(UM.OutputDeviceManager.activeDevice, PrintInformation.jobName, { "filter_by_machine": true, "preferred_mimetype":Printer.preferredOutputMimetype }) From a8cec631b497d92696a05da24c3e5f06d0ffb1bf Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 21 Mar 2017 09:39:07 +0100 Subject: [PATCH 093/138] Lowered the required qtquick number for open dialog --- resources/qml/OpenFilesIncludingProjectsDialog.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/OpenFilesIncludingProjectsDialog.qml b/resources/qml/OpenFilesIncludingProjectsDialog.qml index 17eabd47e2..377c9a65ee 100644 --- a/resources/qml/OpenFilesIncludingProjectsDialog.qml +++ b/resources/qml/OpenFilesIncludingProjectsDialog.qml @@ -1,7 +1,7 @@ // Copyright (c) 2015 Ultimaker B.V. // Cura is released under the terms of the AGPLv3 or higher. -import QtQuick 2.7 +import QtQuick 2.6 import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 import QtQuick.Layouts 1.1 From eaad358e42f1eaff4200285e75854498e243094d Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 21 Mar 2017 09:51:07 +0100 Subject: [PATCH 094/138] Remove shortcut text in the SaveButton --- resources/qml/SaveButton.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml index 16316b000e..c688a0e46b 100644 --- a/resources/qml/SaveButton.qml +++ b/resources/qml/SaveButton.qml @@ -218,7 +218,7 @@ Item { anchors.right: deviceSelectionMenu.visible ? deviceSelectionMenu.left : parent.right anchors.rightMargin: deviceSelectionMenu.visible ? -3 * UM.Theme.getSize("default_lining").width : UM.Theme.getSize("default_margin").width - text: UM.OutputDeviceManager.activeDeviceShortDescription + " (CTRL+P)" + text: UM.OutputDeviceManager.activeDeviceShortDescription onClicked: { UM.OutputDeviceManager.requestWriteToDevice(UM.OutputDeviceManager.activeDevice, PrintInformation.jobName, { "filter_by_machine": true, "preferred_mimetype":Printer.preferredOutputMimetype }) From 8f3e7c6fa521dfde4b8095b3268eea12f537108b Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 21 Mar 2017 11:05:37 +0100 Subject: [PATCH 095/138] More spacing for override profile combobox --- resources/qml/Preferences/GeneralPage.qml | 59 ++++++++++++----------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index b6694972c5..d1aad0aa74 100755 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -361,12 +361,6 @@ UM.PreferencesPage width: UM.Theme.getSize("default_margin").width } - Label - { - font.bold: true - text: catalog.i18nc("@label", "Override Profile") - } - UM.TooltipArea { width: childrenRect.width; @@ -374,37 +368,48 @@ UM.PreferencesPage text: catalog.i18nc("@info:tooltip", "When you have made changes to a profile and switched to a different one, a dialog will be shown asking whether you want to keep your modifications or not, or you can choose a default behaviour and never show that dialog again.") - ComboBox + Column { - id: choiceOnProfileOverrideDropDownButton - width: 300 + spacing: 4 - model: ListModel + Label { - id: discardOrKeepProfileListModel - - Component.onCompleted: { - append({ text: catalog.i18nc("@option:discardOrKeep", "Always ask me this"), code: "always_ask" }) - append({ text: catalog.i18nc("@option:discardOrKeep", "Discard and never ask again"), code: "always_discard" }) - append({ text: catalog.i18nc("@option:discardOrKeep", "Keep and never ask again"), code: "always_keep" }) - } + font.bold: true + text: catalog.i18nc("@label", "Override Profile") } - currentIndex: + ComboBox { - var index = 0; - var code = UM.Preferences.getValue("cura/choice_on_profile_override"); - for (var i = 0; i < model.count; ++i) + id: choiceOnProfileOverrideDropDownButton + width: 300 + + model: ListModel { - if (model.get(i).code == code) - { - index = i; - break; + id: discardOrKeepProfileListModel + + Component.onCompleted: { + append({ text: catalog.i18nc("@option:discardOrKeep", "Always ask me this"), code: "always_ask" }) + append({ text: catalog.i18nc("@option:discardOrKeep", "Discard and never ask again"), code: "always_discard" }) + append({ text: catalog.i18nc("@option:discardOrKeep", "Keep and never ask again"), code: "always_keep" }) } } - return index; + + currentIndex: + { + var index = 0; + var code = UM.Preferences.getValue("cura/choice_on_profile_override"); + for (var i = 0; i < model.count; ++i) + { + if (model.get(i).code == code) + { + index = i; + break; + } + } + return index; + } + onActivated: UM.Preferences.setValue("cura/choice_on_profile_override", model.get(index).code) } - onActivated: UM.Preferences.setValue("cura/choice_on_profile_override", model.get(index).code) } } From 00258e570f88e0dd022c5567d831c8008bdbabca Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 21 Mar 2017 11:13:10 +0100 Subject: [PATCH 096/138] If a container_changes can not be found, handle it more gracefully CURA-3560 --- cura/Settings/MachineManager.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index e690fcec1d..84b7b46069 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -813,6 +813,10 @@ class MachineManager(QObject): Logger.log("e", "Tried to set quality to a container that is not of the right type") return + # Check if it was at all possible to find new settings + if new_quality_settings_list is None: + return + name_changed_connect_stacks = [] # Connect these stacks to the name changed callback for setting_info in new_quality_settings_list: stack = setting_info["stack"] @@ -889,7 +893,12 @@ class MachineManager(QObject): quality_changes_profiles = quality_manager.findQualityChangesByName(quality_changes_name, global_machine_definition) - global_quality_changes = [qcp for qcp in quality_changes_profiles if qcp.getMetaDataEntry("extruder") is None][0] + global_quality_changes = [qcp for qcp in quality_changes_profiles if qcp.getMetaDataEntry("extruder") is None] + if global_quality_changes: + global_quality_changes = global_quality_changes[0] + else: + Logger.log("e", "Could not find the global quality changes container with name %s", quality_changes_name) + return None material = global_container_stack.findContainer(type="material") # For the global stack, find a quality which matches the quality_type in From 8dbb1d47e18f21ec7d9bb06d1ca90cf52a5be47e Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 21 Mar 2017 11:14:55 +0100 Subject: [PATCH 097/138] Shrink the widht of profile override combobox --- resources/qml/Preferences/GeneralPage.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index d1aad0aa74..7db4364619 100755 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -381,7 +381,7 @@ UM.PreferencesPage ComboBox { id: choiceOnProfileOverrideDropDownButton - width: 300 + width: 200 model: ListModel { From 90a92dce19ce548c28a1c61b95c9e2dd455737eb Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 21 Mar 2017 11:13:10 +0100 Subject: [PATCH 098/138] If a container_changes can not be found, handle it more gracefully CURA-3560 --- cura/Settings/MachineManager.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index e690fcec1d..84b7b46069 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -813,6 +813,10 @@ class MachineManager(QObject): Logger.log("e", "Tried to set quality to a container that is not of the right type") return + # Check if it was at all possible to find new settings + if new_quality_settings_list is None: + return + name_changed_connect_stacks = [] # Connect these stacks to the name changed callback for setting_info in new_quality_settings_list: stack = setting_info["stack"] @@ -889,7 +893,12 @@ class MachineManager(QObject): quality_changes_profiles = quality_manager.findQualityChangesByName(quality_changes_name, global_machine_definition) - global_quality_changes = [qcp for qcp in quality_changes_profiles if qcp.getMetaDataEntry("extruder") is None][0] + global_quality_changes = [qcp for qcp in quality_changes_profiles if qcp.getMetaDataEntry("extruder") is None] + if global_quality_changes: + global_quality_changes = global_quality_changes[0] + else: + Logger.log("e", "Could not find the global quality changes container with name %s", quality_changes_name) + return None material = global_container_stack.findContainer(type="material") # For the global stack, find a quality which matches the quality_type in From f3167bb84b6ffefe619f6521a5932929f2677eff Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 20 Mar 2017 15:35:22 +0100 Subject: [PATCH 099/138] Add dialog for opening a project file CURA-3495 --- cura/CuraApplication.py | 4 +- .../qml/AskOpenAsProjectOrModelsDialog.qml | 125 ++++++++++++++++++ resources/qml/Cura.qml | 24 +++- resources/qml/Preferences/GeneralPage.qml | 65 +++++++++ 4 files changed, 216 insertions(+), 2 deletions(-) create mode 100644 resources/qml/AskOpenAsProjectOrModelsDialog.qml diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 3e6f4c0ae3..c5f17c071a 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -4,6 +4,7 @@ from PyQt5.QtNetwork import QLocalServer from PyQt5.QtNetwork import QLocalSocket from UM.Qt.QtApplication import QtApplication +from UM.FileHandler.ReadFileJob import ReadFileJob from UM.Scene.SceneNode import SceneNode from UM.Scene.Camera import Camera from UM.Math.Vector import Vector @@ -247,6 +248,7 @@ class CuraApplication(QtApplication): Preferences.getInstance().addPreference("cura/dialog_on_project_save", True) Preferences.getInstance().addPreference("cura/asked_dialog_on_project_save", False) Preferences.getInstance().addPreference("cura/choice_on_profile_override", "always_ask") + Preferences.getInstance().addPreference("cura/choice_on_open_project", "always_ask") Preferences.getInstance().addPreference("cura/currency", "€") Preferences.getInstance().addPreference("cura/material_settings", "{}") @@ -1122,7 +1124,7 @@ class CuraApplication(QtApplication): fileLoaded = pyqtSignal(str) def _onJobFinished(self, job): - if type(job) is not ReadMeshJob or not job.getResult(): + if (not isinstance(job, ReadMeshJob) and not isinstance(job, ReadFileJob)) or not job.getResult(): return f = QUrl.fromLocalFile(job.getFileName()) diff --git a/resources/qml/AskOpenAsProjectOrModelsDialog.qml b/resources/qml/AskOpenAsProjectOrModelsDialog.qml new file mode 100644 index 0000000000..1e04c0f5a9 --- /dev/null +++ b/resources/qml/AskOpenAsProjectOrModelsDialog.qml @@ -0,0 +1,125 @@ +// Copyright (c) 2015 Ultimaker B.V. +// Cura is released under the terms of the AGPLv3 or higher. + +import QtQuick 2.2 +import QtQuick.Controls 1.1 +import QtQuick.Controls.Styles 1.1 +import QtQuick.Layouts 1.1 +import QtQuick.Dialogs 1.1 + +import UM 1.3 as UM +import Cura 1.0 as Cura + + +UM.Dialog +{ + // This dialog asks the user whether he/she wants to open a project file as a project or import models. + id: base + + title: catalog.i18nc("@title:window", "Open project file") + width: 420 + height: 140 + + maximumHeight: height + maximumWidth: width + minimumHeight: height + minimumWidth: width + + modality: UM.Application.platform == "linux" ? Qt.NonModal : Qt.WindowModal; + + property var fileUrl + + function loadProjectFile(projectFile) + { + UM.WorkspaceFileHandler.readLocalFile(projectFile); + + var meshName = backgroundItem.getMeshName(projectFile.toString()); + backgroundItem.hasMesh(decodeURIComponent(meshName)); + } + + function loadModelFiles(fileUrls) + { + for (var i in fileUrls) + Printer.readLocalFile(fileUrls[i]); + + var meshName = backgroundItem.getMeshName(fileUrls[0].toString()); + backgroundItem.hasMesh(decodeURIComponent(meshName)); + } + + onVisibleChanged: + { + if (visible) + { + var rememberMyChoice = UM.Preferences.getValue("cura/choice_on_open_project") != "always_ask"; + rememberChoiceCheckBox.checked = rememberMyChoice; + } + } + + Column + { + anchors.fill: parent + anchors.margins: UM.Theme.getSize("default_margin").width + anchors.left: parent.left + anchors.right: parent.right + spacing: UM.Theme.getSize("default_margin").width + + Label + { + text: catalog.i18nc("@text:window", "This is a Cura project file. Would you like to open it as a project\nor import the models from it?") + anchors.margins: UM.Theme.getSize("default_margin").width + wrapMode: Text.WordWrap + } + + CheckBox + { + id: rememberChoiceCheckBox + text: catalog.i18nc("@text:window", "Remember my choice") + anchors.margins: UM.Theme.getSize("default_margin").width + checked: UM.Preferences.getValue("cura/choice_on_open_project") != "always_ask" + } + + // Buttons + Item + { + anchors.right: parent.right + anchors.left: parent.left + height: childrenRect.height + + Button + { + id: openAsProjectButton + text: catalog.i18nc("@action:button", "Open as project"); + anchors.right: importModelsButton.left + anchors.rightMargin: UM.Theme.getSize("default_margin").width + isDefault: true + onClicked: + { + // update preference + if (rememberChoiceCheckBox.checked) + UM.Preferences.setValue("cura/choice_on_open_project", "open_as_project"); + + // load this file as project + base.hide(); + loadProjectFile(base.fileUrl); + } + } + + Button + { + id: importModelsButton + text: catalog.i18nc("@action:button", "Import models"); + anchors.right: parent.right + onClicked: + { + // update preference + if (rememberChoiceCheckBox.checked) + UM.Preferences.setValue("cura/choice_on_open_project", "open_as_model"); + + // load models from this project file + base.hide(); + loadModelFiles([base.fileUrl]); + } + } + } + } +} diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 469c563064..3e5ecf03fe 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -773,9 +773,26 @@ UM.MainWindow } if (hasProjectFile) - openFilesIncludingProjectsDialog.loadProjectFile(projectFileUrlList[0]); + { + var projectFile = projectFileUrlList[0]; + + // check preference + var choice = UM.Preferences.getValue("cura/choice_on_open_project"); + if (choice == "open_as_project") + openFilesIncludingProjectsDialog.loadProjectFile(projectFile); + else if (choice == "open_as_model") + openFilesIncludingProjectsDialog.loadModelFiles([projectFile]); + else // always ask + { + // ask whether to open as project or as models + askOpenAsProjectOrModelsDialog.fileUrl = projectFile; + askOpenAsProjectOrModelsDialog.show(); + } + } else + { openFilesIncludingProjectsDialog.loadModelFiles(fileUrls); + } } } @@ -790,6 +807,11 @@ UM.MainWindow id: openFilesIncludingProjectsDialog } + AskOpenAsProjectOrModelsDialog + { + id: askOpenAsProjectOrModelsDialog + } + EngineLog { id: engineLog; diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 18b3665290..a1d5098d14 100755 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -37,6 +37,18 @@ UM.PreferencesPage } } + function setDefaultOpenProjectOption(code) + { + for (var i = 0; i < choiceOnOpenProjectDropDownButton.model.count; ++i) + { + if (choiceOnOpenProjectDropDownButton.model.get(i).code == code) + { + choiceOnOpenProjectDropDownButton.currentIndex = i + break; + } + } + } + function reset() { UM.Preferences.resetPreference("general/language") @@ -65,6 +77,9 @@ UM.PreferencesPage UM.Preferences.resetPreference("cura/choice_on_profile_override") setDefaultDiscardOrKeepProfile(UM.Preferences.getValue("cura/choice_on_profile_override")) + UM.Preferences.resetPreference("cura/choice_on_open_project") + setDefaultOpenProjectOption(UM.Preferences.getValue("cura/choice_on_open_project")) + if (plugins.find("id", "SliceInfoPlugin") > -1) { UM.Preferences.resetPreference("info/send_slice_info") sendDataCheckbox.checked = boolCheck(UM.Preferences.getValue("info/send_slice_info")) @@ -389,6 +404,56 @@ UM.PreferencesPage } } + UM.TooltipArea { + width: childrenRect.width + height: childrenRect.height + text: catalog.i18nc("@info:tooltip", "Default behavior when opening a project file") + + Column + { + spacing: 4 + + Label + { + text: catalog.i18nc("@window:text", "Default behavior when opening a project file: ") + } + + ComboBox + { + id: choiceOnOpenProjectDropDownButton + width: 200 + + model: ListModel + { + id: openProjectOptionModel + + Component.onCompleted: { + append({ text: catalog.i18nc("@option:openProject", "Always ask"), code: "always_ask" }) + append({ text: catalog.i18nc("@option:openProject", "Always open as a project"), code: "open_as_project" }) + append({ text: catalog.i18nc("@option:openProject", "Always import models"), code: "open_as_model" }) + } + } + + currentIndex: + { + var index = 0; + var currentChoice = UM.Preferences.getValue("cura/choice_on_open_project"); + for (var i = 0; i < model.count; ++i) + { + if (model.get(i).code == currentChoice) + { + index = i; + break; + } + } + return index; + } + + onActivated: UM.Preferences.setValue("cura/choice_on_open_project", model.get(index).code) + } + } + } + Item { //: Spacer From 9e5513ade6d44758546c5f31beaf484249d967db Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 21 Mar 2017 09:58:16 +0100 Subject: [PATCH 100/138] Use QUrl to parse fileUrl CURA-3495 --- cura/CuraApplication.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index c5f17c071a..47f826f0de 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1269,15 +1269,10 @@ class CuraApplication(QtApplication): """ Checks if the given file URL is a valid project file. """ - file_url_prefix = 'file:///' - - file_name = file_url - if file_name.startswith(file_url_prefix): - file_name = file_name[len(file_url_prefix):] - - workspace_reader = self.getWorkspaceFileHandler().getReaderForFile(file_name) + file_path = QUrl(file_url).toLocalFile() + workspace_reader = self.getWorkspaceFileHandler().getReaderForFile(file_path) if workspace_reader is None: return False # non-project files won't get a reader - result = workspace_reader.preRead(file_name, show_dialog=False) + result = workspace_reader.preRead(file_path, show_dialog=False) return result == WorkspaceReader.PreReadResult.accepted From 2d4880921421baed7dccd1e6fd297631420c0920 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 21 Mar 2017 10:57:34 +0100 Subject: [PATCH 101/138] Also asks when opening a recent project file CURA-3495 --- resources/qml/Menus/RecentFilesMenu.qml | 41 +++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/resources/qml/Menus/RecentFilesMenu.qml b/resources/qml/Menus/RecentFilesMenu.qml index 866b06ccbb..8c685f6987 100644 --- a/resources/qml/Menus/RecentFilesMenu.qml +++ b/resources/qml/Menus/RecentFilesMenu.qml @@ -4,7 +4,7 @@ import QtQuick 2.2 import QtQuick.Controls 1.1 -import UM 1.2 as UM +import UM 1.3 as UM import Cura 1.0 as Cura Menu @@ -25,8 +25,38 @@ Menu var path = modelData.toString() return (index + 1) + ". " + path.slice(path.lastIndexOf("/") + 1); } - onTriggered: { - Printer.readLocalFile(modelData); + onTriggered: + { + var toShowDialog = false; + var toOpenAsProject = false; + var toOpenAsModel = false; + + if (CuraApplication.checkIsValidProjectFile(modelData)) { + // check preference + var choice = UM.Preferences.getValue("cura/choice_on_open_project"); + + if (choice == "open_as_project") + toOpenAsProject = true; + else if (choice == "open_as_model") + toOpenAsModel = true; + else + toShowDialog = true; + } + else { + toOpenAsModel = true; + } + + if (toShowDialog) { + askOpenAsProjectOrModelsDialog.fileUrl = modelData; + askOpenAsProjectOrModelsDialog.show(); + return; + } + + // open file in the prefered way + if (toOpenAsProject) + UM.WorkspaceFileHandler.readLocalFile(modelData); + else if (toOpenAsModel) + Printer.readLocalFile(modelData); var meshName = backgroundItem.getMeshName(modelData.toString()) backgroundItem.hasMesh(decodeURIComponent(meshName)) } @@ -34,4 +64,9 @@ Menu onObjectAdded: menu.insertItem(index, object) onObjectRemoved: menu.removeItem(object) } + + Cura.AskOpenAsProjectOrModelsDialog + { + id: askOpenAsProjectOrModelsDialog + } } From 622ff4e6628d3afc4bc37c558c534edf7445eba9 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 21 Mar 2017 12:24:30 +0100 Subject: [PATCH 102/138] Add default for preference "view/invert_zoom" --- cura/CuraApplication.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 47f826f0de..b541029169 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -253,6 +253,8 @@ class CuraApplication(QtApplication): Preferences.getInstance().addPreference("cura/currency", "€") Preferences.getInstance().addPreference("cura/material_settings", "{}") + Preferences.getInstance().addPreference("view/invert_zoom", False) + for key in [ "dialog_load_path", # dialog_save_path is in LocalFileOutputDevicePlugin "dialog_profile_path", From 5489fc8caf1e5d6701cbdfb05f52d3bb983ba157 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 21 Mar 2017 14:43:01 +0100 Subject: [PATCH 103/138] Added number of missing quality profiles CURA-3555 --- .../um3_aa0.8_ABS_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_aa0.8_CPE_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_aa0.8_PLA_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ 4 files changed, 52 insertions(+) create mode 100755 resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_aa0.8_PLA_Not_Supported_Quality.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..938844627e --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_abs_ultimaker3_AA_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..2d057f495d --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_cpe_plus_ultimaker3_AA_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..b4dcc4660f --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_cpe_ultimaker3_AA_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..4305370222 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_PLA_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_pla_ultimaker3_AA_0.8 +weight = 0 +supported = false + +[values] From 40a7d2fecce1380bf94fd0bf8800c1b796add25a Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Wed, 22 Mar 2017 09:33:17 +0100 Subject: [PATCH 104/138] Added not supported quality profiles. CURA-3555 --- cura/BuildVolume.py | 7 ++++++- .../um3_aa0.8_PC_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_bb0.4_PC_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_bb0.8_PC_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ .../um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg | 13 +++++++++++++ 9 files changed, 110 insertions(+), 1 deletion(-) create mode 100755 resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index 7c969b19cd..cbd076bc85 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -632,8 +632,13 @@ class BuildVolume(SceneNode): prime_y = prime_y + machine_depth / 2 prime_polygon = Polygon.approximatedCircle(PRIME_CLEARANCE) - prime_polygon = prime_polygon.translate(prime_x, prime_y) prime_polygon = prime_polygon.getMinkowskiHull(Polygon.approximatedCircle(border_size)) + + #prime_polygon2 = prime_polygon.translate(18, 0) + + #prime_polygon = prime_polygon2.intersectionConvexHulls(prime_polygon) + + prime_polygon = prime_polygon.translate(prime_x, prime_y) result[extruder.getId()] = [prime_polygon] return result diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..454ded5afa --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +weight = 0 +type = quality +quality_type = normal +material = generic_pc_ultimaker3_AA_0.8 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..461d5a8b8a --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +weight = 0 +type = quality +quality_type = normal +material = generic_tpu_ultimaker3_AA_0.8 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..e25fd9e032 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_cpe_plus_ultimaker3_BB_0.4 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..b8d8df597e --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_pc_ultimaker3_BB_0.4 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..a61f0adb1a --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_tpu_ultimaker3_BB_0.4 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..80875c2bec --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_cpe_plus_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..5d83d019e3 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_pc_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg new file mode 100755 index 0000000000..f45dd326a4 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = normal +material = generic_tpu_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] From 3d6e3782895b93f767fcdf13c4760ad3b70434e1 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Wed, 22 Mar 2017 09:44:21 +0100 Subject: [PATCH 105/138] Revert accidently added test-code. --- cura/BuildVolume.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cura/BuildVolume.py b/cura/BuildVolume.py index cbd076bc85..b9c6527092 100755 --- a/cura/BuildVolume.py +++ b/cura/BuildVolume.py @@ -634,10 +634,6 @@ class BuildVolume(SceneNode): prime_polygon = Polygon.approximatedCircle(PRIME_CLEARANCE) prime_polygon = prime_polygon.getMinkowskiHull(Polygon.approximatedCircle(border_size)) - #prime_polygon2 = prime_polygon.translate(18, 0) - - #prime_polygon = prime_polygon2.intersectionConvexHulls(prime_polygon) - prime_polygon = prime_polygon.translate(prime_x, prime_y) result[extruder.getId()] = [prime_polygon] From c6df3adddb2301bd55673c5913db85e0b7e55630 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 22 Mar 2017 10:26:01 +0100 Subject: [PATCH 106/138] Update 2.5.0 BETA ChangeLog CURA-3467 --- plugins/ChangeLogPlugin/ChangeLog.txt | 61 ++++++++------------------- 1 file changed, 18 insertions(+), 43 deletions(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 81e8bfdbe2..2a4e57fdda 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -1,56 +1,31 @@ [2.5.0] -*Speed. -We’ve given the system a tweak, to make changing printers, profiles, materials, and print cores even quicker than ever. 3MF processing is also much faster now. Opening a 3MF file now takes one tenth of the time. That means less hanging around, more time printing. +*Improved speed +We’ve made changing printers, profiles, materials, and print cores even faster. 3MF processing is also much faster now. Opening a 3MF file now takes one tenth of the time. -*Speedup engine – Multi-threading. -This is one of the most significant improvements, making slicing even faster. Just like computers with multiple cores, Cura can process multiple operations at the same time. How’s that for efficient? +*Speedup engine – Multithreading +Cura can process multiple operations at the same time during slicing. Supported by Windows and Linux operating systems only. -*Better layout for 3D layer view options. -Need things to be a bit clearer? We’ve now incorporated an improved layer view for computers that support OpenGL 4.1. For OpenGL 2.0 we will automatically switch to the old layer view. Thanks to community member Aldo Hoeben for the fancy double handle slider. +*Preheat the build plate (with a connected printer) +Users can now set the Ultimaker 3 to preheat the build plate, which reduces the downtime, allowing to manually speed up the printing workflow. -*Disable automatic slicing. -Some users told us that slicing slowed down their workflow when it auto-starts, and to improve the user experience, we added an option to disable auto-slicing if required. Thanks to community member Aldo Hoeben for contributing to this one. +*Better layout for 3D layer view options +An improved layer view has been implemented for computers that support OpenGL 4.1. For OpenGL 2.0 to 4.0, we will automatically switch to the old layer view. -*Auto-scale off by default. -This change needs no explanation! +*Disable automatic slicing +An option to disable auto-slicing has been added for the better user experience. -*Preheat the build plate (with a connected printer). -You can now set your Ultimaker 3 to preheat the build plate, which reduces the downtime, letting you manually speed up your printing workflow. All you need to do is use the ‘preheat’ function in the Print Monitor screen, and set the correct temperature for the active material(s). +*Auto-scale off by default +This change speaks for itself. -*G-code reader. -The g-code reader has been reintroduced, which means you can load g-code from file and display it in layer view. You can also print saved g-code files with Cura, share and re-use them, and you can check that your printed object looks right via the g-code viewer. Thanks to AlephObjects for this feature. +*Print cost calculation +The latest version of Cura now contains code to help users calculate the cost of their prints. To do so, users need to enter a cost per spool and an amount of materials per spool. It is also possible to set the cost per material and gain better control of the expenses. Thanks to our community member Aldo Hoeben for adding this feature. -*Switching profiles. -When you change a printing profile after customizing print settings, you have an option (shown in a popup) to transfer your customizations to the new profile or discard those modifications and continue with default settings instead. We’ve made this dialog window more informative and intuitive. +*G-code reader +The g-code reader has been reintroduced, which means users can load g-code from file and display it in layer view. Users can also print saved g-code files with Cura, share and re-use them, as well as preview the printed object via the g-code viewer. Thanks to AlephObjects for this feature. -*Print cost calculation. -Cura now contains code to help you calculate the cost of your print. To do so, you’ll need to enter a cost per spool and an amount of materials per spool. You can also set the cost per material and gain better control of your expenses. Thanks to our community member Aldo Hoeben for adding this feature. +*Discard or Keep Changes popup +We’ve changed the popup that appears when a user changes a printing profile after setting custom printing settings. It is now more informative and helpful. -*Bug fixes - -Property renaming: Properties that start with ‘get’ have been renamed to avoid confusion. -Window overflow: This is now fixed. -Multiple machine prefixes: Multiple machine prefixes are gone when loading and saving projects. -Removal of file extension: When you save a file or project (without changing the file type), no file extension is added to the name. It’s only when you change to another file type that the extension is added. -Ultimaker 3 Extended connectivity: Selecting Ultimaker 3 Extended in Cura let you connect and print with Ultimaker 3, without any warning. This now has been fixed. -Different Y / Z colors: Y and Z colors in the tool menu are now different to the colors on the build plate. -No collision areas: No collision areas were generated for some models. -Perimeter gaps: Perimeter gaps are not filled often enough; we’ve now amended this. -File location after restart: The old version of Cura didn’t remember the last opened file location after it’s been restarted. Now it does! -Project name: The project name changes after the project is opened. -Slicing when error value is given (print core 2): When a support is printed with extruder 2 (PVA), some support settings will trigger a slice when an error value is given. We’ve now sorted this out. -Support Towers: Support Towers can now be disabled. -Support bottoms: When putting one object on top of another with some space in between, and selecting support with support bottom interface, no support bottom is printed. This has now been resolved. -Summary box size: We’ve enlarged the summary box when saving your project. -Cubic subdivision infill: In the past, the cubic subdivision infill sometimes didn’t produce the infill (WIN) – this has now been addressed. -Spiralize outer contour and fill small gaps: When combining Fill Gaps Between Walls with Spiralize Outer Contour, the model gets a massive infill. -Experimental post-processing plugin: Since the TwaekAtZ post-processing plugin is not officially supported, we added the ‘Experimental’ tag. - -*3rd party printers (bug fixes) - -Folgertech printer definition has been added -Hello BEE Prusa printer definition has been added -Material profiles for Cartesio printers have been updated [2.4.0] *Project saving & opening From 94c6b234181b4205fed877ac225df5353e94afdf Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 22 Mar 2017 11:38:55 +0100 Subject: [PATCH 107/138] Codestyle & removal unused imports --- cura/Layer.py | 16 +++++++--------- cura/LayerData.py | 3 ++- cura/LayerDataBuilder.py | 1 + 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/cura/Layer.py b/cura/Layer.py index 869b84ed90..d5ef5c9bb4 100644 --- a/cura/Layer.py +++ b/cura/Layer.py @@ -1,10 +1,8 @@ -from .LayerPolygon import LayerPolygon - -from UM.Math.Vector import Vector from UM.Mesh.MeshBuilder import MeshBuilder import numpy + class Layer: def __init__(self, layer_id): self._id = layer_id @@ -80,8 +78,7 @@ class Layer: else: for polygon in self._polygons: line_count += polygon.jumpCount - - + # Reserve the neccesary space for the data upfront builder.reserveFaceAndVertexCount(2 * line_count, 4 * line_count) @@ -94,7 +91,7 @@ class Layer: # Line types of the points we want to draw line_types = polygon.types[index_mask] - # Shift the z-axis according to previous implementation. + # Shift the z-axis according to previous implementation. if make_mesh: points[polygon.isInfillOrSkinType(line_types), 1::3] -= 0.01 else: @@ -106,13 +103,14 @@ class Layer: # Scale all normals by the line width of the current line so we can easily offset. normals *= (polygon.lineWidths[index_mask.ravel()] / 2) - # Create 4 points to draw each line segment, points +- normals results in 2 points each. Reshape to one point per line + # Create 4 points to draw each line segment, points +- normals results in 2 points each. + # After this we reshape to one point per line. f_points = numpy.concatenate((points-normals, points+normals), 1).reshape((-1, 3)) - # __index_pattern defines which points to use to draw the two faces for each lines egment, the following linesegment is offset by 4 + + # __index_pattern defines which points to use to draw the two faces for each lines egment, the following linesegment is offset by 4 f_indices = ( self.__index_pattern + numpy.arange(0, 4 * len(normals), 4, dtype=numpy.int32).reshape((-1, 1)) ).reshape((-1, 3)) f_colors = numpy.repeat(polygon.mapLineTypeToColor(line_types), 4, 0) builder.addFacesWithColor(f_points, f_indices, f_colors) - return builder.build() \ No newline at end of file diff --git a/cura/LayerData.py b/cura/LayerData.py index 3fe550c297..03dc6da45f 100644 --- a/cura/LayerData.py +++ b/cura/LayerData.py @@ -2,11 +2,12 @@ # Cura is released under the terms of the AGPLv3 or higher. from UM.Mesh.MeshData import MeshData + ## Class to holds the layer mesh and information about the layers. # Immutable, use LayerDataBuilder to create one of these. class LayerData(MeshData): def __init__(self, vertices = None, normals = None, indices = None, colors = None, uvs = None, file_name = None, - center_position = None, layers=None, element_counts=None, attributes=None): + center_position = None, layers=None, element_counts=None, attributes=None): super().__init__(vertices=vertices, normals=normals, indices=indices, colors=colors, uvs=uvs, file_name=file_name, center_position=center_position, attributes=attributes) self._layers = layers diff --git a/cura/LayerDataBuilder.py b/cura/LayerDataBuilder.py index df4b9e3218..2051d3a761 100755 --- a/cura/LayerDataBuilder.py +++ b/cura/LayerDataBuilder.py @@ -8,6 +8,7 @@ from .LayerData import LayerData import numpy + ## Builder class for constructing a LayerData object class LayerDataBuilder(MeshBuilder): def __init__(self): From 12918b02b5e6723ae4c32e3b517420e7b71a7f07 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 22 Mar 2017 11:59:30 +0100 Subject: [PATCH 108/138] CTRL-P only works when the button is enabled CURA-3496 --- resources/qml/SaveButton.qml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml index c688a0e46b..0c762a77b8 100644 --- a/resources/qml/SaveButton.qml +++ b/resources/qml/SaveButton.qml @@ -79,7 +79,12 @@ Item { // Shortcut for "save as/print/..." Action { shortcut: "Ctrl+P" - onTriggered: saveToButton.clicked() + onTriggered: + { + // only work when the button is enabled + if (saveToButton.enabled) + saveToButton.clicked(); + } } Item { From f9e377ec43c278cc61784845b18a861264132b47 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 22 Mar 2017 13:07:58 +0100 Subject: [PATCH 109/138] Enable/disable Keep/Discard buttons according to selection --- .../qml/DiscardOrKeepProfileChangesDialog.qml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/resources/qml/DiscardOrKeepProfileChangesDialog.qml b/resources/qml/DiscardOrKeepProfileChangesDialog.qml index e2212a8f9f..2aa44f0bf0 100644 --- a/resources/qml/DiscardOrKeepProfileChangesDialog.qml +++ b/resources/qml/DiscardOrKeepProfileChangesDialog.qml @@ -155,7 +155,24 @@ UM.Dialog } } - onActivated: UM.Preferences.setValue("cura/choice_on_profile_override", model.get(index).code) + onCurrentIndexChanged: + { + var code = model.get(currentIndex).code; + UM.Preferences.setValue("cura/choice_on_profile_override", code); + + if (code == "always_keep") { + keepButton.enabled = true; + discardButton.enabled = false; + } + else if (code == "always_discard") { + keepButton.enabled = false; + discardButton.enabled = true; + } + else { + keepButton.enabled = true; + discardButton.enabled = true; + } + } } } From 6dcd4d13e4c62080ebdc266cb0b53169185ab7fd Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Wed, 22 Mar 2017 13:24:13 +0100 Subject: [PATCH 110/138] Removed quality profile aa0.8 PLA Not Supported. CURA-3555 --- .../um3_aa0.8_PLA_Not_Supported_Quality.inst.cfg | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100755 resources/quality/ultimaker3/um3_aa0.8_PLA_Not_Supported_Quality.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PLA_Not_Supported_Quality.inst.cfg deleted file mode 100755 index 4305370222..0000000000 --- a/resources/quality/ultimaker3/um3_aa0.8_PLA_Not_Supported_Quality.inst.cfg +++ /dev/null @@ -1,13 +0,0 @@ -[general] -version = 2 -name = Not Supported -definition = ultimaker3 - -[metadata] -type = quality -quality_type = normal -material = generic_pla_ultimaker3_AA_0.8 -weight = 0 -supported = false - -[values] From 33d16f86012aba9cda6117677cd131db345dbdfe Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Wed, 22 Mar 2017 14:51:53 +0100 Subject: [PATCH 111/138] Added Not Supported profiles when second extruder is a 0.8 nozzle. CURA-3555 --- ...3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ..._aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...m3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ..._bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ..._bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...m3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ ...3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg | 13 +++++++++++++ 19 files changed, 247 insertions(+) create mode 100755 resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg create mode 100755 resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..22b4a4cab5 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_abs_ultimaker3_AA_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..7dab64e789 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_cpe_plus_ultimaker3_AA_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..87ae8207c3 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_cpe_ultimaker3_AA_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..373df4f76f --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +weight = 0 +type = quality +quality_type = draft +material = generic_pc_ultimaker3_AA_0.8 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..abb88fba7f --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +weight = 0 +type = quality +quality_type = draft +material = generic_pva_ultimaker3_AA_0.8 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..15b9984b18 --- /dev/null +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +weight = 0 +type = quality +quality_type = draft +material = generic_tpu_ultimaker3_AA_0.8 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..65e2227cca --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_abs_ultimaker3_BB_0.4 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..d61f05c7fc --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_cpe_plus_ultimaker3_BB_0.4 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..1c44595bfb --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_cpe_ultimaker3_BB_0.4 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..19d76e55c2 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_nylon_ultimaker3_BB_0.4 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..4b88233967 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_pla_ultimaker3_BB_0.4 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..2dbd3516fd --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_tpu_ultimaker3_BB_0.4 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..f2e318d318 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_abs_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..021aedbe22 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_cpe_plus_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..dc7add0c1d --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_cpe_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..f1a605603d --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_nylon_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..e393255ad1 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_pc_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..fe67efa325 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_pla_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg new file mode 100755 index 0000000000..1c92c792f5 --- /dev/null +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg @@ -0,0 +1,13 @@ +[general] +version = 2 +name = Not Supported +definition = ultimaker3 + +[metadata] +type = quality +quality_type = draft +material = generic_tpu_ultimaker3_BB_0.8 +weight = 0 +supported = false + +[values] From e35d276e25a1cc1700e7c1572feaa8ccba9efccf Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 22 Mar 2017 15:20:57 +0100 Subject: [PATCH 112/138] Complete Changelog for 2.5.0 CURA-3467 --- plugins/ChangeLogPlugin/ChangeLog.txt | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 2a4e57fdda..2dd6a1a7c8 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -26,6 +26,29 @@ The g-code reader has been reintroduced, which means users can load g-code from *Discard or Keep Changes popup We’ve changed the popup that appears when a user changes a printing profile after setting custom printing settings. It is now more informative and helpful. +*Bug fixes +- Window overflow: On some configurations (OS and screen dependant), an overflow on the General (Preferences) panel and the credits list on the About window occurred. This is now fixed. +- “Center camera when the item is selected”: This is now set to ‘off’ by default. +- Removal of file extension: When users save a file or project (without changing the file type), no file extension is added to the name. It’s only when users change to another file type that the extension is added. +- Ultimaker 3 Extended connectivity. Selecting Ultimaker 3 Extended in Cura let you connect and print with Ultimaker 3, without any warning. This now has been fixed. +- Different Y / Z colors: Y and Z colors in the tool menu are now similar to the colors on the build plate. +- No collision areas: No collision areas used to be generated for some models when "keep models apart" was activated. This is now fixed. +- Perimeter gaps: Perimeter gaps are not filled often enough; we’ve now amended this. +- File location after restart: The old version of Cura didn’t remember the last opened file location after it’s been restarted. Now it has been fixed. +- Project name: The project name changes after the project is opened. This now has been fixed. +- Slicing when error value is given (print core 2): When a support is printed with the Extruder 2 (PVA), some support settings will trigger a slice when an error value is given. We’ve now sorted this out. +- Support Towers: Support Towers can now be disabled. +- Support bottoms: When putting one object on top of another with some space in between, and selecting support with support bottom interface, no support bottom is printed. This has now been resolved. +- Summary box size: We’ve enlarged the summary box when saving the project. +- Cubic subdivision infill: In the past, the cubic subdivision infill sometimes didn’t produce the infill (WIN) – this has now been addressed. +- Spiralize outer contour and fill small gaps: When combining Fill Gaps Between Walls with Spiralize Outer Contour, the model gets a massive infill. +- Experimental post-processing plugin: Since the TwaekAtZ post-processing plugin is not officially supported, we added the ‘Experimental’ tag. + +*3rd party printers (bug fixes) +- Folgertech printer definition has been added. +- Hello BEE Prusa printer definition has been added. +- Velleman Vertex K8400 printer definitions have been added for both single-extrusion and dual-extrusion versions. +- Material profiles for Cartesio printers have been updated. [2.4.0] *Project saving & opening From fa7dc3a7080603a5d5f64c7599c2524d4ffcbe55 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 22 Mar 2017 16:01:46 +0100 Subject: [PATCH 113/138] Use onActivated for profile override combobox --- resources/qml/DiscardOrKeepProfileChangesDialog.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/DiscardOrKeepProfileChangesDialog.qml b/resources/qml/DiscardOrKeepProfileChangesDialog.qml index 2aa44f0bf0..d9de592dd7 100644 --- a/resources/qml/DiscardOrKeepProfileChangesDialog.qml +++ b/resources/qml/DiscardOrKeepProfileChangesDialog.qml @@ -155,9 +155,9 @@ UM.Dialog } } - onCurrentIndexChanged: + onActivated: { - var code = model.get(currentIndex).code; + var code = model.get(index).code; UM.Preferences.setValue("cura/choice_on_profile_override", code); if (code == "always_keep") { From ef0a502dcfef590c412c7a32cccd32ea6af084f1 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 22 Mar 2017 21:05:43 +0100 Subject: [PATCH 114/138] Add { } around statements in "if" Make nitpicking people happy :P --- resources/qml/SaveButton.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/qml/SaveButton.qml b/resources/qml/SaveButton.qml index 0c762a77b8..73fb61e8e1 100644 --- a/resources/qml/SaveButton.qml +++ b/resources/qml/SaveButton.qml @@ -82,8 +82,9 @@ Item { onTriggered: { // only work when the button is enabled - if (saveToButton.enabled) + if (saveToButton.enabled) { saveToButton.clicked(); + } } } From 08f6ee319e3032bc95d619e8642c795ccf0b2f5a Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 23 Mar 2017 08:46:48 +0100 Subject: [PATCH 115/138] Use default font for open file dialog text CURA-3495 --- resources/qml/AskOpenAsProjectOrModelsDialog.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/qml/AskOpenAsProjectOrModelsDialog.qml b/resources/qml/AskOpenAsProjectOrModelsDialog.qml index 1e04c0f5a9..048fd61d29 100644 --- a/resources/qml/AskOpenAsProjectOrModelsDialog.qml +++ b/resources/qml/AskOpenAsProjectOrModelsDialog.qml @@ -67,6 +67,7 @@ UM.Dialog { text: catalog.i18nc("@text:window", "This is a Cura project file. Would you like to open it as a project\nor import the models from it?") anchors.margins: UM.Theme.getSize("default_margin").width + font: UM.Theme.getFont("default") wrapMode: Text.WordWrap } From 96e97802734cec84aade73be8f50ea7d905c6474 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 23 Mar 2017 08:53:57 +0100 Subject: [PATCH 116/138] Fix typo in changelog 2.5.0 --- plugins/ChangeLogPlugin/ChangeLog.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/ChangeLogPlugin/ChangeLog.txt b/plugins/ChangeLogPlugin/ChangeLog.txt index 2dd6a1a7c8..c7b63be889 100755 --- a/plugins/ChangeLogPlugin/ChangeLog.txt +++ b/plugins/ChangeLogPlugin/ChangeLog.txt @@ -42,7 +42,7 @@ We’ve changed the popup that appears when a user changes a printing profile af - Summary box size: We’ve enlarged the summary box when saving the project. - Cubic subdivision infill: In the past, the cubic subdivision infill sometimes didn’t produce the infill (WIN) – this has now been addressed. - Spiralize outer contour and fill small gaps: When combining Fill Gaps Between Walls with Spiralize Outer Contour, the model gets a massive infill. -- Experimental post-processing plugin: Since the TwaekAtZ post-processing plugin is not officially supported, we added the ‘Experimental’ tag. +- Experimental post-processing plugin: Since the TweakAtZ post-processing plugin is not officially supported, we added the ‘Experimental’ tag. *3rd party printers (bug fixes) - Folgertech printer definition has been added. From a0f841e8eb2e3fc41a5d053232ea29cf538e30be Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 23 Mar 2017 13:45:55 +0100 Subject: [PATCH 117/138] Prevent MachineSettings dialog go beyond the top of screen --- resources/qml/Preferences/MachinesPage.qml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/resources/qml/Preferences/MachinesPage.qml b/resources/qml/Preferences/MachinesPage.qml index 239e1a2aad..1abd688b32 100644 --- a/resources/qml/Preferences/MachinesPage.qml +++ b/resources/qml/Preferences/MachinesPage.qml @@ -114,6 +114,11 @@ UM.ManagementPage property var content minimumWidth: 350 * Screen.devicePixelRatio; minimumHeight: 350 * Screen.devicePixelRatio; + + // prevent the Machine Settings dialog from going beyond the top of the screen + x: (x < 0) ? 0 : x + y: (y < 0) ? 0 : y + onContentChanged: { contents = content; From ecbf0e1e281cbbf11aee95214b5165a59d211a0c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 23 Mar 2017 15:14:34 +0100 Subject: [PATCH 118/138] Only add center to list for merge if there is one --- cura/CuraApplication.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index b6816a38ae..4790612315 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1031,7 +1031,9 @@ class CuraApplication(QtApplication): transformation.setTranslation(zero_translation) transformed_mesh = mesh.getTransformed(transformation) center = transformed_mesh.getCenterPosition() - object_centers.append(center) + if center is not None: + object_centers.append(center) + if object_centers and len(object_centers) > 0: middle_x = sum([v.x for v in object_centers]) / len(object_centers) middle_y = sum([v.y for v in object_centers]) / len(object_centers) From 6474f3eb254fad8cf538e39be4b25a5fda34b436 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 24 Mar 2017 09:12:48 +0100 Subject: [PATCH 119/138] Ups the limit of the maximum cost of a spool of filament This is necessary for currencies such as Japanese Yen or South Korean Won, where prices can easily exceed 1000. This PR sets the limit to 100,000,000. If the price of a spool exceeds this amount, perhaps the user should consider moving to a more stable country. Fixes https://github.com/Ultimaker/Cura/issues/1567 --- resources/qml/Preferences/MaterialView.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Preferences/MaterialView.qml b/resources/qml/Preferences/MaterialView.qml index ba36674b40..3e17943310 100644 --- a/resources/qml/Preferences/MaterialView.qml +++ b/resources/qml/Preferences/MaterialView.qml @@ -153,7 +153,7 @@ TabView value: base.getMaterialPreferenceValue(properties.guid, "spool_cost") prefix: base.currency + " " decimals: 2 - maximumValue: 1000 + maximumValue: 100000000 onValueChanged: { base.setMaterialPreferenceValue(properties.guid, "spool_cost", parseFloat(value)) From 7ad5a64b91a920b8191f209f4b1d575e6cbe3e62 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 24 Mar 2017 09:53:09 +0100 Subject: [PATCH 120/138] Add msg dialog for ignoring gcode in multiple file selection CURA-3495 --- resources/qml/Cura.qml | 104 ++++++++++++++++++++++++++++------------- 1 file changed, 72 insertions(+), 32 deletions(-) diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index 3e5ecf03fe..2a8e6bd7b9 100755 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -755,44 +755,84 @@ UM.MainWindow // look for valid project files var projectFileUrlList = []; + var hasGcode = false; for (var i in fileUrls) { - if (CuraApplication.checkIsValidProjectFile(fileUrls[i])) + var endsWithG = /\.g$/; + var endsWithGcode = /\.gcode$/; + if (endsWithG.test(fileUrls[i]) || endsWithGcode.test(fileUrls[i])) { + hasGcode = true; + continue; + } + else if (CuraApplication.checkIsValidProjectFile(fileUrls[i])) { projectFileUrlList.push(fileUrls[i]); - } - - // we only allow opening one project file - var selectedMultipleFiles = fileUrls.length > 1; - var hasProjectFile = projectFileUrlList.length > 0; - var selectedMultipleWithProjectFile = hasProjectFile && selectedMultipleFiles; - if (selectedMultipleWithProjectFile) - { - openFilesIncludingProjectsDialog.fileUrls = fileUrls; - openFilesIncludingProjectsDialog.show(); - return; - } - - if (hasProjectFile) - { - var projectFile = projectFileUrlList[0]; - - // check preference - var choice = UM.Preferences.getValue("cura/choice_on_open_project"); - if (choice == "open_as_project") - openFilesIncludingProjectsDialog.loadProjectFile(projectFile); - else if (choice == "open_as_model") - openFilesIncludingProjectsDialog.loadModelFiles([projectFile]); - else // always ask - { - // ask whether to open as project or as models - askOpenAsProjectOrModelsDialog.fileUrl = projectFile; - askOpenAsProjectOrModelsDialog.show(); } } - else - { - openFilesIncludingProjectsDialog.loadModelFiles(fileUrls); + + // show a warning if selected multiple files together with Gcode + var hasProjectFile = projectFileUrlList.length > 0; + var selectedMultipleFiles = fileUrls.length > 1; + if (selectedMultipleFiles && hasGcode) { + infoMultipleFilesWithGcodeDialog.selectedMultipleFiles = selectedMultipleFiles; + infoMultipleFilesWithGcodeDialog.hasProjectFile = hasProjectFile; + infoMultipleFilesWithGcodeDialog.fileUrls = fileUrls; + infoMultipleFilesWithGcodeDialog.projectFileUrlList = projectFileUrlList; + infoMultipleFilesWithGcodeDialog.open(); } + else { + handleOpenFiles(selectedMultipleFiles, hasProjectFile, fileUrls, projectFileUrlList); + } + } + } + + function handleOpenFiles(selectedMultipleFiles, hasProjectFile, fileUrls, projectFileUrlList) + { + // we only allow opening one project file + if (selectedMultipleFiles && hasProjectFile) + { + openFilesIncludingProjectsDialog.fileUrls = fileUrls; + openFilesIncludingProjectsDialog.show(); + return; + } + + if (hasProjectFile) + { + var projectFile = projectFileUrlList[0]; + + // check preference + var choice = UM.Preferences.getValue("cura/choice_on_open_project"); + if (choice == "open_as_project") + openFilesIncludingProjectsDialog.loadProjectFile(projectFile); + else if (choice == "open_as_model") + openFilesIncludingProjectsDialog.loadModelFiles([projectFile]); + else // always ask + { + // ask whether to open as project or as models + askOpenAsProjectOrModelsDialog.fileUrl = projectFile; + askOpenAsProjectOrModelsDialog.show(); + } + } + else + { + openFilesIncludingProjectsDialog.loadModelFiles(fileUrls); + } + } + + MessageDialog { + id: infoMultipleFilesWithGcodeDialog + title: catalog.i18nc("@title:window", "Open File(s)") + icon: StandardIcon.Information + standardButtons: StandardButton.Ok + text: catalog.i18nc("@text:window", "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one.") + + property var selectedMultipleFiles + property var hasProjectFile + property var fileUrls + property var projectFileUrlList + + onAccepted: + { + handleOpenFiles(selectedMultipleFiles, hasProjectFile, fileUrls, projectFileUrlList); } } From 578f72c91eb704b053f6a094dbaf5f09c056d561 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 24 Mar 2017 10:44:39 +0100 Subject: [PATCH 121/138] Use "False" instead "false" in cfg files CURA-3555 --- .../ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg | 2 +- .../um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_ABS_Not_Supported_Quality.inst.cfg | 2 +- .../um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg | 2 +- .../um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_CPE_Not_Supported_Quality.inst.cfg | 2 +- .../um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg | 2 +- .../um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg | 2 +- .../um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg | 2 +- .../um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg | 2 +- .../ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg | 2 +- 40 files changed, 40 insertions(+), 40 deletions(-) diff --git a/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg index 5076c4164a..f4abd6f696 100644 --- a/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.4_PVA_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ weight = 0 type = quality quality_type = normal material = generic_pva_ultimaker3_AA_0.4 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg index 22b4a4cab5..d5f7f74003 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_abs_ultimaker3_AA_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Quality.inst.cfg index 938844627e..5b99e760f6 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_abs_ultimaker3_AA_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg index 7dab64e789..62919c4893 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_cpe_plus_ultimaker3_AA_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg index 2d057f495d..68b694b922 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_cpe_plus_ultimaker3_AA_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg index 87ae8207c3..df7f80d05e 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_cpe_ultimaker3_AA_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Quality.inst.cfg index b4dcc4660f..af0a54d9f8 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_cpe_ultimaker3_AA_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg index 373df4f76f..7b4348f427 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ weight = 0 type = quality quality_type = draft material = generic_pc_ultimaker3_AA_0.8 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg index 454ded5afa..e47a866584 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ weight = 0 type = quality quality_type = normal material = generic_pc_ultimaker3_AA_0.8 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg index abb88fba7f..1c0cc47858 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ weight = 0 type = quality quality_type = draft material = generic_pva_ultimaker3_AA_0.8 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg index c0b5074799..ce306fad95 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ weight = 0 type = quality quality_type = normal material = generic_pva_ultimaker3_AA_0.8 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg index 15b9984b18..53670883ce 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ weight = 0 type = quality quality_type = draft material = generic_tpu_ultimaker3_AA_0.8 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg index 461d5a8b8a..7973ac08cc 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ weight = 0 type = quality quality_type = normal material = generic_tpu_ultimaker3_AA_0.8 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg index 65e2227cca..f879fd9b1e 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_abs_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg index 0a00e9e09b..7d2e7aa585 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_abs_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg index d61f05c7fc..545bd6bffc 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_cpe_plus_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg index e25fd9e032..d90ac7f126 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_cpe_plus_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg index 1c44595bfb..e1fcb3b2d1 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_cpe_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg index 17c10b7a72..1d222bec93 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_cpe_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg index 19d76e55c2..8a36512403 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_nylon_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg index c562e16a8e..4894ea3e79 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_nylon_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg index b8d8df597e..919e3e952b 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PC_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_pc_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg index 4b88233967..34b05c50a9 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_pla_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg index b9a64bca38..4dba9ea8c6 100644 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_pla_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg index 2dbd3516fd..123e6f3500 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_tpu_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg index a61f0adb1a..18bbdb6c12 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_tpu_ultimaker3_BB_0.4 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg index f2e318d318..b55e5bf6fc 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_abs_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg index ab20d984b6..81b6ff8f4b 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_abs_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg index 021aedbe22..07bcc1b3cb 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_cpe_plus_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg index 80875c2bec..7b60406d2b 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_cpe_plus_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg index dc7add0c1d..03b92896a1 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_cpe_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg index 02ea97395c..dcb12e250f 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_cpe_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg index f1a605603d..34bdf5250e 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_nylon_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg index 4280213689..2bb282ad56 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_nylon_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg index e393255ad1..5eee274e87 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_pc_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg index 5d83d019e3..7e3df6c22b 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_pc_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg index fe67efa325..1649753f2f 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_pla_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg index d27d6a8174..651b32be57 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_pla_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg index 1c92c792f5..e5fd89294f 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = draft material = generic_tpu_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg index f45dd326a4..47652d807b 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Quality.inst.cfg @@ -8,6 +8,6 @@ type = quality quality_type = normal material = generic_tpu_ultimaker3_BB_0.8 weight = 0 -supported = false +supported = False [values] From 0f0b8cd5dd2a40a673b5fc444797007b804c9db5 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 24 Mar 2017 10:47:47 +0100 Subject: [PATCH 122/138] Lower QtQuick requirement further to 2.2 2.2 is required for the modifications we make to the Button objects. --- resources/qml/OpenFilesIncludingProjectsDialog.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/OpenFilesIncludingProjectsDialog.qml b/resources/qml/OpenFilesIncludingProjectsDialog.qml index 377c9a65ee..c27bee6d9d 100644 --- a/resources/qml/OpenFilesIncludingProjectsDialog.qml +++ b/resources/qml/OpenFilesIncludingProjectsDialog.qml @@ -1,7 +1,7 @@ -// Copyright (c) 2015 Ultimaker B.V. +// Copyright (c) 2017 Ultimaker B.V. // Cura is released under the terms of the AGPLv3 or higher. -import QtQuick 2.6 +import QtQuick 2.5 import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 import QtQuick.Layouts 1.1 From e76c3f72e721509b83a6e33bd735da00621ebf60 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 24 Mar 2017 10:47:47 +0100 Subject: [PATCH 123/138] Lower QtQuick requirement further to 2.2 2.2 is required for the modifications we make to the Button objects. --- resources/qml/OpenFilesIncludingProjectsDialog.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/OpenFilesIncludingProjectsDialog.qml b/resources/qml/OpenFilesIncludingProjectsDialog.qml index 377c9a65ee..af7b1c0f47 100644 --- a/resources/qml/OpenFilesIncludingProjectsDialog.qml +++ b/resources/qml/OpenFilesIncludingProjectsDialog.qml @@ -1,7 +1,7 @@ -// Copyright (c) 2015 Ultimaker B.V. +// Copyright (c) 2017 Ultimaker B.V. // Cura is released under the terms of the AGPLv3 or higher. -import QtQuick 2.6 +import QtQuick 2.2 import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 import QtQuick.Layouts 1.1 From adab4a1110a4312f2338e40fd2ed2d5ee84dea0a Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Mar 2017 11:04:08 +0100 Subject: [PATCH 124/138] Added "blurred" auth key logging. The getSafeaAuthKey prints a key of the same length, but only the last 5 chars are real. The rest is blurred out with * THis is a bit like how most payment services hide your credit card number. --- .../NetworkPrinterOutputDevice.py | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index 25170d874d..286fa6830d 100644 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -200,11 +200,11 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): def _onAuthenticationRequired(self, reply, authenticator): if self._authentication_id is not None and self._authentication_key is not None: - Logger.log("d", "Authentication was required. Setting up authenticator with ID %s",self._authentication_id ) + Logger.log("d", "Authentication was required. Setting up authenticator with ID %s and key", self._authentication_id, self._getSafeAuthKey()) authenticator.setUser(self._authentication_id) authenticator.setPassword(self._authentication_key) else: - Logger.log("d", "No authentication was required. The ID is: %s", self._authentication_id) + Logger.log("d", "No authentication is available to use, but we did got a request for it.") def getProperties(self): return self._properties @@ -730,7 +730,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): if self._authentication_id is None and self._authentication_key is None: Logger.log("d", "No authentication found in metadata.") else: - Logger.log("d", "Loaded authentication id %s from the metadata entry", self._authentication_id) + Logger.log("d", "Loaded authentication id %s and key %s from the metadata entry", self._authentication_id, self._getSafeAuthKey()) self._update_timer.start() @@ -847,7 +847,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): ## Check if the authentication request was allowed by the printer. def _checkAuthentication(self): - Logger.log("d", "Checking if authentication is correct for id %s", self._authentication_id) + Logger.log("d", "Checking if authentication is correct for id %s and key %s", self._authentication_id, self._getSafeAuthKey()) self._manager.get(QNetworkRequest(QUrl("http://" + self._address + self._api_prefix + "auth/check/" + str(self._authentication_id)))) ## Request a authentication key from the printer so we can be authenticated @@ -1016,7 +1016,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): else: global_container_stack.addMetaDataEntry("network_authentication_id", self._authentication_id) Application.getInstance().saveStack(global_container_stack) # Force save so we are sure the data is not lost. - Logger.log("i", "Authentication succeeded for id %s", self._authentication_id) + Logger.log("i", "Authentication succeeded for id %s and key %s", self._authentication_id, self._getSafeAuthKey()) else: # Got a response that we didn't expect, so something went wrong. Logger.log("e", "While trying to authenticate, we got an unexpected response: %s", reply.attribute(QNetworkRequest.HttpStatusCodeAttribute)) self.setAuthenticationState(AuthState.NotAuthenticated) @@ -1046,7 +1046,7 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): self._authentication_key = data["key"] self._authentication_id = data["id"] - Logger.log("i", "Got a new authentication ID. Waiting for authorization: %s", self._authentication_id ) + Logger.log("i", "Got a new authentication ID (%s) and KEY (%S). Waiting for authorization.", self._authentication_id, self._getSafeAuthKey()) # Check if the authentication is accepted. self._checkAuthentication() @@ -1116,3 +1116,12 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): icon=QMessageBox.Question, callback=callback ) + + ## Convenience function to "blur" out all but the last 5 characters of the auth key. + # This can be used to debug print the key, without it compromising the security. + def _getSafeAuthKey(self): + if self._authentication_key is not None: + result = self._authentication_key[-5:] + result = result.rjust(len(self._authentication_key), "*") + return result + return self._authentication_key \ No newline at end of file From 8d2e8242052146a673123f6e80d9a8586f455cec Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Mar 2017 11:17:59 +0100 Subject: [PATCH 125/138] Added even more logging --- plugins/UM3NetworkPrinting/DiscoverUM3Action.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/UM3NetworkPrinting/DiscoverUM3Action.py b/plugins/UM3NetworkPrinting/DiscoverUM3Action.py index 31f5a226df..af1a556892 100644 --- a/plugins/UM3NetworkPrinting/DiscoverUM3Action.py +++ b/plugins/UM3NetworkPrinting/DiscoverUM3Action.py @@ -35,6 +35,7 @@ class DiscoverUM3Action(MachineAction): @pyqtSlot() def startDiscovery(self): if not self._network_plugin: + Logger.log("d", "Starting printer discovery.") self._network_plugin = Application.getInstance().getOutputDeviceManager().getOutputDevicePlugin("UM3NetworkPrinting") self._network_plugin.printerListChanged.connect(self._onPrinterDiscoveryChanged) self.printersChanged.emit() @@ -42,6 +43,7 @@ class DiscoverUM3Action(MachineAction): ## Re-filters the list of printers. @pyqtSlot() def reset(self): + Logger.log("d", "Reset the list of found printers.") self.printersChanged.emit() @pyqtSlot() @@ -95,6 +97,7 @@ class DiscoverUM3Action(MachineAction): @pyqtSlot(str) def setKey(self, key): + Logger.log("d", "Attempting to set the network key of the active machine to %s", key) global_container_stack = Application.getInstance().getGlobalContainerStack() if global_container_stack: meta_data = global_container_stack.getMetaData() From 4b7b8600ece3b8ada2add14740d9d7180ff2ff56 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Mar 2017 11:22:57 +0100 Subject: [PATCH 126/138] Shortened the logging of the auth key. Turned out it was extremely long --- plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index 286fa6830d..95ecf67b52 100644 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -1122,6 +1122,6 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): def _getSafeAuthKey(self): if self._authentication_key is not None: result = self._authentication_key[-5:] - result = result.rjust(len(self._authentication_key), "*") + result = "********" + result return result return self._authentication_key \ No newline at end of file From 33f20710d93eaf22c3924e8a70ad7bf02daad7c6 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 24 Mar 2017 09:12:48 +0100 Subject: [PATCH 127/138] Ups the limit of the maximum cost of a spool of filament This is necessary for currencies such as Japanese Yen or South Korean Won, where prices can easily exceed 1000. This PR sets the limit to 100,000,000. If the price of a spool exceeds this amount, perhaps the user should consider moving to a more stable country. Fixes https://github.com/Ultimaker/Cura/issues/1567 --- resources/qml/Preferences/MaterialView.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Preferences/MaterialView.qml b/resources/qml/Preferences/MaterialView.qml index ba36674b40..3e17943310 100644 --- a/resources/qml/Preferences/MaterialView.qml +++ b/resources/qml/Preferences/MaterialView.qml @@ -153,7 +153,7 @@ TabView value: base.getMaterialPreferenceValue(properties.guid, "spool_cost") prefix: base.currency + " " decimals: 2 - maximumValue: 1000 + maximumValue: 100000000 onValueChanged: { base.setMaterialPreferenceValue(properties.guid, "spool_cost", parseFloat(value)) From f04d1efb8d6fa24fdd24a7665bb9effa95a6a53d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 24 Mar 2017 16:32:39 +0100 Subject: [PATCH 128/138] Removed file progress from removable output device, as writefile job now handles that itself --- .../RemovableDriveOutputDevice.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py index d971c007bc..c5c18f9709 100644 --- a/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py +++ b/plugins/RemovableDriveOutputDevice/RemovableDriveOutputDevice.py @@ -91,7 +91,7 @@ class RemovableDriveOutputDevice(OutputDevice): self.writeStarted.emit(self) - job._message = message + job.setMessage(message) self._writing = True job.start() except PermissionError as e: @@ -118,8 +118,6 @@ class RemovableDriveOutputDevice(OutputDevice): raise OutputDeviceError.WriteRequestFailedError("Could not find a file name when trying to write to {device}.".format(device = self.getName())) def _onProgress(self, job, progress): - if hasattr(job, "_message"): - job._message.setProgress(progress) self.writeProgress.emit(self, progress) def _onFinished(self, job): @@ -128,10 +126,6 @@ class RemovableDriveOutputDevice(OutputDevice): self._stream.close() self._stream = None - if hasattr(job, "_message"): - job._message.hide() - job._message = None - self._writing = False self.writeFinished.emit(self) if job.getResult(): From 088202c3667fe00b7e0c7380143cef41e1f220f4 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Mon, 27 Mar 2017 10:30:51 +0200 Subject: [PATCH 129/138] Changed all Not Supported Draft quality profiles to Not Supported Superdraft to prevent double Not Supported entries. CURA-3555 --- ... => um3_aa0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...=> um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_aa0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...g => um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...=> um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...> um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...=> um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...> um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...g => um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) rename resources/quality/ultimaker3/{um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg} (86%) rename resources/quality/ultimaker3/{um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg} (86%) rename resources/quality/ultimaker3/{um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg} (87%) diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg index d5f7f74003..6e5a16ba1f 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_abs_ultimaker3_AA_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg index 62919c4893..9cc2999ed2 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_plus_ultimaker3_AA_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg index df7f80d05e..643f981093 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_ultimaker3_AA_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg similarity index 86% rename from resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg index 7b4348f427..14b08854b8 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] weight = 0 type = quality -quality_type = draft +quality_type = superdraft material = generic_pc_ultimaker3_AA_0.8 supported = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg index 1c0cc47858..5dbfab6341 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] weight = 0 type = quality -quality_type = draft +quality_type = superdraft material = generic_pva_ultimaker3_AA_0.8 supported = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg index 53670883ce..ec04652763 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] weight = 0 type = quality -quality_type = draft +quality_type = superdraft material = generic_tpu_ultimaker3_AA_0.8 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg index f879fd9b1e..a2d097ee09 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_abs_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg index 545bd6bffc..c7a19c3299 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_plus_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg index e1fcb3b2d1..2c92677a40 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg index 8a36512403..d8c202efe8 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_nylon_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg index 34b05c50a9..f394ea40b4 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_pla_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg index 123e6f3500..7d00e9e0df 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_tpu_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg index b55e5bf6fc..2b65cf0aee 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_abs_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg index 07bcc1b3cb..6cec304241 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_plus_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg index 03b92896a1..cc38d9956f 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg index 34bdf5250e..6f5099e267 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_nylon_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg similarity index 86% rename from resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg index 5eee274e87..f0c4723a42 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_pc_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg index 1649753f2f..2ec598e2df 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_pla_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg index e5fd89294f..eb37c60507 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_tpu_ultimaker3_BB_0.8 weight = 0 supported = False From 6644a4d38618bf945725155a3880a290c25939b6 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 27 Mar 2017 11:09:40 +0200 Subject: [PATCH 130/138] Revert "Prevent MachineSettings dialog go beyond the top of screen" This reverts commit a0f841e8eb2e3fc41a5d053232ea29cf538e30be. --- resources/qml/Preferences/MachinesPage.qml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/resources/qml/Preferences/MachinesPage.qml b/resources/qml/Preferences/MachinesPage.qml index 1abd688b32..239e1a2aad 100644 --- a/resources/qml/Preferences/MachinesPage.qml +++ b/resources/qml/Preferences/MachinesPage.qml @@ -114,11 +114,6 @@ UM.ManagementPage property var content minimumWidth: 350 * Screen.devicePixelRatio; minimumHeight: 350 * Screen.devicePixelRatio; - - // prevent the Machine Settings dialog from going beyond the top of the screen - x: (x < 0) ? 0 : x - y: (y < 0) ? 0 : y - onContentChanged: { contents = content; From 88704051d1ffc75c560ec7b7bba89648f8765e00 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 27 Mar 2017 15:47:30 +0200 Subject: [PATCH 131/138] Filter bar is now always visible CURA-3574 --- resources/qml/Settings/SettingView.qml | 17 ++-------- resources/qml/Sidebar.qml | 46 ++------------------------ 2 files changed, 5 insertions(+), 58 deletions(-) diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml index 7138d4acd3..3dbc06d87f 100644 --- a/resources/qml/Settings/SettingView.qml +++ b/resources/qml/Settings/SettingView.qml @@ -18,23 +18,10 @@ Item signal showTooltip(Item item, point location, string text); signal hideTooltip(); - function toggleFilterField() - { - filterContainer.visible = !filterContainer.visible - if(filterContainer.visible) - { - filter.forceActiveFocus(); - } - else - { - filter.text = ""; - } - } - Rectangle { id: filterContainer - visible: false + visible: true border.width: UM.Theme.getSize("default_lining").width border.color: @@ -70,7 +57,7 @@ Item anchors.right: clearFilterButton.left anchors.rightMargin: UM.Theme.getSize("default_margin").width - placeholderText: catalog.i18nc("@label:textbox", "Filter...") + placeholderText: catalog.i18nc("@label:textbox", "Search...") style: TextFieldStyle { diff --git a/resources/qml/Sidebar.qml b/resources/qml/Sidebar.qml index b8085a29b1..212d18629b 100644 --- a/resources/qml/Sidebar.qml +++ b/resources/qml/Sidebar.qml @@ -362,7 +362,7 @@ Rectangle anchors.left: parent.left anchors.leftMargin: model.index * (settingsModeSelection.width / 2) anchors.verticalCenter: parent.verticalCenter - width: 0.5 * parent.width - (model.showFilterButton ? toggleFilterButton.width : 0) + width: 0.5 * parent.width text: model.text exclusiveGroup: modeMenuGroup; checkable: true; @@ -418,44 +418,6 @@ Rectangle } } - Button - { - id: toggleFilterButton - - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width - anchors.top: headerSeparator.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - - height: settingsModeSelection.height - width: visible ? height : 0 - - visible: !monitoringPrint && !hideSettings && modesListModel.get(base.currentModeIndex) != undefined && modesListModel.get(base.currentModeIndex).showFilterButton - opacity: visible ? 1 : 0 - - onClicked: sidebarContents.currentItem.toggleFilterField() - - style: ButtonStyle - { - background: Rectangle - { - border.width: UM.Theme.getSize("default_lining").width - border.color: UM.Theme.getColor("toggle_checked_border") - color: visible ? UM.Theme.getColor("toggle_checked") : UM.Theme.getColor("toggle_hovered") - Behavior on color { ColorAnimation { duration: 50; } } - } - label: UM.RecolorImage - { - anchors.verticalCenter: parent.verticalCenter - anchors.right: parent.right - anchors.rightMargin: UM.Theme.getSize("default_margin").width / 2 - - source: UM.Theme.getIcon("search") - color: UM.Theme.getColor("toggle_checked_text") - } - } - } - StackView { id: sidebarContents @@ -570,14 +532,12 @@ Rectangle modesListModel.append({ text: catalog.i18nc("@title:tab", "Recommended"), tooltipText: catalog.i18nc("@tooltip", "Recommended Print Setup

Print with the recommended settings for the selected printer, material and quality."), - item: sidebarSimple, - showFilterButton: false + item: sidebarSimple }) modesListModel.append({ text: catalog.i18nc("@title:tab", "Custom"), tooltipText: catalog.i18nc("@tooltip", "Custom Print Setup

Print with finegrained control over every last bit of the slicing process."), - item: sidebarAdvanced, - showFilterButton: true + item: sidebarAdvanced }) sidebarContents.push({ "item": modesListModel.get(base.currentModeIndex).item, "immediate": true }); From b67b41653fc7c24061103993016fb29b86a51488 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 27 Mar 2017 15:59:27 +0200 Subject: [PATCH 132/138] Fix spelling of maximum skin angle expansion description --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index a7853328d3..8db96bb843 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1321,7 +1321,7 @@ "max_skin_angle_for_expansion": { "label": "Maximum Skin Angle for Expansion", - "description": "Top and or bottom surfaces of your object with an angle larger than this setting, won't have their top/bottom skin expanded. This avoids expanding the narrow skin areas that are created when the model surface has a near vertical slope. An angle of 0° is horizontal, while an angle of 90° is vertical.", + "description": "Top and/or bottom surfaces of your object with an angle larger than this setting, won't have their top/bottom skin expanded. This avoids expanding the narrow skin areas that are created when the model surface has a near vertical slope. An angle of 0° is horizontal, while an angle of 90° is vertical.", "unit": "°", "type": "float", "minimum_value": "0", From efa1513e4c91d3e5552bf68e952bebb10e75d158 Mon Sep 17 00:00:00 2001 From: Jack Ha Date: Mon, 27 Mar 2017 10:30:51 +0200 Subject: [PATCH 133/138] Changed all Not Supported Draft quality profiles to Not Supported Superdraft to prevent double Not Supported entries. CURA-3555 --- ... => um3_aa0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...=> um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_aa0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...g => um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...=> um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...> um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...=> um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...> um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ...g => um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- ... => um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg} | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) rename resources/quality/ultimaker3/{um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg} (86%) rename resources/quality/ultimaker3/{um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg => um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg} (86%) rename resources/quality/ultimaker3/{um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg} (87%) rename resources/quality/ultimaker3/{um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg => um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg} (87%) diff --git a/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg index d5f7f74003..6e5a16ba1f 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_abs_ultimaker3_AA_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg index 62919c4893..9cc2999ed2 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_plus_ultimaker3_AA_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg index df7f80d05e..643f981093 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_ultimaker3_AA_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg similarity index 86% rename from resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg index 7b4348f427..14b08854b8 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] weight = 0 type = quality -quality_type = draft +quality_type = superdraft material = generic_pc_ultimaker3_AA_0.8 supported = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg index 1c0cc47858..5dbfab6341 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_PVA_Not_Supported_Superdraft_Quality.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] weight = 0 type = quality -quality_type = draft +quality_type = superdraft material = generic_pva_ultimaker3_AA_0.8 supported = False diff --git a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg index 53670883ce..ec04652763 100755 --- a/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_aa0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg @@ -6,7 +6,7 @@ definition = ultimaker3 [metadata] weight = 0 type = quality -quality_type = draft +quality_type = superdraft material = generic_tpu_ultimaker3_AA_0.8 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg index f879fd9b1e..a2d097ee09 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_ABS_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_abs_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg index 545bd6bffc..c7a19c3299 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPEP_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_plus_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg index e1fcb3b2d1..2c92677a40 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_CPE_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg index 8a36512403..d8c202efe8 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_Nylon_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_nylon_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg index 34b05c50a9..f394ea40b4 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_PLA_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_pla_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg index 123e6f3500..7d00e9e0df 100755 --- a/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.4_TPU_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_tpu_ultimaker3_BB_0.4 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg index b55e5bf6fc..2b65cf0aee 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_ABS_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_abs_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg index 07bcc1b3cb..6cec304241 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPEP_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_plus_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg index 03b92896a1..cc38d9956f 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_CPE_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_cpe_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg index 34bdf5250e..6f5099e267 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_Nylon_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_nylon_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg similarity index 86% rename from resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg index 5eee274e87..f0c4723a42 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PC_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_pc_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg index 1649753f2f..2ec598e2df 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_PLA_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_pla_ultimaker3_BB_0.8 weight = 0 supported = False diff --git a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg similarity index 87% rename from resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg rename to resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg index e5fd89294f..eb37c60507 100755 --- a/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Draft_Quality.inst.cfg +++ b/resources/quality/ultimaker3/um3_bb0.8_TPU_Not_Supported_Superdraft_Quality.inst.cfg @@ -5,7 +5,7 @@ definition = ultimaker3 [metadata] type = quality -quality_type = draft +quality_type = superdraft material = generic_tpu_ultimaker3_BB_0.8 weight = 0 supported = False From 50266f760b4344490115f4b51db65f4b706548ce Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 27 Mar 2017 11:09:40 +0200 Subject: [PATCH 134/138] Revert "Prevent MachineSettings dialog go beyond the top of screen" This reverts commit a0f841e8eb2e3fc41a5d053232ea29cf538e30be. --- resources/qml/Preferences/MachinesPage.qml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/resources/qml/Preferences/MachinesPage.qml b/resources/qml/Preferences/MachinesPage.qml index 1abd688b32..239e1a2aad 100644 --- a/resources/qml/Preferences/MachinesPage.qml +++ b/resources/qml/Preferences/MachinesPage.qml @@ -114,11 +114,6 @@ UM.ManagementPage property var content minimumWidth: 350 * Screen.devicePixelRatio; minimumHeight: 350 * Screen.devicePixelRatio; - - // prevent the Machine Settings dialog from going beyond the top of the screen - x: (x < 0) ? 0 : x - y: (y < 0) ? 0 : y - onContentChanged: { contents = content; From 2810054f8e647ea7982cda150a90d202d7ca5e44 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 27 Mar 2017 15:59:27 +0200 Subject: [PATCH 135/138] Fix spelling of maximum skin angle expansion description --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index a7853328d3..8db96bb843 100755 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1321,7 +1321,7 @@ "max_skin_angle_for_expansion": { "label": "Maximum Skin Angle for Expansion", - "description": "Top and or bottom surfaces of your object with an angle larger than this setting, won't have their top/bottom skin expanded. This avoids expanding the narrow skin areas that are created when the model surface has a near vertical slope. An angle of 0° is horizontal, while an angle of 90° is vertical.", + "description": "Top and/or bottom surfaces of your object with an angle larger than this setting, won't have their top/bottom skin expanded. This avoids expanding the narrow skin areas that are created when the model surface has a near vertical slope. An angle of 0° is horizontal, while an angle of 90° is vertical.", "unit": "°", "type": "float", "minimum_value": "0", From 63677558750065eac6f978a431fe0c4685ddc418 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 28 Mar 2017 10:21:52 +0200 Subject: [PATCH 136/138] Disabled center_on_select for windows, as pyqt has a bug with it --- cura/CuraApplication.py | 5 ++++- resources/qml/Preferences/GeneralPage.qml | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 4790612315..dd5bc9994c 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -25,6 +25,7 @@ from UM.Settings.InstanceContainer import InstanceContainer from UM.Settings.Validator import Validator from UM.Message import Message from UM.i18n import i18nCatalog +from UM.Platform import Platform from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation from UM.Operations.RemoveSceneNodeOperation import RemoveSceneNodeOperation @@ -717,7 +718,9 @@ class CuraApplication(QtApplication): else: # Default self.getController().setActiveTool("TranslateTool") - if Preferences.getInstance().getValue("view/center_on_select"): + + # Hack: QVector bindings are broken on PyQt 5.7.1 on Windows. This disables it being called at all. + if Preferences.getInstance().getValue("view/center_on_select") and not Platform.isWindows(): self._center_after_select = True else: if self.getController().getActiveTool(): diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 7db4364619..2d5e91308a 100755 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -242,6 +242,7 @@ UM.PreferencesPage text: catalog.i18nc("@action:button","Center camera when item is selected"); checked: boolCheck(UM.Preferences.getValue("view/center_on_select")) onClicked: UM.Preferences.setValue("view/center_on_select", checked) + enabled: Qt.platform.os != "windows" // Hack: disable the feature on windows as it's broken for pyqt 5.7.1. } } From 910ff7aceab693ae074f512c3b2c91809820b796 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 28 Mar 2017 11:59:07 +0200 Subject: [PATCH 137/138] No longer check printer state when no material lengths are known This fixes issues with g-code from g-code reader not having material lengths set. CURA-3604 --- .../NetworkPrinterOutputDevice.py | 105 +++++++++--------- 1 file changed, 54 insertions(+), 51 deletions(-) diff --git a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py index b89ed58f18..323f51dafe 100644 --- a/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/NetworkPrinterOutputDevice.py @@ -618,64 +618,67 @@ class NetworkPrinterOutputDevice(PrinterOutputDevice): self._gcode = getattr(Application.getInstance().getController().getScene(), "gcode_list") print_information = Application.getInstance().getPrintInformation() - - # Check if print cores / materials are loaded at all. Any failure in these results in an Error. - for index in range(0, self._num_extruders): - if print_information.materialLengths[index] != 0: - if self._json_printer_state["heads"][0]["extruders"][index]["hotend"]["id"] == "": - Logger.log("e", "No cartridge loaded in slot %s, unable to start print", index + 1) - self._error_message = Message( - i18n_catalog.i18nc("@info:status", "Unable to start a new print job. No PrinterCore loaded in slot {0}".format(index + 1))) - self._error_message.show() - return - if self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["guid"] == "": - Logger.log("e", "No material loaded in slot %s, unable to start print", index + 1) - self._error_message = Message( - i18n_catalog.i18nc("@info:status", - "Unable to start a new print job. No material loaded in slot {0}".format(index + 1))) - self._error_message.show() - return - warnings = [] # There might be multiple things wrong. Keep a list of all the stuff we need to warn about. - for index in range(0, self._num_extruders): - # Check if there is enough material. Any failure in these results in a warning. - material_length = self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["length_remaining"] - if material_length != -1 and print_information.materialLengths[index] > material_length: - Logger.log("w", "Printer reports that there is not enough material left for extruder %s. We need %s and the printer has %s", index + 1, print_information.materialLengths[index], material_length) - warnings.append(i18n_catalog.i18nc("@label", "Not enough material for spool {0}.").format(index+1)) + # Only check for mistakes if there is material length information. + if print_information.materialLengths: + # Check if print cores / materials are loaded at all. Any failure in these results in an Error. + for index in range(0, self._num_extruders): + if print_information.materialLengths[index] != 0: + if self._json_printer_state["heads"][0]["extruders"][index]["hotend"]["id"] == "": + Logger.log("e", "No cartridge loaded in slot %s, unable to start print", index + 1) + self._error_message = Message( + i18n_catalog.i18nc("@info:status", "Unable to start a new print job. No PrinterCore loaded in slot {0}".format(index + 1))) + self._error_message.show() + return + if self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["guid"] == "": + Logger.log("e", "No material loaded in slot %s, unable to start print", index + 1) + self._error_message = Message( + i18n_catalog.i18nc("@info:status", + "Unable to start a new print job. No material loaded in slot {0}".format(index + 1))) + self._error_message.show() + return - # Check if the right cartridges are loaded. Any failure in these results in a warning. - extruder_manager = cura.Settings.ExtruderManager.ExtruderManager.getInstance() - if print_information.materialLengths[index] != 0: - variant = extruder_manager.getExtruderStack(index).findContainer({"type": "variant"}) - core_name = self._json_printer_state["heads"][0]["extruders"][index]["hotend"]["id"] - if variant: - if variant.getName() != core_name: - Logger.log("w", "Extruder %s has a different Cartridge (%s) as Cura (%s)", index + 1, core_name, variant.getName()) - warnings.append(i18n_catalog.i18nc("@label", "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}".format(variant.getName(), core_name, index + 1))) + for index in range(0, self._num_extruders): + # Check if there is enough material. Any failure in these results in a warning. + material_length = self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["length_remaining"] + if material_length != -1 and print_information.materialLengths[index] > material_length: + Logger.log("w", "Printer reports that there is not enough material left for extruder %s. We need %s and the printer has %s", index + 1, print_information.materialLengths[index], material_length) + warnings.append(i18n_catalog.i18nc("@label", "Not enough material for spool {0}.").format(index+1)) - material = extruder_manager.getExtruderStack(index).findContainer({"type": "material"}) - if material: - remote_material_guid = self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["guid"] - if material.getMetaDataEntry("GUID") != remote_material_guid: - Logger.log("w", "Extruder %s has a different material (%s) as Cura (%s)", index + 1, - remote_material_guid, - material.getMetaDataEntry("GUID")) + # Check if the right cartridges are loaded. Any failure in these results in a warning. + extruder_manager = cura.Settings.ExtruderManager.ExtruderManager.getInstance() + if print_information.materialLengths[index] != 0: + variant = extruder_manager.getExtruderStack(index).findContainer({"type": "variant"}) + core_name = self._json_printer_state["heads"][0]["extruders"][index]["hotend"]["id"] + if variant: + if variant.getName() != core_name: + Logger.log("w", "Extruder %s has a different Cartridge (%s) as Cura (%s)", index + 1, core_name, variant.getName()) + warnings.append(i18n_catalog.i18nc("@label", "Different print core (Cura: {0}, Printer: {1}) selected for extruder {2}".format(variant.getName(), core_name, index + 1))) - remote_materials = UM.Settings.ContainerRegistry.ContainerRegistry.getInstance().findInstanceContainers(type = "material", GUID = remote_material_guid, read_only = True) - remote_material_name = "Unknown" - if remote_materials: - remote_material_name = remote_materials[0].getName() - warnings.append(i18n_catalog.i18nc("@label", "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}").format(material.getName(), remote_material_name, index + 1)) + material = extruder_manager.getExtruderStack(index).findContainer({"type": "material"}) + if material: + remote_material_guid = self._json_printer_state["heads"][0]["extruders"][index]["active_material"]["guid"] + if material.getMetaDataEntry("GUID") != remote_material_guid: + Logger.log("w", "Extruder %s has a different material (%s) as Cura (%s)", index + 1, + remote_material_guid, + material.getMetaDataEntry("GUID")) - try: - is_offset_calibrated = self._json_printer_state["heads"][0]["extruders"][index]["hotend"]["offset"]["state"] == "valid" - except KeyError: # Older versions of the API don't expose the offset property, so we must asume that all is well. - is_offset_calibrated = True + remote_materials = UM.Settings.ContainerRegistry.ContainerRegistry.getInstance().findInstanceContainers(type = "material", GUID = remote_material_guid, read_only = True) + remote_material_name = "Unknown" + if remote_materials: + remote_material_name = remote_materials[0].getName() + warnings.append(i18n_catalog.i18nc("@label", "Different material (Cura: {0}, Printer: {1}) selected for extruder {2}").format(material.getName(), remote_material_name, index + 1)) - if not is_offset_calibrated: - warnings.append(i18n_catalog.i18nc("@label", "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer.").format(index + 1)) + try: + is_offset_calibrated = self._json_printer_state["heads"][0]["extruders"][index]["hotend"]["offset"]["state"] == "valid" + except KeyError: # Older versions of the API don't expose the offset property, so we must asume that all is well. + is_offset_calibrated = True + + if not is_offset_calibrated: + warnings.append(i18n_catalog.i18nc("@label", "Print core {0} is not properly calibrated. XY calibration needs to be performed on the printer.").format(index + 1)) + else: + Logger.log("w", "There was no material usage found. No check to match used material with machine is done.") if warnings: text = i18n_catalog.i18nc("@label", "Are you sure you wish to print with the selected configuration?") From db2766aba160684ffce13881f50b6b6933a35bbd Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Tue, 28 Mar 2017 12:53:46 +0200 Subject: [PATCH 138/138] fix: move prime positions to the sides (CURA-3605) --- resources/extruders/ultimaker3_extended_extruder_left.def.json | 2 +- resources/extruders/ultimaker3_extended_extruder_right.def.json | 2 +- resources/extruders/ultimaker3_extruder_left.def.json | 2 +- resources/extruders/ultimaker3_extruder_right.def.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/extruders/ultimaker3_extended_extruder_left.def.json b/resources/extruders/ultimaker3_extended_extruder_left.def.json index 3335e85ae3..2fcf1d015a 100644 --- a/resources/extruders/ultimaker3_extended_extruder_left.def.json +++ b/resources/extruders/ultimaker3_extended_extruder_left.def.json @@ -23,7 +23,7 @@ "machine_extruder_end_pos_x": { "default_value": 213 }, "machine_extruder_end_pos_y": { "default_value": 207 }, "machine_nozzle_head_distance": { "default_value": 2.7 }, - "extruder_prime_pos_x": { "default_value": 170 }, + "extruder_prime_pos_x": { "default_value": 9 }, "extruder_prime_pos_y": { "default_value": 6 }, "extruder_prime_pos_z": { "default_value": 2 } } diff --git a/resources/extruders/ultimaker3_extended_extruder_right.def.json b/resources/extruders/ultimaker3_extended_extruder_right.def.json index 2e072753b1..b60cc82dd7 100644 --- a/resources/extruders/ultimaker3_extended_extruder_right.def.json +++ b/resources/extruders/ultimaker3_extended_extruder_right.def.json @@ -23,7 +23,7 @@ "machine_extruder_end_pos_x": { "default_value": 213 }, "machine_extruder_end_pos_y": { "default_value": 189 }, "machine_nozzle_head_distance": { "default_value": 4.2 }, - "extruder_prime_pos_x": { "default_value": 182 }, + "extruder_prime_pos_x": { "default_value": 222 }, "extruder_prime_pos_y": { "default_value": 6 }, "extruder_prime_pos_z": { "default_value": 2 } } diff --git a/resources/extruders/ultimaker3_extruder_left.def.json b/resources/extruders/ultimaker3_extruder_left.def.json index 141fd2f80c..6f07718b63 100644 --- a/resources/extruders/ultimaker3_extruder_left.def.json +++ b/resources/extruders/ultimaker3_extruder_left.def.json @@ -23,7 +23,7 @@ "machine_extruder_end_pos_x": { "default_value": 213 }, "machine_extruder_end_pos_y": { "default_value": 207 }, "machine_nozzle_head_distance": { "default_value": 2.7 }, - "extruder_prime_pos_x": { "default_value": 170 }, + "extruder_prime_pos_x": { "default_value": 9 }, "extruder_prime_pos_y": { "default_value": 6 }, "extruder_prime_pos_z": { "default_value": 2 } } diff --git a/resources/extruders/ultimaker3_extruder_right.def.json b/resources/extruders/ultimaker3_extruder_right.def.json index 50a369e3ed..bc51b0da4b 100644 --- a/resources/extruders/ultimaker3_extruder_right.def.json +++ b/resources/extruders/ultimaker3_extruder_right.def.json @@ -23,7 +23,7 @@ "machine_extruder_end_pos_x": { "default_value": 213 }, "machine_extruder_end_pos_y": { "default_value": 189 }, "machine_nozzle_head_distance": { "default_value": 4.2 }, - "extruder_prime_pos_x": { "default_value": 182 }, + "extruder_prime_pos_x": { "default_value": 222 }, "extruder_prime_pos_y": { "default_value": 6 }, "extruder_prime_pos_z": { "default_value": 2 } }