diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 0df64dbacb..e2719b7a5d 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1,6 +1,7 @@ -# Copyright (c) 2017 Ultimaker B.V. -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. +#Type hinting. +from typing import Dict from PyQt5.QtNetwork import QLocalServer from PyQt5.QtNetwork import QLocalSocket @@ -96,6 +97,7 @@ import os import argparse import json + numpy.seterr(all="ignore") MYPY = False @@ -349,7 +351,7 @@ class CuraApplication(QtApplication): preferences.setDefault("local_file/last_used_type", "text/x-gcode") - setting_visibily_preset_names = self.getVisibilitySettingsPresetTypes() + setting_visibily_preset_names = self.getVisibilitySettingPresetTypes() preferences.setDefault("general/visible_settings_preset", setting_visibily_preset_names) visible_settings_preset_choice = Preferences.getInstance().getValue("general/visible_settings_preset_choice") @@ -373,30 +375,29 @@ class CuraApplication(QtApplication): self.getCuraSceneController().setActiveBuildPlate(0) # Initialize - @pyqtSlot(str, result=str) - def getVisibilitySettingPreset(self, settings_preset_name): - + @pyqtSlot(str, result = str) + def getVisibilitySettingPreset(self, settings_preset_name) -> str: result = self._load_visibilyty_setting_preset(settings_preset_name) - formatted_preset_settings = self.format_visibility_setting_preset(result) return formatted_preset_settings - def format_visibility_setting_preset(self, settings_data): - + ## Format visibitlity settings into string which is concatenated by ";" + # + def format_visibility_setting_preset(self, settings_data) -> str: result_string = "" for key in settings_data: result_string += key + ";" - for value in settings_data[key]: result_string += value + ";" return result_string - - def _load_visibilyty_setting_preset(self, visibility_preset_name): - preset_dir = Resources.getPath(Resources.VisibilitySettingsPreset) + ## Load visibility settings according to selected preset name + # + def _load_visibilyty_setting_preset(self, visibility_preset_name) -> Dict[str, str]: + preset_dir = Resources.getPath(Resources.VisibilitySettingPresets) result = {} right_preset_found = False @@ -434,8 +435,10 @@ class CuraApplication(QtApplication): return result - def getVisibilitySettingsPresetTypes(self): - preset_dir = Resources.getPath(Resources.VisibilitySettingsPreset) + ## Check visibility setting preset folder and returns available types + # + def getVisibilitySettingPresetTypes(self): + preset_dir = Resources.getPath(Resources.VisibilitySettingPresets) result = {} for item in os.listdir(preset_dir): diff --git a/resources/qml/Preferences/SettingVisibilityPage.qml b/resources/qml/Preferences/SettingVisibilityPage.qml index e1707fa196..967c0d05bf 100644 --- a/resources/qml/Preferences/SettingVisibilityPage.qml +++ b/resources/qml/Preferences/SettingVisibilityPage.qml @@ -176,8 +176,6 @@ UM.PreferencesPage if (model.get(index).text == "Custom") return - console.log("SETTING VALUE : " + model.get(index).text) - var newVisibleSettings = CuraApplication.getVisibilitySettingPreset(model.get(index).text) UM.Preferences.setValue("general/visible_settings", newVisibleSettings) UM.Preferences.setValue("general/visible_settings_preset_choice", model.get(index).text) diff --git a/resources/visibility_presets/advanced.cfg b/resources/visibility_presets/advanced.cfg index 335ae67afe..ab2d2faa99 100644 --- a/resources/visibility_presets/advanced.cfg +++ b/resources/visibility_presets/advanced.cfg @@ -6,27 +6,249 @@ weight = 2 [resolution] layer_height +layer_height_0 +slicing_tolerance +line_width [shell] +wall_extruder_nr +wall_thickness +wall_0_wipe_dist +roofing_extruder_nr +roofing_layer_count +roofing_pattern +roofing_angles +top_bottom_extruder_nr +top_bottom_thickness +top_bottom_pattern +top_bottom_pattern_0 +skin_angles +wall_0_inset +optimize_wall_printing_order +outer_inset_first +alternate_extra_perimeter +travel_compensate_overlapping_walls_enabled +fill_perimeter_gaps +filter_out_tiny_gaps +fill_outline_gaps +xy_offset +xy_offset_layer_0 +z_seam_type +z_seam_x +z_seam_y +z_seam_corner +z_seam_relative +skin_no_small_gaps_heuristic +skin_outline_count +ironing_enabled +ironing_only_highest_layer +ironing_pattern +ironing_line_spacing +ironing_flow +ironing_inset +speed_ironing +acceleration_ironing +jerk_ironing [infill] +infill_extruder_nr +infill_sparse_density +infill_pattern +zig_zaggify_infill +infill_angles +infill_offset_x +infill_offset_y +sub_div_rad_add +infill_overlap +skin_overlap +infill_wipe_dist +infill_sparse_thickness +gradual_infill_steps +gradual_infill_step_height +infill_before_walls +min_infill_area +skin_preshrink +expand_skins_expand_distance +max_skin_angle_for_expansion +infill_enable_travel_optimization [material] +material_flow_dependent_temperature +default_material_print_temperature +material_print_temperature +material_print_temperature_layer_0 +material_initial_print_temperature +material_final_print_temperature +material_flow_temp_graph +material_extrusion_cool_down_speed +default_material_bed_temperature +material_bed_temperature +material_bed_temperature_layer_0 +material_diameter +material_adhesion_tendency +material_surface_energy +material_flow +retraction_enable +retract_at_layer_change +retraction_amount +retraction_speed +retraction_extra_prime_amount +retraction_min_travel +retraction_count_max +retraction_extrusion_window +material_standby_temperature +switch_extruder_retraction_amount +switch_extruder_retraction_speeds [speed] +speed_print +speed_travel +speed_layer_0 +skirt_brim_speed +max_feedrate_z_override +speed_slowdown_layers +speed_equalize_flow_enabled +speed_equalize_flow_max +acceleration_enabled +acceleration_print +acceleration_travel +acceleration_layer_0 +acceleration_skirt_brim +jerk_enabled +jerk_print +jerk_travel +jerk_layer_0 +jerk_skirt_brim [travel] +retraction_combing +travel_retract_before_outer_wall +travel_avoid_other_parts +travel_avoid_distance +start_layers_at_same_position +layer_start_x +layer_start_y +retraction_hop_enabled +retraction_hop_only_when_collides +retraction_hop +retraction_hop_after_extruder_switch [cooling] +cool_fan_enabled +cool_fan_speed +cool_min_layer_time_fan_speed_max +cool_fan_speed_0 +cool_fan_full_at_height +cool_min_layer_time +cool_min_speed +cool_lift_head [support] +support_enable +support_tree_enable +support_extruder_nr +support_type +support_angle +support_pattern +support_connect_zigzags +support_infill_rate +support_z_distance +support_xy_distance +support_xy_overrides_z +support_xy_distance_overhang +support_bottom_stair_step_height +support_bottom_stair_step_width +support_join_distance +support_offset +support_infill_sparse_thickness +support_tree_angle +support_tree_branch_distance +support_tree_branch_diameter +support_tree_branch_diameter_angle +support_tree_collision_resolution +support_tree_wall_thickness +gradual_support_infill_steps +gradual_support_infill_step_height +support_interface_enable +support_interface_height +support_interface_skip_height +support_interface_density +support_interface_pattern +support_use_towers +support_tower_diameter +support_minimal_diameter +support_tower_roof_angle +support_mesh_drop_down [platform_adhesion] +prime_blob_enable +extruder_prime_pos_x +extruder_prime_pos_y +adhesion_type +adhesion_extruder_nr +skirt_line_count +skirt_gap +skirt_brim_minimal_length +brim_width +brim_outside_only +raft_margin +raft_smoothing +raft_airgap +layer_0_z_overlap +raft_surface_layers +raft_surface_thickness +raft_surface_line_width +raft_surface_line_spacing +raft_interface_thickness +raft_interface_line_width +raft_interface_line_spacing +raft_base_thickness +raft_base_line_width +raft_base_line_spacing +raft_speed +raft_acceleration +raft_jerk +raft_fan_speed [dual] +prime_tower_enable +prime_tower_size +prime_tower_min_volume +prime_tower_position_x +prime_tower_position_y +prime_tower_flow +prime_tower_wipe_enabled +dual_pre_wipe +prime_tower_purge_volume +ooze_shield_enabled +ooze_shield_angle +ooze_shield_dist [meshfix] +meshfix_union_all +meshfix_union_all_remove_holes +meshfix_extensive_stitching +meshfix_keep_open_polygons +meshfix_maximum_resolution +multiple_mesh_overlap +carve_multiple_volumes +alternate_carve_order +remove_empty_first_layers [blackmagic] +print_sequence +infill_mesh +infill_mesh_order +cutting_mesh +mold_enabled +mold_width +mold_roof_height +mold_angle +support_mesh +anti_overhang_mesh +magic_mesh_surface_mode +magic_spiralize +smooth_spiralized_contours +relative_extrusion [experimental] \ No newline at end of file diff --git a/resources/visibility_presets/expert.cfg b/resources/visibility_presets/expert.cfg index 130c75c6b9..38e756e6b8 100644 --- a/resources/visibility_presets/expert.cfg +++ b/resources/visibility_presets/expert.cfg @@ -6,61 +6,280 @@ weight = 3 [resolution] layer_height +layer_height_0 +slicing_tolerance +line_width [shell] +wall_extruder_nr wall_thickness +wall_0_wipe_dist +roofing_extruder_nr +roofing_layer_count +roofing_pattern +roofing_angles +top_bottom_extruder_nr top_bottom_thickness +top_bottom_pattern +top_bottom_pattern_0 +skin_angles +wall_0_inset +optimize_wall_printing_order +outer_inset_first +alternate_extra_perimeter +travel_compensate_overlapping_walls_enabled +fill_perimeter_gaps +filter_out_tiny_gaps +fill_outline_gaps +xy_offset +xy_offset_layer_0 +z_seam_type z_seam_x z_seam_y +z_seam_corner +z_seam_relative +skin_no_small_gaps_heuristic +skin_outline_count +ironing_enabled +ironing_only_highest_layer +ironing_pattern +ironing_line_spacing +ironing_flow +ironing_inset +speed_ironing +acceleration_ironing +jerk_ironing [infill] +infill_extruder_nr infill_sparse_density +infill_pattern +zig_zaggify_infill +infill_angles +infill_offset_x +infill_offset_y +sub_div_rad_add +infill_overlap +skin_overlap +infill_wipe_dist +infill_sparse_thickness gradual_infill_steps +gradual_infill_step_height +infill_before_walls +min_infill_area +skin_preshrink +expand_skins_expand_distance +max_skin_angle_for_expansion +infill_enable_travel_optimization [material] +material_flow_dependent_temperature +default_material_print_temperature material_print_temperature +material_print_temperature_layer_0 +material_initial_print_temperature +material_final_print_temperature +material_flow_temp_graph +material_extrusion_cool_down_speed +default_material_bed_temperature material_bed_temperature +material_bed_temperature_layer_0 material_diameter +material_adhesion_tendency +material_surface_energy material_flow retraction_enable +retract_at_layer_change +retraction_amount +retraction_speed +retraction_extra_prime_amount +retraction_min_travel +retraction_count_max +retraction_extrusion_window +material_standby_temperature +switch_extruder_retraction_amount +switch_extruder_retraction_speeds [speed] speed_print speed_travel +speed_layer_0 +skirt_brim_speed +max_feedrate_z_override +speed_slowdown_layers +speed_equalize_flow_enabled +speed_equalize_flow_max +acceleration_enabled acceleration_print acceleration_travel +acceleration_layer_0 +acceleration_skirt_brim +jerk_enabled jerk_print jerk_travel +jerk_layer_0 +jerk_skirt_brim [travel] +retraction_combing +travel_retract_before_outer_wall +travel_avoid_other_parts +travel_avoid_distance +start_layers_at_same_position +layer_start_x +layer_start_y +retraction_hop_enabled +retraction_hop_only_when_collides +retraction_hop +retraction_hop_after_extruder_switch [cooling] cool_fan_enabled +cool_fan_speed +cool_min_layer_time_fan_speed_max +cool_fan_speed_0 +cool_fan_full_at_height +cool_min_layer_time +cool_min_speed +cool_lift_head [support] support_enable +support_tree_enable support_extruder_nr support_type +support_angle +support_pattern +support_connect_zigzags +support_infill_rate +support_z_distance +support_xy_distance +support_xy_overrides_z +support_xy_distance_overhang +support_bottom_stair_step_height +support_bottom_stair_step_width +support_join_distance +support_offset +support_infill_sparse_thickness +support_tree_angle +support_tree_branch_distance +support_tree_branch_diameter +support_tree_branch_diameter_angle +support_tree_collision_resolution +support_tree_wall_thickness +gradual_support_infill_steps +gradual_support_infill_step_height +support_interface_enable +support_interface_height +support_interface_skip_height +support_interface_density +support_interface_pattern +support_use_towers +support_tower_diameter +support_minimal_diameter +support_tower_roof_angle +support_mesh_drop_down [platform_adhesion] +prime_blob_enable +extruder_prime_pos_x +extruder_prime_pos_y adhesion_type adhesion_extruder_nr +skirt_line_count +skirt_gap +skirt_brim_minimal_length brim_width +brim_outside_only +raft_margin +raft_smoothing raft_airgap layer_0_z_overlap raft_surface_layers +raft_surface_thickness +raft_surface_line_width +raft_surface_line_spacing +raft_interface_thickness +raft_interface_line_width +raft_interface_line_spacing +raft_base_thickness +raft_base_line_width +raft_base_line_spacing +raft_speed +raft_acceleration +raft_jerk +raft_fan_speed [dual] prime_tower_enable prime_tower_size +prime_tower_min_volume prime_tower_position_x prime_tower_position_y +prime_tower_flow +prime_tower_wipe_enabled +dual_pre_wipe +prime_tower_purge_volume +ooze_shield_enabled +ooze_shield_angle +ooze_shield_dist [meshfix] +meshfix_union_all +meshfix_union_all_remove_holes +meshfix_extensive_stitching +meshfix_keep_open_polygons +meshfix_maximum_resolution +multiple_mesh_overlap +carve_multiple_volumes +alternate_carve_order +remove_empty_first_layers [blackmagic] print_sequence infill_mesh +infill_mesh_order cutting_mesh +mold_enabled +mold_width +mold_roof_height +mold_angle +support_mesh +anti_overhang_mesh +magic_mesh_surface_mode +magic_spiralize +smooth_spiralized_contours +relative_extrusion -[experimental] \ No newline at end of file +[experimental] +support_skip_some_zags +support_skip_zag_per_mm +draft_shield_enabled +draft_shield_dist +draft_shield_height_limitation +draft_shield_height +conical_overhang_enabled +conical_overhang_angle +coasting_enable +coasting_volume +coasting_min_volume +coasting_speed +skin_alternate_rotation +cross_infill_pocket_size +cross_infill_apply_pockets_alternatingly +spaghetti_infill_enabled +spaghetti_infill_stepped +spaghetti_max_infill_angle +spaghetti_max_height +spaghetti_inset +spaghetti_flow +spaghetti_infill_extra_volume +support_conical_enabled +support_conical_angle +support_conical_min_width +infill_hollow +magic_fuzzy_skin_enabled +magic_fuzzy_skin_thickness +magic_fuzzy_skin_point_density +flow_rate_max_extrusion_offset +flow_rate_extrusion_offset_factor \ No newline at end of file