diff --git a/SlicerConfiguration/Settings/PrinterSettings.cs b/SlicerConfiguration/Settings/PrinterSettings.cs index 10e0bef01..469edb075 100644 --- a/SlicerConfiguration/Settings/PrinterSettings.cs +++ b/SlicerConfiguration/Settings/PrinterSettings.cs @@ -892,6 +892,24 @@ namespace MatterHackers.MatterControl.SlicerConfiguration return false; } + if (GetValue(SettingsKey.external_perimeter_extrusion_width) > GetValue(SettingsKey.nozzle_diameter) * 4) + { + string error = "'External Perimeter Extrusion Width' must be less than or equal to the 'Nozzle Diameter' * 4.".Localize(); + string details = string.Format("External Perimeter Extrusion Width = {0}\nNozzle Diameter = {1}".Localize(), GetValue(SettingsKey.external_perimeter_extrusion_width), GetValue(SettingsKey.nozzle_diameter)); + string location = "Location: 'Settings & Controls' -> 'Settings' -> 'Filament' -> 'Extrusion' -> 'External Perimeter'".Localize(); + StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize()); + return false; + } + + if (GetValue(SettingsKey.external_perimeter_extrusion_width) <= 0) + { + string error = "'External Perimeter Extrusion Width' must be greater than 0.".Localize(); + string details = string.Format("External Perimeter Extrusion Width = {0}".Localize(), GetValue(SettingsKey.external_perimeter_extrusion_width)); + string location = "Location: 'Settings & Controls' -> 'Settings' -> 'Filament' -> 'Extrusion' -> 'External Perimeter'".Localize(); + StyledMessageBox.ShowMessageBox(null, string.Format("{0}\n\n{1}\n\n{2}", error, details, location), "Slice Error".Localize()); + return false; + } + if (GetValue(SettingsKey.min_fan_speed) > 100) { string error = "The Minimum Fan Speed can only go as high as 100%.".Localize(); diff --git a/SlicerConfiguration/Settings/SettingsHelpers.cs b/SlicerConfiguration/Settings/SettingsHelpers.cs index 5f283bb1c..5afab8961 100644 --- a/SlicerConfiguration/Settings/SettingsHelpers.cs +++ b/SlicerConfiguration/Settings/SettingsHelpers.cs @@ -66,6 +66,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public const string merge_overlapping_lines = nameof(merge_overlapping_lines); public const string extruder_count = nameof(extruder_count); public const string extruders_share_temperature = nameof(extruders_share_temperature); + public const string external_perimeter_extrusion_width = nameof(external_perimeter_extrusion_width); public const string filament_cost = nameof(filament_cost); public const string filament_density = nameof(filament_density); public const string filament_diameter = nameof(filament_diameter); diff --git a/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs b/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs index b3cdbb722..0ba9f35cf 100644 --- a/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs +++ b/SlicerConfiguration/SlicerMapping/EngineMappingMatterSlice.cs @@ -56,7 +56,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration new AsCountOrDistance("support_material_interface_layers", "supportInterfaceLayers", SettingsKey.layer_height), new AsCountOrDistance("top_solid_layers", "numberOfTopLayers", SettingsKey.layer_height), new AsCountOrDistance("brims", "numberOfBrimLoops", SettingsKey.nozzle_diameter), - new AsPercentOfReferenceOrDirect("external_perimeter_extrusion_width", "outsidePerimeterExtrusionWidth", SettingsKey.nozzle_diameter), + new AsPercentOfReferenceOrDirect(SettingsKey.external_perimeter_extrusion_width, SettingsKey.external_perimeter_extrusion_width, SettingsKey.nozzle_diameter), new AsPercentOfReferenceOrDirect("external_perimeter_speed", "outsidePerimeterSpeed", "perimeter_speed"), new AsPercentOfReferenceOrDirect(SettingsKey.first_layer_speed, "firstLayerSpeed", "infill_speed"), new AsPercentOfReferenceOrDirect("raft_print_speed", "raftPrintSpeed", "infill_speed"), diff --git a/StaticData/Translations/Master.txt b/StaticData/Translations/Master.txt index e32802b3b..bfdea06cc 100644 --- a/StaticData/Translations/Master.txt +++ b/StaticData/Translations/Master.txt @@ -5851,3 +5851,27 @@ Translated:Printing Window... English:Only Retract When Crossing Perimeters Translated:Only Retract When Crossing Perimeters +English:baby_step_z_offset +Translated:baby_step_z_offset + +English:gcode_arcs +Translated:gcode_arcs + +English:calibration_files +Translated:calibration_files + +English:'External Perimeter Extrusion Width' must be less than or equal to the 'Nozzle Diameter' * 4. +Translated:'External Perimeter Extrusion Width' must be less than or equal to the 'Nozzle Diameter' * 4. + +English:External Perimeter Extrusion Width = {0}\nNozzle Diameter = {1} +Translated:External Perimeter Extrusion Width = {0}\nNozzle Diameter = {1} + +English:Location: 'Settings & Controls' -> 'Settings' -> 'Filament' -> 'Extrusion' -> 'External Perimeter' +Translated:Location: 'Settings & Controls' -> 'Settings' -> 'Filament' -> 'Extrusion' -> 'External Perimeter' + +English:'External Perimeter Extrusion Width' must be greater than 0. +Translated:'External Perimeter Extrusion Width' must be greater than 0. + +English:External Perimeter Extrusion Width = {0} +Translated:External Perimeter Extrusion Width = {0} + diff --git a/Submodules/MatterSlice b/Submodules/MatterSlice index 87a13e46c..4f7fce255 160000 --- a/Submodules/MatterSlice +++ b/Submodules/MatterSlice @@ -1 +1 @@ -Subproject commit 87a13e46cfa54f10838947fde28c7268ed80ded9 +Subproject commit 4f7fce255f7ab6d5b64411243284e9ba2cceea47 diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 4640524df..7b17867d1 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 4640524dfb6df9073bab8269d297073cedfaf2b5 +Subproject commit 7b17867d17aba65963fb492a8f97b266fba7dffa