Added solid_shell setting
Adde SetSettingsOnChange for setting that affect other setting. Refactoring
This commit is contained in:
parent
13b9c61ba3
commit
8b075926e9
8 changed files with 124 additions and 65 deletions
|
|
@ -74,9 +74,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
//filamentFlow
|
||||
//layer0extrusionWidth
|
||||
new ScaledSingleNumber("extrusionWidth", "nozzle_diameter", 1000),
|
||||
new MapItem("insetCount", "perimeters"),
|
||||
new AsLayerCountOrDistance("downSkinCount", "bottom_solid_layers"),
|
||||
new AsLayerCountOrDistance("upSkinCount", "top_solid_layers"),
|
||||
new AsCountOrDistance("insetCount", "perimeters", "nozzle_diameter"),
|
||||
new AsCountOrDistance("downSkinCount", "bottom_solid_layers", "layer_height"),
|
||||
new AsCountOrDistance("upSkinCount", "top_solid_layers", "layer_height"),
|
||||
new ScaledSingleNumber("skirtDistance", "skirt_distance", 1000),
|
||||
new MapItem("skirtLineCount", "skirts"),
|
||||
new SkirtLengthMaping("skirtMinLength", "min_skirt_length"),
|
||||
|
|
@ -89,16 +89,16 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
new MapItem("insetXSpeed", "perimeter_speed"),
|
||||
new AsPercentOfReferenceOrDirect("inset0Speed", "external_perimeter_speed", "perimeter_speed"),
|
||||
|
||||
new VisibleButNotMappedToEngine("", "temperature"),
|
||||
new VisibleButNotMappedToEngine("", "bed_temperature"),
|
||||
new VisibleButNotMappedToEngine("", "bed_shape"),
|
||||
new VisibleButNotMappedToEngine("temperature"),
|
||||
new VisibleButNotMappedToEngine("bed_temperature"),
|
||||
new VisibleButNotMappedToEngine("bed_shape"),
|
||||
|
||||
new VisibleButNotMappedToEngine("", "has_fan"),
|
||||
new VisibleButNotMappedToEngine("", "has_power_control"),
|
||||
new VisibleButNotMappedToEngine("", "has_heated_bed"),
|
||||
new VisibleButNotMappedToEngine("", "has_hardware_leveling"),
|
||||
new VisibleButNotMappedToEngine("", "has_sd_card_reader"),
|
||||
new VisibleButNotMappedToEngine("", "z_can_be_negative"),
|
||||
new VisibleButNotMappedToEngine("has_fan"),
|
||||
new VisibleButNotMappedToEngine("has_power_control"),
|
||||
new VisibleButNotMappedToEngine("has_heated_bed"),
|
||||
new VisibleButNotMappedToEngine("has_hardware_leveling"),
|
||||
new VisibleButNotMappedToEngine("has_sd_card_reader"),
|
||||
new VisibleButNotMappedToEngine("z_can_be_negative"),
|
||||
|
||||
new ScaledSingleNumber("objectSink", "bottom_clip_amount", 1000),
|
||||
|
||||
|
|
@ -117,17 +117,17 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
new MapItem("spiralizeMode", "spiral_vase"),
|
||||
|
||||
new VisibleButNotMappedToEngine("", "bed_size"),
|
||||
new VisibleButNotMappedToEngine("bed_size"),
|
||||
|
||||
new PrintCenterX("posx", "print_center"),
|
||||
new PrintCenterY("posy", "print_center"),
|
||||
|
||||
new VisibleButNotMappedToEngine("", "build_height"),
|
||||
new VisibleButNotMappedToEngine("build_height"),
|
||||
|
||||
// needs testing, not working
|
||||
new ScaledSingleNumber("supportLineDistance", "support_material_spacing", 1000),
|
||||
new SupportMatterial("supportAngle", "support_material"),
|
||||
new VisibleButNotMappedToEngine("", "support_material_threshold"),
|
||||
new VisibleButNotMappedToEngine("support_material_threshold"),
|
||||
new MapItem("supportEverywhere", "support_material_create_internal_support"),
|
||||
new ScaledSingleNumber("supportXYDistance", "support_material_xy_distance", 1000),
|
||||
new ScaledSingleNumber("supportZDistance", "support_material_z_distance", 1000),
|
||||
|
|
@ -141,9 +141,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
new MapStartGCode("startCode", "start_gcode", false),
|
||||
new MapEndGCode("endCode", "end_gcode"),
|
||||
|
||||
new VisibleButNotMappedToEngine("", "pause_gcode"),
|
||||
new VisibleButNotMappedToEngine("", "resume_gcode"),
|
||||
new VisibleButNotMappedToEngine("", "cancel_gcode"),
|
||||
new VisibleButNotMappedToEngine("pause_gcode"),
|
||||
new VisibleButNotMappedToEngine("resume_gcode"),
|
||||
new VisibleButNotMappedToEngine("cancel_gcode"),
|
||||
|
||||
#if false
|
||||
SETTING(filamentFlow);
|
||||
|
|
|
|||
|
|
@ -87,8 +87,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
//doCoolHeadLift=False # Will cause the head to be raised in z until the min layer time is reached.
|
||||
new MapItemToBool("doCoolHeadLift", "cool_extruder_lift"),
|
||||
|
||||
new VisibleButNotMappedToEngine("", "extruder_count"),
|
||||
new VisibleButNotMappedToEngine("", "extruders_share_temperature"),
|
||||
new VisibleButNotMappedToEngine("extruder_count"),
|
||||
new VisibleButNotMappedToEngine("extruders_share_temperature"),
|
||||
|
||||
//endCode=M104 S0
|
||||
new GCodeForSlicer("endCode", "end_gcode"),
|
||||
|
|
@ -181,19 +181,21 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
//multiVolumeOverlapPercent=0
|
||||
|
||||
//numberOfBottomLayers=6
|
||||
new AsLayerCountOrDistance("numberOfBottomLayers", "bottom_solid_layers"),
|
||||
new AsCountOrDistance("numberOfBottomLayers", "bottom_solid_layers", "layer_height"),
|
||||
|
||||
new VisibleButNotMappedToEngine("solid_shell"),
|
||||
|
||||
//numberOfSkirtLoops=1 # The number of loops to draw around objects. Can be used to help hold them down.
|
||||
new MapItem("numberOfSkirtLoops", "skirts"),
|
||||
|
||||
//numberOfTopLayers=6
|
||||
new AsLayerCountOrDistance("numberOfTopLayers", "top_solid_layers"),
|
||||
new AsCountOrDistance("numberOfTopLayers", "top_solid_layers", "layer_height"),
|
||||
|
||||
//outsidePerimeterSpeed=50 # The speed of the first perimeter. mm/s.
|
||||
new AsPercentOfReferenceOrDirect("outsidePerimeterSpeed", "external_perimeter_speed", "perimeter_speed"),
|
||||
|
||||
//numberOfPerimeters=2
|
||||
new MapItem("numberOfPerimeters", "perimeters"),
|
||||
new AsCountOrDistance("numberOfPerimeters", "perimeters", "nozzle_diameter"),
|
||||
|
||||
//positionToPlaceObjectCenter=[102.5,102.5]
|
||||
new MapPositionToPlaceObjectCenter("positionToPlaceObjectCenter", "print_center"),
|
||||
|
|
@ -205,17 +207,17 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
//repairOutlines=NONE # Available Values: NONE, EXTENSIVE_STITCHING, KEEP_OPEN # You can or them together using '|'.
|
||||
new MapRepairOutlines("repairOutlines", "repair_outlines_extensive_stitching"),
|
||||
new VisibleButNotMappedToEngine("", "repair_outlines_keep_open"),
|
||||
new VisibleButNotMappedToEngine("repair_outlines_keep_open"),
|
||||
|
||||
new VisibleButNotMappedToEngine("", "has_fan"),
|
||||
new VisibleButNotMappedToEngine("", "has_hardware_leveling"),
|
||||
new VisibleButNotMappedToEngine("", "has_power_control"),
|
||||
new VisibleButNotMappedToEngine("", "has_heated_bed"),
|
||||
new VisibleButNotMappedToEngine("", "has_sd_card_reader"),
|
||||
new VisibleButNotMappedToEngine("", "z_can_be_negative"),
|
||||
new VisibleButNotMappedToEngine("", "show_reset_connection"),
|
||||
new VisibleButNotMappedToEngine("", "extruder_wipe_temperature"),
|
||||
new VisibleButNotMappedToEngine("", "bed_remove_part_temperature"),
|
||||
new VisibleButNotMappedToEngine("has_fan"),
|
||||
new VisibleButNotMappedToEngine("has_hardware_leveling"),
|
||||
new VisibleButNotMappedToEngine("has_power_control"),
|
||||
new VisibleButNotMappedToEngine("has_heated_bed"),
|
||||
new VisibleButNotMappedToEngine("has_sd_card_reader"),
|
||||
new VisibleButNotMappedToEngine("z_can_be_negative"),
|
||||
new VisibleButNotMappedToEngine("show_reset_connection"),
|
||||
new VisibleButNotMappedToEngine("extruder_wipe_temperature"),
|
||||
new VisibleButNotMappedToEngine("bed_remove_part_temperature"),
|
||||
|
||||
//retractionOnExtruderSwitch=14.5
|
||||
new MapItem("retractionOnExtruderSwitch", "retract_length_tool_change"),
|
||||
|
|
@ -241,7 +243,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
new GCodeForSlicer("toolChangeCode", "toolchange_gcode"),
|
||||
|
||||
new VisibleButNotMappedToEngine("", "heat_extruder_before_homing"),
|
||||
new VisibleButNotMappedToEngine("heat_extruder_before_homing"),
|
||||
|
||||
//supportExtruder=1
|
||||
new ValuePlusConstant("supportExtruder", "support_material_extruder", -1),
|
||||
|
|
@ -260,7 +262,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
// get the check box on the screen
|
||||
new SupportMatterial("supportEndAngle", "support_material"),
|
||||
new VisibleButNotMappedToEngine("", "support_material_threshold"),
|
||||
new VisibleButNotMappedToEngine("support_material_threshold"),
|
||||
|
||||
//supportType=NONE # Available Values: NONE, GRID, LINES
|
||||
new MapItem("supportType", "support_type"),
|
||||
|
|
@ -269,9 +271,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
new MapItem("supportXYDistanceFromObject", "support_material_xy_distance"),
|
||||
|
||||
//supportZDistanceFromObject=1 # The number of layers to skip in z. The gap between the support and the model.
|
||||
new AsLayerCountOrDistance("supportNumberOfLayersToSkipInZ", "support_material_z_gap_layers"),
|
||||
new AsCountOrDistance("supportNumberOfLayersToSkipInZ", "support_material_z_gap_layers", "layer_height"),
|
||||
|
||||
new AsLayerCountOrDistance("supportInterfaceLayers", "support_material_interface_layers"),
|
||||
new AsCountOrDistance("supportInterfaceLayers", "support_material_interface_layers", "layer_height"),
|
||||
|
||||
//travelSpeed=200 # The speed to move when not extruding material. mm/s.
|
||||
new MapItem("travelSpeed", "travel_speed"),
|
||||
|
|
@ -283,16 +285,16 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
//wipeTowerSize=0 # Unlike the wipe shield this is a square of size*size in the lower left corner for wiping during extruder changing.
|
||||
new MapItem("wipeTowerSize", "wipe_tower_size"),
|
||||
|
||||
new VisibleButNotMappedToEngine("", "pause_gcode"),
|
||||
new VisibleButNotMappedToEngine("", "resume_gcode"),
|
||||
new VisibleButNotMappedToEngine("", "cancel_gcode"),
|
||||
new VisibleButNotMappedToEngine("pause_gcode"),
|
||||
new VisibleButNotMappedToEngine("resume_gcode"),
|
||||
new VisibleButNotMappedToEngine("cancel_gcode"),
|
||||
|
||||
new VisibleButNotMappedToEngine("", "bed_size"),
|
||||
new VisibleButNotMappedToEngine("", "build_height"),
|
||||
new VisibleButNotMappedToEngine("bed_size"),
|
||||
new VisibleButNotMappedToEngine("build_height"),
|
||||
|
||||
new VisibleButNotMappedToEngine("", "temperature"),
|
||||
new VisibleButNotMappedToEngine("", "bed_temperature"),
|
||||
new VisibleButNotMappedToEngine("", "bed_shape"),
|
||||
new VisibleButNotMappedToEngine("temperature"),
|
||||
new VisibleButNotMappedToEngine("bed_temperature"),
|
||||
new VisibleButNotMappedToEngine("bed_shape"),
|
||||
};
|
||||
|
||||
public static void WriteMatterSliceSettingsFile(string outputFilename)
|
||||
|
|
|
|||
|
|
@ -85,8 +85,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
}
|
||||
|
||||
public VisibleButNotMappedToEngine(string mappedKey, string originalKey)
|
||||
: base(mappedKey, originalKey)
|
||||
public VisibleButNotMappedToEngine(string originalKey)
|
||||
: base("", originalKey)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
|
@ -339,11 +339,13 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
}
|
||||
|
||||
public class AsLayerCountOrDistance : MapItem
|
||||
public class AsCountOrDistance : MapItem
|
||||
{
|
||||
public AsLayerCountOrDistance(string mappedKey, string originalKey)
|
||||
string keyToUseAsDenominatorForCount;
|
||||
public AsCountOrDistance(string mappedKey, string originalKey, string keyToUseAsDenominatorForCount)
|
||||
: base(mappedKey, originalKey)
|
||||
{
|
||||
this.keyToUseAsDenominatorForCount = keyToUseAsDenominatorForCount;
|
||||
}
|
||||
|
||||
public override string MappedValue
|
||||
|
|
@ -353,7 +355,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
if (OriginalValue.Contains("mm"))
|
||||
{
|
||||
string withoutMm = OriginalValue.Replace("mm", "");
|
||||
int layers = (int)(MapItem.ParseValueString(withoutMm) / ActiveSliceSettings.Instance.LayerHeight + .5);
|
||||
string distanceString = ActiveSliceSettings.Instance.GetActiveValue(keyToUseAsDenominatorForCount);
|
||||
double denominator = MapItem.ParseValueString(distanceString, 1);
|
||||
int layers = (int)(MapItem.ParseValueString(withoutMm) / denominator + .5);
|
||||
return layers.ToString();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue