Cleaning up default materials
This commit is contained in:
parent
a3f7c879bd
commit
c3aaf505e1
14 changed files with 61 additions and 44 deletions
|
|
@ -309,6 +309,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
{
|
||||
SetValue(SettingsKey.active_material_key, value);
|
||||
MaterialLayer = GetMaterialLayer(value);
|
||||
|
||||
// Deactivate conflicting user overrides by iterating the Material preset we've just switched to
|
||||
this.DeactivateConflictingUserOverrides(this.MaterialLayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -324,6 +327,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
{
|
||||
SetValue(SettingsKey.active_quality_key, value);
|
||||
QualityLayer = GetQualityLayer(value);
|
||||
|
||||
// Deactivate conflicting user overrides by iterating the Quality preset we've just switched to
|
||||
this.DeactivateConflictingUserOverrides(this.QualityLayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
[HideMeterialAndColor]
|
||||
[WebPageLink("Documentation", "Open", "https://www.matterhackers.com/support/mattercontrol-variable-support")]
|
||||
[MarkDownDescription("[BETA] - Experimental support for variables and equations with a sheets like interface.")]
|
||||
public class SheetObject3D : Object3D, IObject3DControlsProvider
|
||||
public class SheetObject3D : Object3D, IObject3DControlsProvider, IStaticThumbnail
|
||||
{
|
||||
private SheetData _sheetData;
|
||||
public SheetData SheetData
|
||||
|
|
@ -84,6 +84,9 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
return item;
|
||||
}
|
||||
|
||||
public string ThumbnailName => "Sheet";
|
||||
|
||||
|
||||
private static object loadLock = new object();
|
||||
private static IObject3D sheetObject;
|
||||
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ namespace MatterHackers.MatterControl.Library.Widgets
|
|||
}
|
||||
|
||||
nextButton.Name = "Next Button";
|
||||
nextButton.Click += (s, e) => UiThread.RunOnIdle(async () =>
|
||||
nextButton.Click += (s, e) => UiThread.RunOnIdle(() =>
|
||||
{
|
||||
if (materialPanel.SelectedMaterial is AddMaterialWidget.MaterialInfo selectedMaterial)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -244,14 +244,17 @@ namespace MatterHackers.MatterControl.Library.Widgets
|
|||
|
||||
printerDetails.AfterLoad += (s, e2) =>
|
||||
{
|
||||
printerDetails.ProductDataContainer.AddChild(new HorizontalLine(theme.TextColor)
|
||||
if (printerDetails.ProductDataContainer.Children.Count > 0)
|
||||
{
|
||||
Margin = new BorderDouble(0, 7)
|
||||
});
|
||||
printerDetails.ProductDataContainer.AddChild(new HorizontalLine(theme.TextColor)
|
||||
{
|
||||
Margin = new BorderDouble(0, 7)
|
||||
});
|
||||
}
|
||||
|
||||
var settingsBackground = new GuiWidget()
|
||||
{
|
||||
Name = "Bacground",
|
||||
Name = "Background",
|
||||
HAnchor = HAnchor.Stretch,
|
||||
VAnchor = VAnchor.Fit
|
||||
};
|
||||
|
|
|
|||
|
|
@ -389,11 +389,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
return dropDownList;
|
||||
}
|
||||
|
||||
private void CopyPlateToPrinter(object sceneContext, PrinterConfig printer)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private void MenuItem_Selected(object sender, EventArgs e)
|
||||
{
|
||||
// When a preset is selected store the current values of all known settings to compare against after applying the preset
|
||||
|
|
@ -419,9 +414,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
activeSettings.RestoreConflictingUserOverrides(activeSettings.MaterialLayer);
|
||||
|
||||
activeSettings.ActiveMaterialKey = item.Value;
|
||||
|
||||
// Deactivate conflicting user overrides by iterating the Material preset we've just switched to
|
||||
activeSettings.DeactivateConflictingUserOverrides(activeSettings.MaterialLayer);
|
||||
}
|
||||
}
|
||||
else // set the temperature for the given extruder
|
||||
|
|
@ -456,9 +448,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
activeSettings.ActiveQualityKey = item.Value;
|
||||
nextSelection = activeSettings.QualityLayer;
|
||||
|
||||
// Deactivate conflicting user overrides by iterating the Quality preset we've just switched to
|
||||
activeSettings.DeactivateConflictingUserOverrides(activeSettings.QualityLayer);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -492,9 +481,21 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
}
|
||||
|
||||
foreach (var keyName in settingsToUpdate)
|
||||
{
|
||||
printer.Settings.OnSettingChanged(keyName);
|
||||
// we are about to change many settings only save on the last one
|
||||
var updateList = settingsToUpdate.ToList();
|
||||
ProfileManager.SaveOnSingleSettingChange = false;
|
||||
for (int i=0; i< updateList.Count-1; i++)
|
||||
{
|
||||
printer.Settings.OnSettingChanged(updateList[i]);
|
||||
}
|
||||
ProfileManager.SaveOnSingleSettingChange = true;
|
||||
printer.Settings.OnSettingChanged(updateList[updateList.Count-1]);
|
||||
|
||||
// update the style of every setting
|
||||
var sliceSettingsWidget = this.Parents<SliceSettingsWidget>().FirstOrDefault();
|
||||
if (sliceSettingsWidget != null)
|
||||
{
|
||||
sliceSettingsWidget.UpdateAllStyles();
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -505,6 +506,12 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
{
|
||||
pullDownContainer.CloseChildren();
|
||||
pullDownContainer.AddChild(this.NewPulldownContainer());
|
||||
|
||||
var sliceSettingsWidget = this.Parents<SliceSettingsWidget>().FirstOrDefault();
|
||||
if (sliceSettingsWidget != null)
|
||||
{
|
||||
sliceSettingsWidget.UpdateAllStyles();
|
||||
}
|
||||
}
|
||||
|
||||
private void SettingsLayers_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
||||
|
|
|
|||
|
|
@ -474,10 +474,13 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
return printerSettings;
|
||||
}
|
||||
|
||||
public static bool SaveOnSingleSettingChange { get; set; } = true;
|
||||
|
||||
// Settings persistence moved from PrinterSettings into ProfileManager to break dependency around ProfileManager paths/MatterControl specific details
|
||||
private static void PrinterSettings_SettingChanged(object sender, StringEventArgs e)
|
||||
{
|
||||
if (sender is PrinterSettings settings)
|
||||
if (SaveOnSingleSettingChange
|
||||
&& sender is PrinterSettings settings)
|
||||
{
|
||||
settings.Save();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,7 +112,15 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
showControlBar = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateAllStyles()
|
||||
{
|
||||
foreach(var child in this.Descendants<SliceSettingsRow>())
|
||||
{
|
||||
child.UpdateStyle();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class SliceSettingsTabView : SimpleTabs
|
||||
{
|
||||
|
|
|
|||
BIN
StaticData/Images/Thumbnails/8315973372694813834-256x256.png
Normal file
BIN
StaticData/Images/Thumbnails/8315973372694813834-256x256.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
|
|
@ -14,14 +14,8 @@
|
|||
"bridge_fan_speed": "50",
|
||||
"merge_overlapping_lines": "1",
|
||||
"enable_fan": "1",
|
||||
"layer_etag": "",
|
||||
"layer_source": "",
|
||||
"min_fan_speed_layer_time": "8",
|
||||
"max_fan_speed_layer_time": "8",
|
||||
"create_skirt": "0",
|
||||
"create_brim": "1",
|
||||
"brims": "5mm",
|
||||
"filament_cost": "19.99",
|
||||
"bed_temperature_buildtak": "100",
|
||||
"bed_temperature_garolite": "100",
|
||||
"bed_temperature_glass": "100",
|
||||
|
|
|
|||
|
|
@ -8,18 +8,13 @@
|
|||
"layer_id": "b8e72ad6-9b04-4bbb-852f-4fec1bc4262b",
|
||||
"temperature": "250",
|
||||
"bed_temperature": "55",
|
||||
"retract_restart_extra": "0",
|
||||
"retract_restart_extra_time_to_apply": "0",
|
||||
"filament_density": "1.1",
|
||||
"filament_cost": "73.3",
|
||||
"filament_density": "1.14",
|
||||
"bed_temperature_buildtak": "55",
|
||||
"bed_temperature_garolite": "70",
|
||||
"bed_temperature_glass": "70",
|
||||
"bed_temperature_kapton": "70",
|
||||
"bed_temperature_pei": "70",
|
||||
"bed_temperature_pp": "50",
|
||||
"layer_etag": "",
|
||||
"layer_source": "",
|
||||
"material_sku": "3d-printer-filament/Nylon"
|
||||
}
|
||||
],
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
"layer_name": "PETg",
|
||||
"layer_id": "dbef12f0-4197-41e8-b15e-85433d8e3fcc",
|
||||
"temperature": "245",
|
||||
"filament_density": "1.28",
|
||||
"filament_density": "1.23",
|
||||
"bed_temperature": "75",
|
||||
"bridge_fan_speed": "25",
|
||||
"max_fan_speed": "100",
|
||||
|
|
@ -16,8 +16,6 @@
|
|||
"max_fan_speed_layer_time": "10",
|
||||
"layer_etag": "",
|
||||
"layer_source": "",
|
||||
"extrusion_multiplier": "0.95",
|
||||
"filament_cost": "24.99",
|
||||
"bed_temperature_buildtak": "55",
|
||||
"bed_temperature_garolite": "75",
|
||||
"bed_temperature_glass": "75",
|
||||
|
|
|
|||
|
|
@ -12,13 +12,9 @@
|
|||
"min_fan_speed": "70",
|
||||
"max_fan_speed": "100",
|
||||
"bridge_fan_speed": "100",
|
||||
"layer_etag": "",
|
||||
"layer_source": "",
|
||||
"filament_cost": "19.99",
|
||||
"min_fan_speed_layer_time": "180",
|
||||
"max_fan_speed_layer_time": "60",
|
||||
"extrusion_multiplier": "0.97",
|
||||
"disable_fan_first_layers": "5",
|
||||
"disable_fan_first_layers": "3",
|
||||
"bed_temperature_buildtak": "50",
|
||||
"bed_temperature_garolite": "75",
|
||||
"bed_temperature_glass": "75",
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 8610fe4d31da3d08b3c06de89eae25db39f56838
|
||||
Subproject commit 0511fb98bd18e41c90ad149e7c9d33bc3c1d7d9e
|
||||
|
|
@ -189,13 +189,17 @@ M300 S3000 P30 ; Resume Tone";
|
|||
var files = directoryInfo.GetFiles("*.material", SearchOption.AllDirectories);
|
||||
var profiles = files.Select(f => PrinterSettings.LoadFile(f.FullName)).ToList();
|
||||
|
||||
var allMaterialIds = new HashSet<string>();
|
||||
|
||||
foreach(var profile in profiles)
|
||||
{
|
||||
Assert.AreEqual(1, profile.MaterialLayers.Count, "Each material profile should have 1 material in it");
|
||||
var material = profile.MaterialLayers[0];
|
||||
profile.ActiveMaterialKey = material.LayerID;
|
||||
Assert.IsTrue(!string.IsNullOrEmpty(profile.GetValue(SettingsKey.material_sku)));
|
||||
}
|
||||
Assert.IsTrue(!allMaterialIds.Contains(material.LayerID), "Every material needs a unique Id");
|
||||
allMaterialIds.Add(material.LayerID);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue