diff --git a/03-cura/01-configuration/README.md b/03-cura/01-configuration/README.md new file mode 100644 index 0000000..39a9c7e --- /dev/null +++ b/03-cura/01-configuration/README.md @@ -0,0 +1,63 @@ +# Install Cura Plugins + +- Settings Guide +- Sidebar GUI +- Moonraker Connection +- Material Settings +- Power Cost +- Klipper Settings +- AutoTowers Generator +- Auto-Orientation +- Automatic Slicing Toggle +- Material Cost Tools + +# Disable Cura Plugins + +- USB Printing + + +# Loading Cura Printer Profiles + +Cura loads printer quality configuration files in a stack. +The following files must be present in order for Cura to load a profile. + +## Quality File + +The file `quality/flsun_v400_global__Quality.inst.cfg` defines some global properties for all nozzle sizes and +all materials. Linking global qualities to layer heights is a valid example, but not a must. Cura's intentions seems to +be centred on print speed. + +`` should be replaced with one of the values following values, at least one must be present. + +- Superdraft (e.g. for layer height of `0.4mm`, or a speed of `600mm/s`) +- Verydraft (e.g. for a layer height of `0.3mm`, or a speed of `400mm/s`) +- Draft (e.g. for a layer height of `0.2mm`, or a speed of `300mm/s`) +- Fast (e.g. for a layer height of `0.15mm`, or a speed of `200mm/s`) +- Normal (e.g. for a layer height of `0.1mm`, or a speed of `150mm/s`) +- High (e.g. for a layer height of `0.06mm`, or a speed of `80mm/s`) + +## Variant File + +On top of the global quality file, there needs to be setting file for each variant: +`variants/flsun_v400_.inst.cfg`. The settings in these files are specific to the variant, but are independent +of all quality or material settings. + +Variants can be whatever machine detail you want to choose. Commonly, this is the nozzle size. + +## Specific Settings + +The third layer of the stack is the quality, material, and variant specific settings in +`quality///flsun_v400____Quality.inst.cfg`. + +## Intentions + +Optionally, there can be even more modifications of settings in intent files. +They are stored in the intents folder with the name intent +`/flsun_v400____.inst.cfg`. + +This file can modify settings that are only relevant for specific intents. Examples for intents are + +- Dimensional accuracy +- Visual Quality +- Smooth Surface +- etc diff --git a/03-cura/01-configuration/cura-parameter-list.html b/03-cura/01-configuration/cura-parameter-list.html new file mode 100644 index 0000000..51cee65 --- /dev/null +++ b/03-cura/01-configuration/cura-parameter-list.html @@ -0,0 +1,74 @@ + + + +Settings and replacement patterns + + + +

Settings and replacement patterns

+

Application-defined patterns

+ + +
+

Settings

+

The following settings are defined in fdmprinter.def.json.

+ + +
+

Extruder settings

+

The following settings are defined in fdmextruder.def.json, and are only settable per extruder

+ + +
+ diff --git a/03-cura/01-configuration/definitions/flsun_v400.def.json b/03-cura/01-configuration/definitions/flsun_v400.def.json new file mode 100644 index 0000000..16bc9ab --- /dev/null +++ b/03-cura/01-configuration/definitions/flsun_v400.def.json @@ -0,0 +1,45 @@ +{ + "version": 2, + "name": "Flsun V400", + "inherits": "fdmprinter", + "metadata": + { + "visible": true, + "author": "FLSUN, Guislain Cyril, Frank Zechert", + "manufacturer": "Flsun", + "file_formats": "text/x-gcode", + "platform": "flsun_v400.stl", + "has_machine_quality": true, + "has_materials": true, + "machine_extruder_trains": { "0": "flsun_v400_extruder_0" }, + "platform_offset": [ + 0, + -40.6455, + -43.5 + ] + }, + "overrides": + { + "gantry_height": { "value": "0" }, + "infill_sparse_density": { "default_value": 15 }, + "machine_center_is_zero": { "default_value": true }, + "machine_depth": { "default_value": 300 }, + "machine_end_gcode": { "default_value": "END_PRINT\n" }, + "machine_head_with_fans_polygon": + { + "default_value": [ + [0, 0], + [0, 0], + [0, 0], + [0, 0] + ] + }, + "machine_heated_bed": { "default_value": true }, + "machine_height": { "default_value": 410 }, + "machine_shape": { "default_value": "elliptic" }, + "machine_start_gcode": { "default_value": ";Nozzle diameter = {machine_nozzle_size}\n;Filament type = {material_type}\n;Filament name = {material_brand} {material_name}\n;Filament weight = {filament_weight}\n;M109 S{material_print_temperature}\n;M190 S{material_bed_temperature}\n\nSTART_PRINT BED_TEMP={material_bed_temperature_layer_0} EXTRUDER_TEMP={material_print_temperature_layer_0}\n" }, + "machine_width": { "default_value": 300 }, + "material_diameter": { "default_value": 1.75 }, + "z_seam_type": { "value": "'sharpest_corner'" } + } +} diff --git a/03-cura/01-configuration/extruders/flsun_v400_extruder_0.def.json b/03-cura/01-configuration/extruders/flsun_v400_extruder_0.def.json new file mode 100644 index 0000000..68f3978 --- /dev/null +++ b/03-cura/01-configuration/extruders/flsun_v400_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": + { + "machine": "flsun_v400", + "position": "0" + }, + "overrides": + { + "extruder_nr": { "default_value": 0 }, + "material_diameter": { "default_value": 1.75 } + } +} diff --git a/03-cura/01-configuration/install.sh b/03-cura/01-configuration/install.sh new file mode 100755 index 0000000..972e93a --- /dev/null +++ b/03-cura/01-configuration/install.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +DIR="$(dirname "$(realpath "$0")")" +CURA_CONFIG_BASE="${HOME}/.config/cura" +CURA_FOLDER="/opt/ultimaker-cura" + +function get_cura_directories() { + local VERSION + VERSION=$(find "${CURA_CONFIG_BASE}" -maxdepth 1 -mindepth 1 -type d -printf "%f\n" -prune | sort -gr | head -n1) + CURA_CONFIG="${HOME}/.config/cura/${VERSION}" + CURA_SHARE="${HOME}/.local/share/cura/${VERSION}" + CURA_INTERNAL_SHARE="${CURA_FOLDER}/share/cura/resources" +} + +get_cura_directories + +echo "-------------------" +echo "Cura Configuration Folder: ${CURA_CONFIG}" +echo "Cura Share Folder: ${CURA_SHARE}" +echo "Cura Folder: ${CURA_FOLDER}" +echo "Own Folder: ${DIR}" +echo "-------------------" +echo "Deleting existing Cura resources for the printer FLSUN V400" +find "${CURA_INTERNAL_SHARE}" -type f -iname 'flsun_v400*' -exec sudo rm {} + +echo "-------------------" +echo "Installing new Cura resources for the printer FLSUN V400" +mkdir -p "${CURA_SHARE}/definitions" 2>/dev/null +mkdir -p "${CURA_SHARE}/extruders" 2>/dev/null +mkdir -p "${CURA_SHARE}/meshes" 2>/dev/null +ln -sf "${DIR}/definitions/flsun_v400.def.json" "${CURA_SHARE}/definitions/flsun_v400.def.json" +ln -sf "${DIR}/extruders/flsun_v400_extruder_0.def.json" "${CURA_SHARE}/extruders/flsun_v400_extruder_0.def.json" +ln -sf "${DIR}/meshes/flsun_v400.stl" "${CURA_SHARE}/meshes/flsun_v400.stl" +echo "-------------------" +echo "Installing Quality Profile" +mkdir -p "${CURA_SHARE}/quality" +mkdir -p "${CURA_SHARE}/quality/PLA/0.4" +mkdir -p "${CURA_SHARE}/variants" +ln -sf "${DIR}/quality/flsun_v400_global_Draft_Quality.inst.cfg" "${CURA_SHARE}/quality/flsun_v400_global_Draft_Quality.inst.cfg" +ln -sf "${DIR}/variants/flsun_v400_0.4.inst.cfg" "${CURA_SHARE}/variants/flsun_v400_0.4.inst.cfg" +ln -sf "${DIR}/quality/PLA/0.4/flsun_v400_0.4_PLA_Draft_Print.inst.cfg" "${CURA_SHARE}/quality/PLA/0.4/flsun_v400_0.4_PLA_Draft_Print.inst.cfg" +echo "-------------------" +echo "Done" diff --git a/03-cura/01-configuration/meshes/flsun_v400.stl b/03-cura/01-configuration/meshes/flsun_v400.stl new file mode 100644 index 0000000..6169fda Binary files /dev/null and b/03-cura/01-configuration/meshes/flsun_v400.stl differ diff --git a/03-cura/01-configuration/quality/PLA/0.4/flsun_v400_0.4_PLA_Draft_Print.inst.cfg b/03-cura/01-configuration/quality/PLA/0.4/flsun_v400_0.4_PLA_Draft_Print.inst.cfg new file mode 100644 index 0000000..da6d2bb --- /dev/null +++ b/03-cura/01-configuration/quality/PLA/0.4/flsun_v400_0.4_PLA_Draft_Print.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Draft +definition = flsun_v400 + +[metadata] +setting_version = 22 +type = quality +quality_type = draft +weight = -2 +material = generic_pla +variant = 0.4 + +[values] +line_width = 0.44 diff --git a/03-cura/01-configuration/quality/flsun_v400_global_Draft_Quality.inst.cfg b/03-cura/01-configuration/quality/flsun_v400_global_Draft_Quality.inst.cfg new file mode 100644 index 0000000..eb5e6cf --- /dev/null +++ b/03-cura/01-configuration/quality/flsun_v400_global_Draft_Quality.inst.cfg @@ -0,0 +1,92 @@ +[general] +version = 4 +name = Fast (Draft Quality) +definition = flsun_v400 + +[metadata] +setting_version = 23 +type = quality +quality_type = draft +weight = -2 +global_quality = True + +[values] +layer_height = 0.2 +layer_height_0 = 0.2 +initial_layer_line_width_factor = 110 + +acceleration_enabled = False +acceleration_travel_enabled = False +acceleration_Layer_0 = 5000 +acceleration_print = 8000 +acceleration_topbottom = 5000 +jerk_enabled = False + +infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'gyroid' +infill_overlap = =20 if infill_sparse_density > 80 else 5 +infill_sparse_density = 20 +infill_wall_line_count = 1 +zig_zaggify_infill = True + +bridge_settings_enabled = True + +support_enable = False +support_structure = tree +support_type = everywhere +support_infill_rate = 10 +support_pattern = lines +support_roof_enable = True +support_roof_pattern = grid +support_xy_distance = 0.16 + +roofing_layer_count = 1 +top_bottom_thickness = 1 +top_layers = 5 +bottom_layers = 4 + +skin_monotonic = True +skin_overlap = 25 +skirt_gap = 10 + +bridge_skin_speed = 60 +bridge_wall_material_flow = 100 + +fill_outline_gaps = False + +optimize_wall_printing_order = True + +retraction_combing = off + +small_feature_speed_factor = 40 +small_hole_max_size = 9 + +speed_print = 200 +speed_infill = =speed_print / 100 * 150 + +speed_layer_0 = 30 +speed_travel_layer_0 = =speed_print / 100 * 50 + +speed_roofing = =speed_print / 100 * 30 +speed_topbottom = =speed_print / 100 * 50 + +speed_wall_0 = =speed_print / 100 * 50 +speed_wall_x = =speed_print + +speed_z_hop = 30 + +wall_line_count = 3 +wall_overhang_angle = 35 +wall_overhang_speed_factor = 30 + +z_seam_type = sharpest_corner + +retraction_amount = 0.7 +retraction_speed = 40 +retraction_extra_prime_amount = 0.05 + +machine_firmware_retract = True +klipper_retract_length = =retraction_amount +klipper_retract_prime_length = =retraction_extra_prime_amount +klipper_retract_prime_speed = =retraction_speed +klipper_retract_speed = =retraction_speed +klipper_retraction_speed = =retraction_speed diff --git a/03-cura/01-configuration/variants/flsun_v400_0.4.inst.cfg b/03-cura/01-configuration/variants/flsun_v400_0.4.inst.cfg new file mode 100644 index 0000000..d289778 --- /dev/null +++ b/03-cura/01-configuration/variants/flsun_v400_0.4.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.4 +version = 4 +definition = flsun_v400 + +[metadata] +setting_version = 20 +type = variant +hardware_type = nozzle + +[values] +line_width = 0.44