diff --git a/UltiMaker-Cura.spec.jinja b/UltiMaker-Cura.spec.jinja index d618ca3309..6d06ab7ff9 100644 --- a/UltiMaker-Cura.spec.jinja +++ b/UltiMaker-Cura.spec.jinja @@ -75,7 +75,7 @@ app = BUNDLE( coll, name='{{ display_name }}.app', icon={{ icon }}, - bundle_identifier={{ osx_bundle_identifier }} + "_" + '{{ display_name }}'.replace(" ", "_") + "_" {{ short_version }}, + bundle_identifier={{ osx_bundle_identifier }} + "_" + '{{ display_name }}'.replace(" ", "_"), version={{ version }}, info_plist={ 'CFBundleDisplayName': '{{ display_name }}', diff --git a/packaging/MacOS/build_macos.py b/packaging/MacOS/build_macos.py index a495a02769..a7063f688d 100644 --- a/packaging/MacOS/build_macos.py +++ b/packaging/MacOS/build_macos.py @@ -154,7 +154,7 @@ if __name__ == "__main__": parser.add_argument("--app_name", required = True, type = str, help = "Filename of the .app that will be contained within the dmg/pkg") args = parser.parse_args() - cura_version = args.cura_conan_version.split("/")[-1] + cura_version = args.cura_conan_version.replace("+","-") # + is not allowed for bundle identifier app_name = f"{args.app_name}.app" diff --git a/plugins/MachineSettingsAction/MachineSettingsPrinterTab.qml b/plugins/MachineSettingsAction/MachineSettingsPrinterTab.qml index c2238d2205..d40efbee8a 100644 --- a/plugins/MachineSettingsAction/MachineSettingsPrinterTab.qml +++ b/plugins/MachineSettingsAction/MachineSettingsPrinterTab.qml @@ -214,7 +214,7 @@ Item settingStoreIndex: propertyStoreIndex - labelText: catalog.i18nc("@label", "Y min") + labelText: catalog.i18nc("@label", "Y min ( '-' towards back)") labelFont: base.labelFont labelWidth: base.labelWidth controlWidth: base.controlWidth @@ -254,7 +254,7 @@ Item settingKey: "machine_head_with_fans_polygon" settingStoreIndex: propertyStoreIndex - labelText: catalog.i18nc("@label", "Y max") + labelText: catalog.i18nc("@label", "Y max ( '+' towards front)") labelFont: base.labelFont labelWidth: base.labelWidth controlWidth: base.controlWidth diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index c930a624d0..c1392e57ba 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -384,6 +384,7 @@ "RepRap (RepRap)": "RepRap", "UltiGCode": "Ultimaker 2", "Griffin": "Griffin", + "Cheetah": "Griffin+Cheetah", "Makerbot": "Makerbot", "BFB": "Bits from Bytes", "MACH3": "Mach3", @@ -461,7 +462,7 @@ "machine_head_with_fans_polygon": { "label": "Machine Head & Fan Polygon", - "description": "The shape of the print head. These are coordinates relative to the position of the print head, which is usually the position of its first extruder. The dimensions left and in front of the print head must be negative coordinates.", + "description": "The dimensions of the print head used to determine 'Safe Model Distance' when printing 'One at a Time'. These numbers relate to the centerline of the first extruder nozzle. Left of the nozzle is 'X Min' and must be negative. Rear of the nozzle is 'Y Min' and must be negative. X Max (right) and Y Max (front) are positive numbers. Gantry height is the dimension from the build plate to the X gantry beam.", "type": "polygon", "default_value": [ [-20, 10], @@ -4412,6 +4413,21 @@ "settable_per_mesh": false, "settable_per_extruder": true }, + "retraction_combing_avoid_distance": + { + "label": "Inside Travel Avoid Distance", + "description": "The distance between the nozzle and already printed outer walls when travelling inside a model.", + "unit": "mm", + "type": "float", + "default_value": 0, + "value": "machine_nozzle_size * 1.5", + "minimum_value": "0", + "minimum_value_warning": "machine_nozzle_size * 0.5", + "maximum_value_warning": "machine_nozzle_size * 10", + "enabled": "resolveOrValue('retraction_combing') != 'off'", + "settable_per_mesh": false, + "settable_per_extruder": true + }, "travel_retract_before_outer_wall": { "label": "Retract Before Outer Wall", @@ -7485,6 +7501,88 @@ "enabled": "retraction_enable and extruders_enabled_count > 1", "settable_per_mesh": false, "settable_per_extruder": true + }, + "interlocking_enable": + { + "label": "Generate Interlocking Structure", + "description": "At the locations where models touch, generate an interlocking beam structure. This improves the adhesion between models, especially models printed in different materials.", + "type": "bool", + "enabled": "extruders_enabled_count > 1", + "default_value": false, + "resolve": "(extruders_enabled_count > 1) and any(extruderValues('interlocking_enable'))", + "settable_per_mesh": false, + "settable_per_extruder": false + }, + "interlocking_beam_width": + { + "label": "Interlocking Beam Width", + "description": "The width of the interlocking structure beams.", + "type": "float", + "unit": "mm", + "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')", + "default_value": 0.8, + "value": "2 * wall_line_width_0", + "minimum_value": "min_odd_wall_line_width", + "maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)", + "maximum_value_warning": "max(extruderValues('wall_line_width_0')) * 6", + "settable_per_mesh": true, + "settable_per_extruder": true + }, + "interlocking_orientation": + { + "label": "Interlocking Structure Orientation", + "description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.", + "unit": "\u00b0", + "type": "float", + "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')", + "default_value": 22.5, + "minimum_value": "0", + "maximum_value": "360", + "resolve": "min(extruderValues('interlocking_orientation'))", + "settable_per_mesh": false, + "settable_per_extruder": false + }, + "interlocking_beam_layer_count": + { + "label": "Interlocking Beam Layer Count", + "description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.", + "type": "int", + "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')", + "default_value": 2, + "minimum_value": "1", + "maximum_value_warning": "50", + "resolve": "max(extruderValues('interlocking_beam_layer_count'))", + "settable_per_mesh": false, + "settable_per_extruder": false + }, + "interlocking_depth": + { + "label": "Interlocking Depth", + "description": "The distance from the boundary between models to generate interlocking structure, measured in cells. Too few cells will result in poor adhesion.", + "type": "int", + "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')", + "default_value": 2, + "minimum_value": "1", + "maximum_value": "10", + "maximum_value_warning": "5", + "resolve": "max(extruderValues('interlocking_depth'))", + "settable_per_mesh": false, + "settable_per_extruder": false + }, + "interlocking_boundary_avoidance": + { + "label": "Interlocking Boundary Avoidance", + "description": "The distance from the outside of a model where interlocking structures will not be generated, measured in cells.", + "type": "int", + "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')", + "default_value": 2, + "minimum_value": "0", + "minimum_value_warning": "resolveOrValue('interlocking_depth')", + "maximum_value": "10", + "maximum_value_warning": "5", + "resolve": "max(extruderValues('interlocking_boundary_avoidance'))", + "settable_per_mesh": false, + "settable_per_extruder": false } } }, @@ -7907,88 +8005,6 @@ "settable_per_mesh": true, "settable_per_extruder": false }, - "interlocking_enable": - { - "label": "Generate Interlocking Structure", - "description": "At the locations where models touch, generate an interlocking beam structure. This improves the adhesion between models, especially models printed in different materials.", - "type": "bool", - "enabled": "extruders_enabled_count > 1", - "default_value": false, - "resolve": "(extruders_enabled_count > 1) and any(extruderValues('interlocking_enable'))", - "settable_per_mesh": false, - "settable_per_extruder": false - }, - "interlocking_beam_width": - { - "label": "Interlocking Beam Width", - "description": "The width of the interlocking structure beams.", - "type": "float", - "unit": "mm", - "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')", - "default_value": 0.8, - "value": "2 * wall_line_width_0", - "minimum_value": "min_odd_wall_line_width", - "maximum_value": "min(0.5 * machine_width, 0.5 * machine_depth)", - "maximum_value_warning": "max(extruderValues('wall_line_width_0')) * 6", - "settable_per_mesh": true, - "settable_per_extruder": true - }, - "interlocking_orientation": - { - "label": "Interlocking Structure Orientation", - "description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.", - "unit": "\u00b0", - "type": "float", - "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')", - "default_value": 22.5, - "minimum_value": "0", - "maximum_value": "360", - "resolve": "min(extruderValues('interlocking_orientation'))", - "settable_per_mesh": false, - "settable_per_extruder": false - }, - "interlocking_beam_layer_count": - { - "label": "Interlocking Beam Layer Count", - "description": "The height of the beams of the interlocking structure, measured in number of layers. Less layers is stronger, but more prone to defects.", - "type": "int", - "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')", - "default_value": 2, - "minimum_value": "1", - "maximum_value_warning": "50", - "resolve": "max(extruderValues('interlocking_beam_layer_count'))", - "settable_per_mesh": false, - "settable_per_extruder": false - }, - "interlocking_depth": - { - "label": "Interlocking Depth", - "description": "The distance from the boundary between models to generate interlocking structure, measured in cells. Too few cells will result in poor adhesion.", - "type": "int", - "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')", - "default_value": 2, - "minimum_value": "1", - "maximum_value": "10", - "maximum_value_warning": "5", - "resolve": "max(extruderValues('interlocking_depth'))", - "settable_per_mesh": false, - "settable_per_extruder": false - }, - "interlocking_boundary_avoidance": - { - "label": "Interlocking Boundary Avoidance", - "description": "The distance from the outside of a model where interlocking structures will not be generated, measured in cells.", - "type": "int", - "enabled": "extruders_enabled_count > 1 and resolveOrValue('interlocking_enable')", - "default_value": 2, - "minimum_value": "0", - "minimum_value_warning": "resolveOrValue('interlocking_depth')", - "maximum_value": "10", - "maximum_value_warning": "5", - "resolve": "max(extruderValues('interlocking_boundary_avoidance'))", - "settable_per_mesh": false, - "settable_per_extruder": false - }, "support_skip_some_zags": { "label": "Break Up Support In Chunks", diff --git a/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.2mm_visual.inst.cfg b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.2mm_visual.inst.cfg new file mode 100644 index 0000000000..6a81905545 --- /dev/null +++ b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-pla-175_0.2mm_visual.inst.cfg @@ -0,0 +1,42 @@ +[general] +definition = ultimaker_sketch_sprint +name = Visual +version = 4 + +[metadata] +intent_category = visual +is_experimental = True +material = ultimaker_pla_175 +quality_type = draft +setting_version = 24 +type = intent +variant = 0.4mm + +[values] +acceleration_roofing = 1500 +acceleration_wall_0_roofing = 1500 +acceleration_wall_x_roofing = 1500 +cool_min_temperature = 220.0 +hole_xy_offset = 0.2 +hole_xy_offset_max_diameter = 3 +inset_direction = inside_out +line_width = 0.4 +material_final_print_temperature = =material_print_temperature +material_initial_print_temperature = =material_print_temperature +material_print_temperature = 220 +min_bead_width = 0.34 +min_wall_line_width = 0.34 +roofing_line_width = 0.35 +roofing_monotonic = False +roofing_pattern = lines +skin_monotonic = False +skin_outline_count = 0 +skin_overlap = 25 +small_feature_max_length = 25 +small_feature_speed_factor = 40 +small_hole_max_size = 4.5 +small_skin_width = 4 +speed_roofing = 100 +wall_line_width_x = 0.4 +z_seam_type = back + diff --git a/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.2mm_visual.inst.cfg b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.2mm_visual.inst.cfg new file mode 100644 index 0000000000..1635985b89 --- /dev/null +++ b/resources/intent/ultimaker_sketch_sprint/um_sketch_sprint_0.4mm_um-tough-pla-175_0.2mm_visual.inst.cfg @@ -0,0 +1,42 @@ +[general] +definition = ultimaker_sketch_sprint +name = Visual +version = 4 + +[metadata] +intent_category = visual +is_experimental = True +material = ultimaker_tough_pla_175 +quality_type = draft +setting_version = 24 +type = intent +variant = 0.4mm + +[values] +acceleration_roofing = 1500 +acceleration_wall_0_roofing = 1500 +acceleration_wall_x_roofing = 1500 +cool_min_temperature = 220.0 +hole_xy_offset = 0.2 +hole_xy_offset_max_diameter = 3 +inset_direction = inside_out +line_width = 0.4 +material_final_print_temperature = =material_print_temperature +material_initial_print_temperature = =material_print_temperature +material_print_temperature = 220 +min_bead_width = 0.34 +min_wall_line_width = 0.34 +roofing_line_width = 0.35 +roofing_monotonic = False +roofing_pattern = lines +skin_monotonic = False +skin_outline_count = 0 +skin_overlap = 25 +small_feature_max_length = 25 +small_feature_speed_factor = 40 +small_hole_max_size = 4.5 +small_skin_width = 4 +speed_roofing = 100 +wall_line_width_x = 0.4 +z_seam_type = back + diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index a686fca8e5..62cab53a78 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -669,12 +669,12 @@ UM.PreferencesPage { width: childrenRect.width height: childrenRect.height - text: catalog.i18nc("@info:tooltip", "Should the Y axis of the translate toolhandle be flipped?") + text: catalog.i18nc("@info:tooltip", "Should the Y axis of the translate toolhandle be flipped? This will only affect model's Y coordinate, all other settings such as machine Printhead settings are unaffected and still behave as before.") UM.CheckBox { id: flipToolhandleYCheckbox - text: catalog.i18nc("@option:check", "Flip toolhandle Y axis") + text: catalog.i18nc("@option:check", "Flip model's toolhandle Y axis (restart required)") checked: boolCheck(UM.Preferences.getValue("tool/flip_y_axis_tool_handle")) onCheckedChanged: UM.Preferences.setValue("tool/flip_y_axis_tool_handle", checked) } diff --git a/resources/setting_visibility/advanced.cfg b/resources/setting_visibility/advanced.cfg index 93c3dc91ef..8585a05eec 100644 --- a/resources/setting_visibility/advanced.cfg +++ b/resources/setting_visibility/advanced.cfg @@ -133,6 +133,7 @@ prime_tower_mode prime_tower_position_x prime_tower_position_y prime_tower_brim_enable +interlocking_enable [meshfix] @@ -144,7 +145,6 @@ magic_spiralize smooth_spiralized_contours [experimental] -interlocking_enable conical_overhang_enabled support_conical_enabled adaptive_layer_height_enabled diff --git a/resources/setting_visibility/basic.cfg b/resources/setting_visibility/basic.cfg index 0193eb26ba..6c6124ab67 100644 --- a/resources/setting_visibility/basic.cfg +++ b/resources/setting_visibility/basic.cfg @@ -56,6 +56,7 @@ adhesion_extruder_nr prime_tower_enable prime_tower_position_x prime_tower_position_y +interlocking_enable [meshfix] diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index b13618e5c1..6c78e40503 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -378,6 +378,12 @@ prime_tower_min_shell_thickness ooze_shield_enabled ooze_shield_angle ooze_shield_dist +interlocking_enable +interlocking_beam_width +interlocking_orientation +interlocking_beam_layer_count +interlocking_dept +interlocking_boundary_avoidance [meshfix] meshfix_union_all @@ -428,12 +434,6 @@ roofing_monotonic roofing_angles infill_enable_travel_optimization material_flow_temp_graph -interlocking_enable -interlocking_beam_width -interlocking_orientation -interlocking_beam_layer_count -interlocking_dept -interlocking_boundary_avoidance support_skip_some_zags support_skip_zag_per_mm support_zag_skip_count