Merge pull request #934 from larsbrubaker/master
Moved default settings into Properties.json and removed default confi…
This commit is contained in:
commit
c6e0cca395
7 changed files with 1394 additions and 448 deletions
|
|
@ -201,52 +201,5 @@ namespace MatterHackers.MatterControl.DataStorage.ClassicDB
|
|||
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
private static void LoadDefaultConfigrationSettings(List<ClassicSettingsLayer> settings)
|
||||
{
|
||||
SliceSettingsCollection defaultCollection = new SliceSettingsCollection();
|
||||
defaultCollection.Name = "__default__";
|
||||
ClassicSettingsLayer defaultSettingsLayer = LoadConfigurationSettingsFromFile(Path.Combine("PrinterSettings", "config.ini"), defaultCollection);
|
||||
|
||||
settings.Add(defaultSettingsLayer);
|
||||
}
|
||||
|
||||
private static ClassicSettingsLayer LoadConfigurationSettingsFromFile(string pathAndFileName, SliceSettingsCollection collection)
|
||||
{
|
||||
Dictionary<string, SliceSetting> settingsDictionary = new Dictionary<string, SliceSetting>();
|
||||
ClassicSettingsLayer activeCollection;
|
||||
try
|
||||
{
|
||||
if (StaticData.Instance.FileExists(pathAndFileName))
|
||||
{
|
||||
foreach (string line in StaticData.Instance.ReadAllLines(pathAndFileName))
|
||||
{
|
||||
//Ignore commented lines
|
||||
if (!line.StartsWith("#"))
|
||||
{
|
||||
string[] settingLine = line.Split('=');
|
||||
string keyName = settingLine[0].Trim();
|
||||
string settingDefaultValue = settingLine[1].Trim();
|
||||
|
||||
SliceSetting sliceSetting = new SliceSetting();
|
||||
sliceSetting.Name = keyName;
|
||||
sliceSetting.Value = settingDefaultValue;
|
||||
|
||||
settingsDictionary.Add(keyName, sliceSetting);
|
||||
}
|
||||
}
|
||||
activeCollection = new ClassicSettingsLayer(collection, settingsDictionary);
|
||||
return activeCollection;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.Print(e.Message);
|
||||
GuiWidget.BreakInDebugger();
|
||||
Debug.WriteLine(string.Format("Error loading configuration: {0}", e));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -384,15 +384,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
string baseConfigPath = Path.Combine(profilesPath, "config.json");
|
||||
if(!File.Exists(baseConfigPath))
|
||||
{
|
||||
string configIniPath = Path.Combine("PrinterSettings", "config.ini");
|
||||
|
||||
SettingsLayer baseLayer;
|
||||
|
||||
using (var sourceStream = StaticData.Instance.OpenSteam(configIniPath))
|
||||
using (var reader = new StreamReader(sourceStream))
|
||||
{
|
||||
baseLayer = SettingsLayer.LoadFromIni(reader);
|
||||
}
|
||||
SettingsLayer baseLayer = SliceSettingsOrganizer.Instance.GetDefaultSettings();
|
||||
File.WriteAllText(baseConfigPath, JsonConvert.SerializeObject(baseLayer));
|
||||
|
||||
return baseLayer;
|
||||
|
|
|
|||
|
|
@ -69,6 +69,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
public bool ResetAtEndOfPrint { get; set; }
|
||||
|
||||
public string DefaultValue { get; set; }
|
||||
|
||||
static public OrganizerSettingsData NewOrganizerSettingData(string slicerConfigName, string presentationName, OrganizerSettingsData.DataEditTypes dataEditType, string extraSettings = "", string helpText = "")
|
||||
{
|
||||
return new OrganizerSettingsData(slicerConfigName, presentationName, dataEditType, extraSettings, helpText);
|
||||
|
|
@ -114,13 +116,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
set { name = value; }
|
||||
}
|
||||
|
||||
private List<OrganizerSettingsData> settingDataList = new List<OrganizerSettingsData>();
|
||||
|
||||
public List<OrganizerSettingsData> SettingDataList
|
||||
{
|
||||
get { return settingDataList; }
|
||||
set { settingDataList = value; }
|
||||
}
|
||||
public List<OrganizerSettingsData> SettingDataList { get; private set; } = new List<OrganizerSettingsData>();
|
||||
|
||||
public OrganizerSubGroup(string groupName)
|
||||
{
|
||||
|
|
@ -218,13 +214,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
set { userLevels = value; }
|
||||
}
|
||||
|
||||
private List<OrganizerSettingsData> settingsData = new List<OrganizerSettingsData>();
|
||||
|
||||
public List<OrganizerSettingsData> SettingsData
|
||||
{
|
||||
get { return settingsData; }
|
||||
set { settingsData = value; }
|
||||
}
|
||||
public List<OrganizerSettingsData> SettingsData { get; private set; } = new List<OrganizerSettingsData>();
|
||||
|
||||
private static SliceSettingsOrganizer instance = null;
|
||||
|
||||
|
|
@ -292,10 +282,28 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
//throw new Exception("You must not have a layout for a setting that is not in the Properties.txt");
|
||||
}
|
||||
|
||||
public void SavePropertiesJson()
|
||||
{
|
||||
SettingsLayer baseLayer = ActiveSliceSettings.Instance.BaseLayer;
|
||||
|
||||
foreach (KeyValuePair<string, string> keyValue in baseLayer)
|
||||
{
|
||||
foreach(OrganizerSettingsData setting in SettingsData)
|
||||
{
|
||||
if(setting.SlicerConfigName == keyValue.Key)
|
||||
{
|
||||
setting.DefaultValue = keyValue.Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
string propertiesFileContents = JsonConvert.SerializeObject(SettingsData, Formatting.Indented);
|
||||
File.WriteAllText("Properties.json", propertiesFileContents);
|
||||
}
|
||||
|
||||
private void LoadAndParseSettingsFiles()
|
||||
{
|
||||
string propertiesFileContents = StaticData.Instance.ReadAllText(Path.Combine("SliceSettings", "Properties.json"));
|
||||
settingsData = JsonConvert.DeserializeObject<List<OrganizerSettingsData>>(propertiesFileContents) as List<OrganizerSettingsData>;
|
||||
SettingsData = JsonConvert.DeserializeObject<List<OrganizerSettingsData>>(propertiesFileContents) as List<OrganizerSettingsData>;
|
||||
|
||||
OrganizerUserLevel userLevelToAddTo = null;
|
||||
OrganizerCategory categoryToAddTo = null;
|
||||
|
|
@ -354,5 +362,17 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
return numSpaces;
|
||||
}
|
||||
|
||||
public SettingsLayer GetDefaultSettings()
|
||||
{
|
||||
Dictionary<string, string> settingsDictionary = new Dictionary<string, string>();
|
||||
|
||||
foreach(OrganizerSettingsData settingsData in this.SettingsData)
|
||||
{
|
||||
settingsDictionary[settingsData.SlicerConfigName] = settingsData.DefaultValue;
|
||||
}
|
||||
|
||||
return new SettingsLayer(settingsDictionary);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -718,8 +718,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
if (!ActiveSliceSettings.Instance.KnownSettings.Contains(settingData.SlicerConfigName))
|
||||
{
|
||||
// the setting we think we are adding is not in the config.ini it may have been deprecated
|
||||
TextWidget settingName = new TextWidget(String.Format("Setting '{0}' not found in config.ini", settingData.SlicerConfigName));
|
||||
// the setting we think we are adding is not in the known settings it may have been deprecated
|
||||
TextWidget settingName = new TextWidget(String.Format("Setting '{0}' not found in known settings", settingData.SlicerConfigName));
|
||||
settingName.TextColor = ActiveTheme.Instance.PrimaryTextColor;
|
||||
//settingName.MinimumSize = new Vector2(minSettingNameWidth, settingName.MinimumSize.y);
|
||||
nameArea.AddChild(settingName);
|
||||
|
|
|
|||
|
|
@ -1,180 +0,0 @@
|
|||
avoid_crossing_perimeters = 1
|
||||
bed_shape = rectangular
|
||||
bed_size = 200,200
|
||||
bed_temperature = 70
|
||||
before_toolchange_gcode =
|
||||
bottom_clip_amount = 0
|
||||
bottom_solid_layers = 1mm
|
||||
bridge_acceleration = 0
|
||||
bridge_fan_speed = 100
|
||||
bridge_flow_ratio = 1
|
||||
bridge_speed = 20
|
||||
brim_width = 0
|
||||
build_height = 0
|
||||
cancel_gcode =
|
||||
center_part_on_bed = 1
|
||||
complete_objects = 0
|
||||
connect_gcode =
|
||||
cool_extruder_lift = 0
|
||||
print_leveling_solution = 3 Point Plane
|
||||
print_leveling_method = Manual
|
||||
print_leveling_required_to_print = 0
|
||||
manual_probe_paper_width = .1
|
||||
cooling = 1
|
||||
create_raft = 0
|
||||
default_acceleration = 0
|
||||
disable_fan_first_layers = 1
|
||||
end_gcode = M104 S0 ; turn off temperature\nG28 X0 ; home X axis\nM84 ; disable motors
|
||||
external_perimeter_speed = 70%
|
||||
external_perimeters_first = 0
|
||||
extra_perimeters = 1
|
||||
extruder_clearance_height = 20
|
||||
extruder_clearance_radius = 20
|
||||
extruder_count = 1
|
||||
extruder_offset = 0x0,0x0,0x0,0x0
|
||||
extruder_wipe_temperature = 0
|
||||
extruders_share_temperature = 0
|
||||
extrusion_axis = E
|
||||
extrusion_multiplier = 1
|
||||
extrusion_width = 0
|
||||
fan_always_on = 0
|
||||
fan_below_layer_time = 60
|
||||
filament_diameter = 3
|
||||
fill_angle = 45
|
||||
fill_density = 0.4
|
||||
fill_pattern = honeycomb
|
||||
first_layer_acceleration = 0
|
||||
first_layer_bed_temperature = 75
|
||||
first_layer_extrusion_width = 100%
|
||||
first_layer_height = 0.3
|
||||
first_layer_speed = 30%
|
||||
first_layer_temperature = 205
|
||||
g0 = 0
|
||||
gap_fill_speed = 20
|
||||
gcode_arcs = 0
|
||||
gcode_comments = 0
|
||||
gcode_flavor = reprap
|
||||
has_fan = 1
|
||||
has_hardware_leveling = 0
|
||||
has_heated_bed = 1
|
||||
has_power_control=0
|
||||
has_sd_card_reader = 0
|
||||
show_reset_connection = 0
|
||||
heat_extruder_before_homing = 0
|
||||
include_firmware_updater = None
|
||||
infill_acceleration = 0
|
||||
infill_every_layers = 1
|
||||
infill_extruder = 1
|
||||
infill_extrusion_width = 0
|
||||
infill_first = 0
|
||||
infill_only_where_needed = 0
|
||||
infill_overlap_perimeter = .1
|
||||
infill_speed = 60
|
||||
infill_type = TRIANGLES
|
||||
layer_gcode = ; LAYER:[layer_num]
|
||||
layer_height = 0.4
|
||||
layer_to_pause =
|
||||
MatterControl.PrinterName =
|
||||
MatterControl.BaudRate = 250000
|
||||
MatterControl.DeletePrinter =
|
||||
MatterControl.ComPort =
|
||||
MatterControl.AutoConnect = true
|
||||
max_fan_speed = 100
|
||||
min_extrusion_before_retract = .1
|
||||
min_fan_speed = 35
|
||||
min_print_speed = 10
|
||||
min_skirt_length = 0
|
||||
notes =
|
||||
nozzle_diameter = 0.5
|
||||
only_retract_when_crossing_perimeters = 1
|
||||
ooze_prevention = 0
|
||||
output_filename_format = [input_filename_base].gcode
|
||||
output_only_first_layer = 0
|
||||
overhangs = 1
|
||||
pause_gcode =
|
||||
perimeter_acceleration = 0
|
||||
perimeter_extruder = 1
|
||||
perimeter_extrusion_width = 0
|
||||
external_perimeter_extrusion_width = 100%
|
||||
perimeter_speed = 30
|
||||
perimeters = 3
|
||||
post_process =
|
||||
print_center = 100,100
|
||||
raft_air_gap = .2
|
||||
raft_extruder = 0
|
||||
raft_extra_distance_around_part = 5
|
||||
raft_fan_speed_percent = 100
|
||||
raft_layers = 0
|
||||
raft_print_speed = 100%
|
||||
bed_remove_part_temperature = 0
|
||||
randomize_start = 0
|
||||
repair_outlines_extensive_stitching = 0
|
||||
repair_outlines_keep_open = 0
|
||||
resolution = 0
|
||||
resume_first_layer_speed = 10
|
||||
resume_gcode =
|
||||
resume_position_before_z_home = 0,0
|
||||
retract_before_travel = 20
|
||||
retract_layer_change = 1
|
||||
retract_length = 1
|
||||
retract_length_tool_change = 10
|
||||
retract_lift = 0
|
||||
retract_restart_extra = 0
|
||||
retract_restart_extra_toolchange = 0
|
||||
retract_when_changing_islands = 1
|
||||
retract_speed = 30
|
||||
skirt_distance = 6
|
||||
skirt_height = 1
|
||||
skirts = 1
|
||||
brims = 0
|
||||
slowdown_below_layer_time = 30
|
||||
small_perimeter_speed = 30
|
||||
solid_fill_pattern = rectilinear
|
||||
solid_infill_below_area = 70
|
||||
solid_infill_every_layers = 0
|
||||
solid_infill_extrusion_width = 0
|
||||
solid_infill_speed = 60
|
||||
solid_shell = 0
|
||||
spiral_vase = 0
|
||||
standby_temperature_delta = -5
|
||||
start_gcode = G28 ; home all axes\nG1 Z5 F5000 ; lift nozzle
|
||||
start_perimeters_at_concave_points = 0
|
||||
start_perimeters_at_non_overhang = 0
|
||||
support_air_gap = .3
|
||||
support_material = 0
|
||||
support_material_angle = 45
|
||||
support_material_percent = 50
|
||||
support_material_create_internal_support = 1
|
||||
support_material_create_perimeter = 1
|
||||
support_material_enforce_layers = 0
|
||||
support_material_extruder = 1
|
||||
support_material_extrusion_width = 0
|
||||
support_material_infill_angle = 45
|
||||
support_material_interface_extruder = 1
|
||||
support_material_interface_layers = .9mm
|
||||
support_material_interface_spacing = 0
|
||||
support_material_pattern = honeycomb
|
||||
support_material_spacing = 2.5
|
||||
support_material_speed = 60
|
||||
support_material_threshold = 0
|
||||
support_material_xy_distance = 0.7
|
||||
support_material_z_distance = 0.15
|
||||
support_material_z_gap_layers = .3mm
|
||||
support_type = LINES
|
||||
temperature = 200
|
||||
thin_walls = 1
|
||||
threads = 2
|
||||
toolchange_gcode =
|
||||
top_infill_extrusion_width = 0
|
||||
top_solid_infill_speed = 50
|
||||
top_solid_layers = 1mm
|
||||
travel_speed = 130
|
||||
use_firmware_retraction = 0
|
||||
use_relative_e_distances = 0
|
||||
vibration_limit = 0
|
||||
wipe = 0
|
||||
wipe_shield_distance = 0
|
||||
wipe_tower_size = 0
|
||||
z_can_be_negative = 0
|
||||
z_homes_to_max = 0
|
||||
z_offset = 0
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -4978,3 +4978,21 @@ Translated:Export Cura settings (*.ini)
|
|||
English:Export Settings
|
||||
Translated:Export Settings
|
||||
|
||||
English:Resetting to default values will remove your current overrides and restore your original printer settings.\nAre you sure you want to continue?
|
||||
Translated:Resetting to default values will remove your current overrides and restore your original printer settings.\nAre you sure you want to continue?
|
||||
|
||||
English:Revert Settings
|
||||
Translated:Revert Settings
|
||||
|
||||
English:Import as new printer profile
|
||||
Translated:Import as new printer profile
|
||||
|
||||
English:Merge into current printer profile
|
||||
Translated:Merge into current printer profile
|
||||
|
||||
English:Replace current printer profile
|
||||
Translated:Replace current printer profile
|
||||
|
||||
English:Import Settings
|
||||
Translated:Import Settings
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue