diff --git a/MatterControl.Printing/Settings/SettingsKey.cs b/MatterControl.Printing/Settings/SettingsKey.cs index f175a9527..d5fd8e0dc 100644 --- a/MatterControl.Printing/Settings/SettingsKey.cs +++ b/MatterControl.Printing/Settings/SettingsKey.cs @@ -164,5 +164,27 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public const string travel_speed = nameof(travel_speed); public const string retract_speed = nameof(retract_speed); public const string create_raft = nameof(create_raft); + public const string bottom_solid_layers = nameof(bottom_solid_layers); + public const string perimeters = nameof(perimeters); + public const string raft_extra_distance_around_part = nameof(raft_extra_distance_around_part); + public const string support_material_interface_layers = nameof(support_material_interface_layers); + public const string top_solid_layers = nameof(top_solid_layers); + public const string raft_print_speed = nameof(raft_print_speed); + public const string before_toolchange_gcode = nameof(before_toolchange_gcode); + public const string toolchange_gcode = nameof(toolchange_gcode); + public const string before_toolchange_gcode_1 = nameof(before_toolchange_gcode_1); + public const string toolchange_gcode_1 = nameof(toolchange_gcode_1); + public const string retract_before_travel = nameof(retract_before_travel); + public const string retract_length = nameof(retract_length); + public const string retract_lift = nameof(retract_lift); + public const string retract_restart_extra = nameof(retract_restart_extra); + public const string retract_restart_extra_time_to_apply = nameof(retract_restart_extra_time_to_apply); + public const string bottom_infill_speed = nameof(bottom_infill_speed); + public const string bridge_over_infill = nameof(bridge_over_infill); + public const string extrusion_multiplier = nameof(extrusion_multiplier); + public const string fill_angle = nameof(fill_angle); + public const string min_extrusion_before_retract = nameof(min_extrusion_before_retract); + public const string min_print_speed = nameof(min_print_speed); + public const string raft_air_gap = nameof(raft_air_gap); } } diff --git a/MatterControlLib/ApplicationView/PrinterConfig.cs b/MatterControlLib/ApplicationView/PrinterConfig.cs index fbbc04c6f..2feaba6ae 100644 --- a/MatterControlLib/ApplicationView/PrinterConfig.cs +++ b/MatterControlLib/ApplicationView/PrinterConfig.cs @@ -65,32 +65,33 @@ namespace MatterHackers.MatterControl { this.Connection = new PrinterConnection(this); + // TODO: Documentation should be added here to describe how this differs from EngineMappingMatterSlice and its MappedSettings replaceWithSettingsStrings = new MappedSetting[] { // Have a mapping so that MatterSlice while always use a setting that can be set. (the user cannot set first_layer_bedTemperature in MatterSlice) new AsPercentOfReferenceOrDirect(this, SettingsKey.first_layer_speed, SettingsKey.first_layer_speed, SettingsKey.infill_speed, 60), - new AsPercentOfReferenceOrDirect(this, "external_perimeter_speed","external_perimeter_speed", "perimeter_speed", 60), - new AsPercentOfReferenceOrDirect(this, "raft_print_speed", "raft_print_speed", SettingsKey.infill_speed, 60), + new AsPercentOfReferenceOrDirect(this, SettingsKey.external_perimeter_speed,"external_perimeter_speed", SettingsKey.perimeter_speed, 60), + new AsPercentOfReferenceOrDirect(this, SettingsKey.raft_print_speed, "raft_print_speed", SettingsKey.infill_speed, 60), new MappedSetting(this, SettingsKey.bed_remove_part_temperature,SettingsKey.bed_remove_part_temperature), new MappedSetting(this, "bridge_fan_speed","bridge_fan_speed"), - new MappedSetting(this, "bridge_speed","bridge_speed"), - new MappedSetting(this, "air_gap_speed", "air_gap_speed"), + new MappedSetting(this, SettingsKey.bridge_speed,"bridge_speed"), + new MappedSetting(this, SettingsKey.air_gap_speed, "air_gap_speed"), new MappedSetting(this, "extruder_wipe_temperature","extruder_wipe_temperature"), new MappedSetting(this, SettingsKey.filament_diameter,SettingsKey.filament_diameter), new ReplaceWithSetting(this, "first_layer_bed_temperature", SettingsKey.bed_temperature, SettingsKey.bed_temperature), new MappedSetting(this, "first_layer_temperature", SettingsKey.temperature), new MappedSetting(this, SettingsKey.max_fan_speed,"max_fan_speed"), new MappedSetting(this, SettingsKey.min_fan_speed,"min_fan_speed"), - new MappedSetting(this, "retract_length","retract_length"), + new MappedSetting(this, SettingsKey.retract_length,"retract_length"), new MappedSetting(this, SettingsKey.temperature,SettingsKey.temperature), new MappedSetting(this, SettingsKey.bed_temperature,SettingsKey.bed_temperature), new MappedSetting(this, SettingsKey.temperature1, SettingsKey.temperature1), new MappedSetting(this, SettingsKey.temperature2, SettingsKey.temperature2), new MappedSetting(this, SettingsKey.temperature3, SettingsKey.temperature3), new ScaledSingleNumber(this, SettingsKey.infill_speed, SettingsKey.infill_speed, 60), - new ScaledSingleNumber(this, "min_print_speed", "min_print_speed", 60), - new ScaledSingleNumber(this, "perimeter_speed","perimeter_speed", 60), - new ScaledSingleNumber(this, "retract_speed","retract_speed", 60), + new ScaledSingleNumber(this, SettingsKey.min_print_speed, "min_print_speed", 60), + new ScaledSingleNumber(this, SettingsKey.perimeter_speed,"perimeter_speed", 60), + new ScaledSingleNumber(this, SettingsKey.retract_speed,"retract_speed", 60), new ScaledSingleNumber(this, "support_material_speed","support_material_speed", 60), new ScaledSingleNumber(this, "travel_speed", "travel_speed", 60), new ScaledSingleNumber(this, SettingsKey.load_filament_speed, SettingsKey.load_filament_speed, 60), diff --git a/MatterControlLib/PrinterCommunication/Io/PauseHandlingStream.cs b/MatterControlLib/PrinterCommunication/Io/PauseHandlingStream.cs index 58ceaef81..e5931dfe3 100644 --- a/MatterControlLib/PrinterCommunication/Io/PauseHandlingStream.cs +++ b/MatterControlLib/PrinterCommunication/Io/PauseHandlingStream.cs @@ -247,7 +247,7 @@ namespace MatterHackers.MatterControl.PrinterCommunication.Io InjectPauseGCode("M114"); // make sure we know where we are after this resume code // make sure we are moving at a reasonable speed - var outerPerimeterSpeed = printer.Settings.GetValue("perimeter_speed") * 60; + var outerPerimeterSpeed = printer.Settings.GetValue(SettingsKey.perimeter_speed) * 60; InjectPauseGCode("G91"); // move relative InjectPauseGCode($"G1 X.1 F{outerPerimeterSpeed}"); // ensure good extrusion speed InjectPauseGCode($"G1 -X.1 F{outerPerimeterSpeed}"); // move back diff --git a/MatterControlLib/SlicerConfiguration/EngineMappingMatterSlice.cs b/MatterControlLib/SlicerConfiguration/EngineMappingMatterSlice.cs index d9b8cba78..0b2e7231f 100644 --- a/MatterControlLib/SlicerConfiguration/EngineMappingMatterSlice.cs +++ b/MatterControlLib/SlicerConfiguration/EngineMappingMatterSlice.cs @@ -139,43 +139,43 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { MappedSettings = new List() { - new AsCountOrDistance(printer, "bottom_solid_layers", "numberOfBottomLayers", SettingsKey.layer_height), - new AsCountOrDistance(printer, "perimeters", "numberOfPerimeters", SettingsKey.nozzle_diameter), - new AsCountOrDistance(printer, "raft_extra_distance_around_part", "raftExtraDistanceAroundPart", SettingsKey.nozzle_diameter), - new AsCountOrDistance(printer, "support_material_interface_layers", "supportInterfaceLayers", SettingsKey.layer_height), - new AsCountOrDistance(printer, "top_solid_layers", "numberOfTopLayers", SettingsKey.layer_height), + new AsCountOrDistance(printer, SettingsKey.bottom_solid_layers, "numberOfBottomLayers", SettingsKey.layer_height), + new AsCountOrDistance(printer, SettingsKey.perimeters, "numberOfPerimeters", SettingsKey.nozzle_diameter), + new AsCountOrDistance(printer, SettingsKey.raft_extra_distance_around_part, "raftExtraDistanceAroundPart", SettingsKey.nozzle_diameter), + new AsCountOrDistance(printer, SettingsKey.support_material_interface_layers, "supportInterfaceLayers", SettingsKey.layer_height), + new AsCountOrDistance(printer, SettingsKey.top_solid_layers, "numberOfTopLayers", SettingsKey.layer_height), new AsPercentOfReferenceOrDirect(printer, SettingsKey.external_perimeter_extrusion_width, "outsidePerimeterExtrusionWidth", SettingsKey.nozzle_diameter), - new OverrideSpeedOnSlaPrinters(printer, "external_perimeter_speed", "outsidePerimeterSpeed", "perimeter_speed"), + new OverrideSpeedOnSlaPrinters(printer, SettingsKey.external_perimeter_speed, "outsidePerimeterSpeed", SettingsKey.perimeter_speed), new AsPercentOfReferenceOrDirect(printer, SettingsKey.first_layer_speed, "firstLayerSpeed", SettingsKey.infill_speed), new AsCountOrDistance(printer, SettingsKey.number_of_first_layers, "numberOfFirstLayers", SettingsKey.layer_height), - new AsPercentOfReferenceOrDirect(printer, "raft_print_speed", "raftPrintSpeed", SettingsKey.infill_speed), + new AsPercentOfReferenceOrDirect(printer, SettingsKey.raft_print_speed, "raftPrintSpeed", SettingsKey.infill_speed), new OverrideSpeedOnSlaPrinters(printer, SettingsKey.top_solid_infill_speed, "topInfillSpeed", SettingsKey.infill_speed), new AsPercentOfReferenceOrDirect(printer, SettingsKey.first_layer_extrusion_width, "firstLayerExtrusionWidth", SettingsKey.nozzle_diameter), new AsPercentOfReferenceOrDirect(printer, SettingsKey.first_layer_height, "firstLayerThickness", SettingsKey.layer_height), new GCodeForSlicer(printer, SettingsKey.end_gcode, "endCode"), - new GCodeForSlicer(printer, "before_toolchange_gcode", "beforeToolchangeCode"), - new GCodeForSlicer(printer, "toolchange_gcode", "toolChangeCode"), - new GCodeForSlicer(printer, "before_toolchange_gcode_1", "beforeToolchangeCode1"), - new GCodeForSlicer(printer, "toolchange_gcode_1", "toolChangeCode1"), - new MapFirstValue(printer, "retract_before_travel", "minimumTravelToCauseRetraction"), - new RetractionLength(printer, "retract_length", "retractionOnTravel"), - new MapFirstValue(printer, "retract_lift", "retractionZHop"), - new MapFirstValue(printer, "retract_restart_extra", "unretractExtraExtrusion"), - new MapFirstValue(printer, "retract_restart_extra_time_to_apply", "retractRestartExtraTimeToApply"), - new MapFirstValue(printer, "retract_speed", "retractionSpeed"), - new OverrideSpeedOnSlaPrinters(printer, "bridge_speed", "bridgeSpeed", SettingsKey.infill_speed), - new OverrideSpeedOnSlaPrinters(printer, "air_gap_speed", "airGapSpeed", SettingsKey.infill_speed), - new OverrideSpeedOnSlaPrinters(printer, "bottom_infill_speed", "bottomInfillSpeed", SettingsKey.infill_speed), - new MappedToBoolString(printer, "bridge_over_infill", "bridgeOverInfill"), - new MappedSetting(printer, "extrusion_multiplier", "extrusionMultiplier"), - new MappedSetting(printer, "fill_angle", "infillStartingAngle"), + new GCodeForSlicer(printer, SettingsKey.before_toolchange_gcode, "beforeToolchangeCode"), + new GCodeForSlicer(printer, SettingsKey.toolchange_gcode, "toolChangeCode"), + new GCodeForSlicer(printer, SettingsKey.before_toolchange_gcode_1, "beforeToolchangeCode1"), + new GCodeForSlicer(printer, SettingsKey.toolchange_gcode_1, "toolChangeCode1"), + new MapFirstValue(printer, SettingsKey.retract_before_travel, "minimumTravelToCauseRetraction"), + new RetractionLength(printer, SettingsKey.retract_length, "retractionOnTravel"), + new MapFirstValue(printer, SettingsKey.retract_lift, "retractionZHop"), + new MapFirstValue(printer, SettingsKey.retract_restart_extra, "unretractExtraExtrusion"), + new MapFirstValue(printer, SettingsKey.retract_restart_extra_time_to_apply, "retractRestartExtraTimeToApply"), + new MapFirstValue(printer, SettingsKey.retract_speed, "retractionSpeed"), + new OverrideSpeedOnSlaPrinters(printer, SettingsKey.bridge_speed, "bridgeSpeed", SettingsKey.infill_speed), + new OverrideSpeedOnSlaPrinters(printer, SettingsKey.air_gap_speed, "airGapSpeed", SettingsKey.infill_speed), + new OverrideSpeedOnSlaPrinters(printer, SettingsKey.bottom_infill_speed, "bottomInfillSpeed", SettingsKey.infill_speed), + new MappedToBoolString(printer, SettingsKey.bridge_over_infill, "bridgeOverInfill"), + new MappedSetting(printer, SettingsKey.extrusion_multiplier, "extrusionMultiplier"), + new MappedSetting(printer, SettingsKey.fill_angle, "infillStartingAngle"), new AsPercentOfReferenceOrDirect(printer, SettingsKey.infill_overlap_perimeter, "infillExtendIntoPerimeter", SettingsKey.nozzle_diameter, change0ToReference: false), new OverrideSpeedOnSlaPrinters(printer, SettingsKey.infill_speed, "infillSpeed", SettingsKey.infill_speed), new MappedSetting(printer, SettingsKey.infill_type, "infillType"), - new MappedSetting(printer, "min_extrusion_before_retract", "minimumExtrusionBeforeRetraction"), - new MappedSetting(printer, "min_print_speed", "minimumPrintingSpeed"), - new OverrideSpeedOnSlaPrinters(printer, "perimeter_speed", "insidePerimetersSpeed", SettingsKey.infill_speed), - new MappedSetting(printer, "raft_air_gap", "raftAirGap"), + new MappedSetting(printer, SettingsKey.min_extrusion_before_retract, "minimumExtrusionBeforeRetraction"), + new MappedSetting(printer, SettingsKey.min_print_speed, "minimumPrintingSpeed"), + new OverrideSpeedOnSlaPrinters(printer, SettingsKey.perimeter_speed, "insidePerimetersSpeed", SettingsKey.infill_speed), + new MappedSetting(printer, SettingsKey.raft_air_gap, "raftAirGap"), new MappedSetting(printer, SettingsKey.max_acceleration, "maxAcceleration"), new MappedSetting(printer, SettingsKey.max_velocity, "maxVelocity"), new MappedSetting(printer, SettingsKey.jerk_velocity, "jerkVelocity"), diff --git a/Tests/MatterControl.Tests/MatterControl/OemProfileTests.cs b/Tests/MatterControl.Tests/MatterControl/OemProfileTests.cs index bd8152005..7504f83a8 100644 --- a/Tests/MatterControl.Tests/MatterControl/OemProfileTests.cs +++ b/Tests/MatterControl.Tests/MatterControl/OemProfileTests.cs @@ -159,7 +159,7 @@ namespace MatterControl.Tests.MatterControl { ValidateOnAllPrinters((printer, settings) => { - string retractLengthString = settings.GetValue("retract_length"); + string retractLengthString = settings.GetValue(SettingsKey.retract_length); if (!string.IsNullOrEmpty(retractLengthString)) { float retractLength; @@ -285,7 +285,7 @@ namespace MatterControl.Tests.MatterControl { ValidateOnAllPrinters((printer, settings) => { - string bottomSolidLayers = settings.GetValue("bottom_solid_layers"); + string bottomSolidLayers = settings.GetValue(SettingsKey.bottom_solid_layers); if (!string.IsNullOrEmpty(bottomSolidLayers)) { if (bottomSolidLayers == "0") diff --git a/Tests/MatterControl.Tests/MatterControl/PrinterConfigurationTests.cs b/Tests/MatterControl.Tests/MatterControl/PrinterConfigurationTests.cs index 5549fbf1f..92f80d492 100644 --- a/Tests/MatterControl.Tests/MatterControl/PrinterConfigurationTests.cs +++ b/Tests/MatterControl.Tests/MatterControl/PrinterConfigurationTests.cs @@ -222,7 +222,7 @@ namespace MatterControl.Tests.MatterControl public void testRetractLengthLessThanTwenty(PrinterSettingsLayer layer, string sourceFile) { string settingValue; - if (!layer.TryGetValue("retract_length", out settingValue)) + if (!layer.TryGetValue(SettingsKey.retract_length, out settingValue)) { return; } @@ -288,7 +288,7 @@ namespace MatterControl.Tests.MatterControl public void testBottomSolidLayersOneMM(PrinterSettingsLayer layer, string sourceFile) { string settingValue; - if (!layer.TryGetValue("bottom_solid_layers", out settingValue)) + if (!layer.TryGetValue(SettingsKey.bottom_solid_layers, out settingValue)) { return; }