From 169b40f3fde5e0db51dfab2df63aaaddbfea0693 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Fri, 22 May 2020 12:36:47 -0700 Subject: [PATCH] added avoid max ratio --- MatterControl.Printing/Settings/SettingsKey.cs | 1 + .../Settings/SliceSettingsFields.cs | 11 +++++++++++ .../SlicerConfiguration/EngineMappingsMatterSlice.cs | 5 +++-- StaticData/SliceSettings/Layouts.txt | 1 + Submodules/MatterSlice | 2 +- 5 files changed, 17 insertions(+), 3 deletions(-) diff --git a/MatterControl.Printing/Settings/SettingsKey.cs b/MatterControl.Printing/Settings/SettingsKey.cs index 04a437d7d..992e11ab0 100644 --- a/MatterControl.Printing/Settings/SettingsKey.cs +++ b/MatterControl.Printing/Settings/SettingsKey.cs @@ -36,6 +36,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public const string air_gap_speed = nameof(air_gap_speed); public const string auto_connect = nameof(auto_connect); public const string auto_release_motors = nameof(auto_release_motors); + public const string avoid_crossing_max_ratio = nameof(avoid_crossing_max_ratio); public const string avoid_crossing_perimeters = nameof(avoid_crossing_perimeters); public const string baby_step_z_offset = nameof(baby_step_z_offset); public const string backup_firmware_before_update = nameof(backup_firmware_before_update); diff --git a/MatterControl.Printing/Settings/SliceSettingsFields.cs b/MatterControl.Printing/Settings/SliceSettingsFields.cs index 2d5741ae2..ce87d7706 100644 --- a/MatterControl.Printing/Settings/SliceSettingsFields.cs +++ b/MatterControl.Printing/Settings/SliceSettingsFields.cs @@ -496,6 +496,17 @@ namespace MatterHackers.MatterControl.SlicerConfiguration Converter = new AsPercentOrDirect(), }, new SliceSettingData() + { + SlicerConfigName = SettingsKey.avoid_crossing_max_ratio, + PresentationName = "Avoid Crossing Max Ratio".Localize(), + HelpText = "The maximum amount that an avoid crossing travel can exceed the direct distance travel. If exceeded the direct travel will be executed.".Localize(), + DataEditType = DataEditTypes.DOUBLE_OR_PERCENT, + Units = "Ratio or %".Localize(), + ShowIfSet = "!sla_printer", + DefaultValue = "2", + Converter = new AsPercentOrDirect(), + }, + new SliceSettingData() { SlicerConfigName = SettingsKey.filament_cost, PresentationName = "Cost".Localize(), diff --git a/MatterControlLib/SlicerConfiguration/EngineMappingsMatterSlice.cs b/MatterControlLib/SlicerConfiguration/EngineMappingsMatterSlice.cs index bda65bbd2..d7a0bdfc1 100644 --- a/MatterControlLib/SlicerConfiguration/EngineMappingsMatterSlice.cs +++ b/MatterControlLib/SlicerConfiguration/EngineMappingsMatterSlice.cs @@ -97,13 +97,14 @@ namespace MatterHackers.MatterControl.SlicerConfiguration [SettingsKey.max_acceleration] = new ExportField("maxAcceleration"), [SettingsKey.max_velocity] = new ExportField("maxVelocity"), [SettingsKey.jerk_velocity] = new ExportField("jerkVelocity"), + [SettingsKey.avoid_crossing_max_ratio] = new ExportField("avoidCrossingMaxRatio"), [SettingsKey.print_time_estimate_multiplier] = new ExportField( "printTimeEstimateMultiplier", (value, settings) => { - if (double.TryParse(value, out double infillRatio)) + if (double.TryParse(value, out double timeMultiplier)) { - return $"{infillRatio * .01}"; + return $"{timeMultiplier * .01}"; } return "0"; diff --git a/StaticData/SliceSettings/Layouts.txt b/StaticData/SliceSettings/Layouts.txt index a3373ee4a..43098fe1a 100644 --- a/StaticData/SliceSettings/Layouts.txt +++ b/StaticData/SliceSettings/Layouts.txt @@ -12,6 +12,7 @@ Advanced Layers / Surface Outer Surface - Perimeters avoid_crossing_perimeters + avoid_crossing_max_ratio external_perimeters_first perimeter_start_end_overlap merge_overlapping_lines diff --git a/Submodules/MatterSlice b/Submodules/MatterSlice index d58cefe19..f8554b254 160000 --- a/Submodules/MatterSlice +++ b/Submodules/MatterSlice @@ -1 +1 @@ -Subproject commit d58cefe19c7d52038b7173c551555e22586480f0 +Subproject commit f8554b254586120110eedabec5ed829005695cb6