diff --git a/.github/workflows/conan-package-create.yml b/.github/workflows/conan-package-create.yml index 1837150dae..1c5f101189 100644 --- a/.github/workflows/conan-package-create.yml +++ b/.github/workflows/conan-package-create.yml @@ -75,7 +75,8 @@ jobs: cache-dependency-path: .github/workflows/requirements-conan-package.txt - name: Install Python requirements for runner - run: pip install -r .github/workflows/requirements-conan-package.txt + run: pip install -r https://raw.githubusercontent.com/Ultimaker/Cura/main/.github/workflows/requirements-conan-package.txt + # Note the runner requirements are always installed from the main branch in the Ultimaker/Cura repo - name: Use Conan download cache (Bash) if: ${{ runner.os != 'Windows' }} diff --git a/.github/workflows/conan-recipe-export.yml b/.github/workflows/conan-recipe-export.yml index f38c0046c9..eebcd06f46 100644 --- a/.github/workflows/conan-recipe-export.yml +++ b/.github/workflows/conan-recipe-export.yml @@ -62,8 +62,9 @@ jobs: - name: Install Python requirements and Create default Conan profile run: | - pip install -r .github/workflows/requirements-conan-package.txt + pip install -r https://raw.githubusercontent.com/Ultimaker/Cura/main/.github/workflows/requirements-conan-package.txt conan profile new default --detect + # Note the runner requirements are always installed from the main branch in the Ultimaker/Cura repo - name: Cache Conan local repository packages uses: actions/cache@v3 diff --git a/.github/workflows/requirements-conan-package.txt b/.github/workflows/requirements-conan-package.txt index bd19974dd9..7dc34827c3 100644 --- a/.github/workflows/requirements-conan-package.txt +++ b/.github/workflows/requirements-conan-package.txt @@ -1,2 +1,2 @@ -conan!=1.51.0,!=1.51.1,!=1.51.2,!=1.51.3,!=1.52.0 +conan!=1.51.0,!=1.51.1,!=1.51.2,!=1.51.3,!=1.52.0,!=1.57.0 sip diff --git a/.printer-linter b/.printer-linter index f9f105e1f7..2ead01ffb1 100644 --- a/.printer-linter +++ b/.printer-linter @@ -12,4 +12,6 @@ format: format-definition-single-value-single-line: true # Format dicts and lists with a single item on one line "dict": { "value": 10 } format-profile-space-around-delimiters: true format-profile-sort-keys: true -diagnostic-mesh-file-size: 1200000 \ No newline at end of file +diagnostic-mesh-file-size: 1200000 +diagnostic-definition-redundant-override-ignore: + - machine_.* diff --git a/cura/ApplicationMetadata.py b/cura/ApplicationMetadata.py index 3a345cca26..fd8f3c704c 100644 --- a/cura/ApplicationMetadata.py +++ b/cura/ApplicationMetadata.py @@ -64,7 +64,7 @@ try: if CuraAppDisplayName == "": CuraAppDisplayName = DEFAULT_CURA_DISPLAY_NAME if IsEnterpriseVersion: - CuraAppDisplayName = CuraAppDisplayName + " Enterprise" + CuraAppDisplayName = CuraAppDisplayName except ImportError: CuraAppDisplayName = DEFAULT_CURA_DISPLAY_NAME diff --git a/packaging/msi/CustomizeCuraDlg.wxs b/packaging/msi/CustomizeCuraDlg.wxs index a9f1d7c462..9214ae7693 100644 --- a/packaging/msi/CustomizeCuraDlg.wxs +++ b/packaging/msi/CustomizeCuraDlg.wxs @@ -6,7 +6,7 @@ - + 1 Installed @@ -16,7 +16,7 @@ 1 - + 1 @@ -33,14 +33,14 @@ - - + + - + diff --git a/packaging/msi/UltiMaker-Cura.wxs.jinja b/packaging/msi/UltiMaker-Cura.wxs.jinja index 44a45297c2..8cde050497 100644 --- a/packaging/msi/UltiMaker-Cura.wxs.jinja +++ b/packaging/msi/UltiMaker-Cura.wxs.jinja @@ -8,19 +8,21 @@ Manufacturer="{{ company }}" UpgradeCode="{{ upgrade_code }}" > - + Comments="Copyright (c) {{ year }} {{ company }}" /> - + - - - {% if "Enterpise" in app_name %} + {% if "Enterprise" in app_name %} - - - + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + 127.0.0.1 + + + + - - - - - - - - - - - - - - - - - - - - - - + + 127.0.0.1 + + @@ -140,7 +150,7 @@ - + diff --git a/packaging/msi/create_windows_msi.py b/packaging/msi/create_windows_msi.py index a13238f836..6f1f52c3d1 100644 --- a/packaging/msi/create_windows_msi.py +++ b/packaging/msi/create_windows_msi.py @@ -82,20 +82,37 @@ def build(dist_path: Path, filename: Path): manageoldcuradlg_loc = work_loc.joinpath("CustomizeCuraDlg.wxs") build_loc = work_loc.joinpath("build_msi") - heat_command = ["heat", "dir", f"{dist_loc.as_posix()}\\", "-dr", "APPLICATIONFOLDER", "-cg", "NewFilesGroup", "-sw5150", - "-gg", "-g1", "-sf", "-srd", "-var", "var.CuraDir", "-t", f"{exclude_components_loc.as_posix()}", + heat_command = ["heat", + "dir", f"{dist_loc.as_posix()}\\", + "-dr", "APPLICATIONFOLDER", + "-cg", "NewFilesGroup", + "-sw5150", # Don't pollute logs with warnings from auto generated content + "-gg", + "-g1", + "-sf", + "-srd", + "-var", "var.CuraDir", + "-t", f"{exclude_components_loc.as_posix()}", "-out", f"{heat_loc.as_posix()}"] subprocess.call(heat_command) - build_command = ["candle", "-arch", "x64", f"-dCuraDir={dist_loc}\\", + build_command = ["candle", + "-arch", "x64", + f"-dCuraDir={dist_loc}\\", "-ext", "WixFirewallExtension", "-out", f"{build_loc.as_posix()}\\", - f"{wxs_loc.as_posix()}", f"{heat_loc.as_posix()}", f"{manageoldcuradlg_loc.as_posix()}"] + f"{wxs_loc.as_posix()}", + f"{heat_loc.as_posix()}", + f"{manageoldcuradlg_loc.as_posix()}"] subprocess.call(build_command) - link_command = ["light", f"{build_loc.joinpath(wxs_loc.name).with_suffix('.wixobj')}", + link_command = ["light", + f"{build_loc.joinpath(wxs_loc.name).with_suffix('.wixobj')}", f"{build_loc.joinpath(heat_loc.name).with_suffix('.wixobj')}", f"{build_loc.joinpath(manageoldcuradlg_loc.name).with_suffix('.wixobj')}", + "-sw1076", # Don't pollute logs with warnings from auto generated content + "-dcl:high", # Use high compression ratio + "-sval", # Disable ICE validation otherwise the CI complains "-ext", "WixUIExtension", "-ext", "WixFirewallExtension", "-out", f"{work_loc.joinpath(filename.name)}"] diff --git a/plugins/Marketplace/resources/qml/PackageCardHeader.qml b/plugins/Marketplace/resources/qml/PackageCardHeader.qml index 58dfba84e1..83e16c9b5a 100644 --- a/plugins/Marketplace/resources/qml/PackageCardHeader.qml +++ b/plugins/Marketplace/resources/qml/PackageCardHeader.qml @@ -45,8 +45,6 @@ Item visible: parent.packageHasIcon anchors.fill: parent source: packageData.iconUrl - sourceSize.height: height - sourceSize.width: width } UM.ColorImage diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorBuildplateConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorBuildplateConfiguration.qml deleted file mode 100644 index a81bec3884..0000000000 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorBuildplateConfiguration.qml +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright (c) 2019 Ultimaker B.V. -// Cura is released under the terms of the LGPLv3 or higher. - -import QtQuick 2.2 -import QtQuick.Controls 2.0 -import UM 1.5 as UM - -/** - * This component comprises a buildplate icon and the buildplate name. It is - * used by the MonitorPrinterConfiguration component along with two instances - * of MonitorExtruderConfiguration. - * - * NOTE: For most labels, a fixed height with vertical alignment is used to make - * layouts more deterministic (like the fixed-size textboxes used in original - * mock-ups). This is also a stand-in for CSS's 'line-height' property. Denoted - * with '// FIXED-LINE-HEIGHT:'. - */ -Item -{ - // The buildplate name - property var buildplate: null - - // Height is one 18px label/icon - height: 18 * screenScaleFactor // TODO: Theme! - width: childrenRect.width - - Row - { - height: parent.height - spacing: UM.Theme.getSize("slider_handle").width // TODO: Theme! (Should be same as extruder spacing) - - // This wrapper ensures that the buildplate icon is located centered - // below an extruder icon. - Item - { - height: parent.height - width: 32 * screenScaleFactor // Ensure the icon is centered under the extruder icon (same width) - - Rectangle - { - anchors.centerIn: parent - height: parent.height - width: height - color: buildplateIcon.visible > 0 ? "transparent" : UM.Theme.getColor("monitor_skeleton_loading") - radius: Math.floor(height / 2) - } - - UM.ColorImage - { - id: buildplateIcon - anchors.centerIn: parent - color: UM.Theme.getColor("monitor_icon_primary") - height: UM.Theme.getSize("medium_button_icon").width - source: UM.Theme.getIcon("Buildplate") - width: height - visible: buildplate - } - } - - UM.Label - { - id: buildplateLabel - elide: Text.ElideRight - text: buildplate ? buildplate : "" - visible: text !== "" - - // FIXED-LINE-HEIGHT: - height: 18 * screenScaleFactor // TODO: Theme! - } - } -} diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorConfigOverrideDialog.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorConfigOverrideDialog.qml index 47586f3925..5baae741ac 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorConfigOverrideDialog.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorConfigOverrideDialog.qml @@ -102,9 +102,6 @@ UM.Dialog case "print_core_change": text = catalog.i18nc("@label", "Change print core %1 from %2 to %3.").arg(change.index + 1).arg(change.originName).arg(change.targetName) break - case "buildplate_change": - text = catalog.i18nc("@label", "Change build plate to %1 (This cannot be overridden).").arg(formatBuildPlateType(change.target_name)) - break default: text = "unknown" } @@ -143,19 +140,4 @@ UM.Dialog } return true } - function formatBuildPlateType(buildPlateType) - { - var translationText = "" - switch (buildPlateType) { - case "glass": - translationText = catalog.i18nc("@label", "Glass") - break - case "aluminum": - translationText = catalog.i18nc("@label", "Aluminum") - break - default: - translationText = null - } - return translationText - } } diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorExtruderConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorExtruderConfiguration.qml index 1b2be71e55..428b462371 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorExtruderConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorExtruderConfiguration.qml @@ -10,7 +10,7 @@ import Cura 1.6 as Cura /** * This component comprises a colored extruder icon, the material name, and the * print core name. It is used by the MonitorPrinterConfiguration component with - * a sibling instance as well as a MonitorBuildplateConfiguration instance. + * a sibling instance. * * NOTE: For most labels, a fixed height with vertical alignment is used to make * layouts more deterministic (like the fixed-size textboxes used in original diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml index 1b62d6b203..dbbc88d316 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrintJobCard.qml @@ -172,14 +172,6 @@ Item { id: printerConfiguration anchors.verticalCenter: parent.verticalCenter - buildplate: { - switch (printJob.assignedPrinter.buildplate) { - case "glass": - return catalog.i18nc("@label", "Glass"); - default: - return null - } - } configurations: base.printJob ? base.printJob.configuration.extruderConfigurations : null height: Math.round(72 * screenScaleFactor) // TODO: Theme! } diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml index 2488e55bd1..7e2969f189 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterCard.qml @@ -175,14 +175,7 @@ Item { id: printerConfiguration anchors.verticalCenter: parent.verticalCenter - buildplate: { - switch (printer.buildplate) { - case "glass": - return catalog.i18nc("@label", "Glass"); - default: - return null - } - } + configurations: { var configs = [] diff --git a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterConfiguration.qml b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterConfiguration.qml index 21d08a310c..8bcedb6808 100644 --- a/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterConfiguration.qml +++ b/plugins/UM3NetworkPrinting/resources/qml/MonitorPrinterConfiguration.qml @@ -7,17 +7,13 @@ import UM 1.3 as UM /** * The MonitorPrinterConfiguration accepts 2 configuration objects as input and - * applies them to a MonitorBuildplateConfiguration instance and two instances - * of MonitorExtruderConfiguration. It's used in both the MonitorPrintJobCard - * component as well as the MonitorPrinterCard component. + * applies them to two instances of MonitorExtruderConfiguration. + * It's used in both the MonitorPrintJobCard component as well as the MonitorPrinterCard component. */ Item { id: base - // Extracted buildplate configuration - property alias buildplate: buildplateConfig.buildplate - // Array of extracted extruder configurations property var configurations: [null,null] @@ -48,11 +44,4 @@ Item } } - - MonitorBuildplateConfiguration - { - id: buildplateConfig - anchors.bottom: parent.bottom - buildplate: null - } } diff --git a/printer-linter/src/printerlinter/linters/defintion.py b/printer-linter/src/printerlinter/linters/defintion.py index e27d8a7679..c4e955a2a5 100644 --- a/printer-linter/src/printerlinter/linters/defintion.py +++ b/printer-linter/src/printerlinter/linters/defintion.py @@ -84,6 +84,8 @@ class Definition(Linter): self._loadDefinitionFiles(parent_file) def _isDefinedInParent(self, key, value_dict, inherits_from): + if self._ignore(key, "diagnostic-definition-redundant-override"): + return False, None, None, None if "overrides" not in self._definitions[inherits_from]: return self._isDefinedInParent(key, value_dict, self._definitions[inherits_from]["inherits"]) @@ -119,7 +121,6 @@ class Definition(Linter): return False, None, None, None def _loadBasePrinterSettings(self): - """ TODO @Jelle please explain why this """ settings = {} for k, v in self._definitions[self.base_def]["settings"].items(): self._getSetting(k, v, settings) @@ -130,3 +131,11 @@ class Definition(Linter): for childname, child in setting["children"].items(): self._getSetting(childname, child, settings) settings |= {name: setting} + + def _ignore(self, key: dict, type_of_check: str) -> bool: + if f"{type_of_check}-ignore" in self._settings: + filters = [re.compile(f) for f in self._settings[f"{type_of_check}-ignore"]] + for f in filters: + if f.match(key): + return True + return False diff --git a/resources/definitions/anycubic_kobra_go.def.json b/resources/definitions/anycubic_kobra_go.def.json new file mode 100644 index 0000000000..8c546bdbb7 --- /dev/null +++ b/resources/definitions/anycubic_kobra_go.def.json @@ -0,0 +1,29 @@ +{ + "version": 2, + "name": "Anycubic Kobra Go", + "inherits": "fdmprinter", + "metadata": + { + "visible": true, + "author": "Kolja Lampe", + "manufacturer": "Anycubic", + "file_formats": "text/x-gcode", + "firmware_file": "MarlinChiron.hex", + "has_machine_quality": true, + "has_materials": true, + "machine_extruder_trains": { "0": "anycubic_kobra_go_extruder_0" }, + "preferred_material": "generic_pla", + "preferred_quality_type": "pla", + "quality_definition": "anycubic_kobra_go" + }, + "overrides": + { + "machine_depth": { "default_value": 222 }, + "machine_end_gcode": { "default_value": "M400 ; Wait for current moves to finish\nM220 S100 ; Reset Speed factor override percentage to default (100%)\nM221 S100 ; Reset Extrude factor override percentage to default (100%)\nG91 ; Set coordinates to relative\nG1 F2400 E-1 ; Retract filament 3mm at 40mm/s to prevent stringing\nG0 F5000 Z20 ; Move Z Axis up 20mm to allow filament ooze freely\nG90 ; Set coordinates to absolute\nG0 X0 Y220 F5000 ; Move Heat Bed to the front for easy print removal\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; Disable stepper motors\n; End of custom end GCode" }, + "machine_heated_bed": { "default_value": true }, + "machine_height": { "default_value": 250 }, + "machine_name": { "default_value": "Anycubic Kobra Go" }, + "machine_start_gcode": { "default_value": "M140 S[first_layer_bed_temperature]; Heat bed\nM104 S[first_layer_temperature\n ]; Heat extruder\nG21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nG28 ; Home all axes\nG92 E0 ; Reset Extruder\nM420 S1 ; Enable Bed Levelling Mesh\nM190 S[first_layer_bed_temperature\n ]; Wait for bed to get up to temperature\nM109 S[first_layer_temperature\n ]; Wait for extruder to get up to temperature\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X2 Y20 Z0.3 F5000.0 ; Move to start position\nG1 X2 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line\nG1 X2.4 Y200.0 Z0.3 F5000.0 ; Move to side a little\nG1 X2.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 F2400 E-1\nG1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish" }, + "machine_width": { "default_value": 222 } + } +} \ No newline at end of file diff --git a/resources/definitions/elegoo_base.def.json b/resources/definitions/elegoo_base.def.json new file mode 100644 index 0000000000..ed0c6d1c9d --- /dev/null +++ b/resources/definitions/elegoo_base.def.json @@ -0,0 +1,141 @@ +{ + "version": 2, + "name": "ELEGOO Base Printer", + "inherits": "fdmprinter", + "metadata": + { + "author": "NARUTO", + "manufacturer": "ELEGOO", + "file_formats": "text/x-gcode", + "platform": "elegoo_platform.3mf", + "exclude_materials": [ + "generic_nylon_175", + "generic_nylon", + "generic_hips_175", + "generic_hips", + "generic_gffcpe", + "generic_bvoh_175", + "generic_ccfpe", + "generic_cffcpe", + "generic_cpe_plus", + "generic_cpe_175", + "generic_cpe", + "generic_tpu", + "generic_pp", + "generic_pc", + "generic_pc_175", + "generic_pvc", + "generic_pva", + "generic_pva_175", + "generic_pvc_175", + "generic_pp" + ], + "has_machine_quality": true, + "machine_extruder_trains": { "0": "elegoo_extruder_0" }, + "platform_offset": [ + -2.2, + 14.5, + -31 + ], + "preferred_material": "generic_pla_175", + "preferred_quality_type": "fine" + }, + "overrides": + { + "acceleration_enabled": { "value": true }, + "acceleration_layer_0": { "value": 500 }, + "acceleration_print": { "value": 1000 }, + "acceleration_travel": { "value": "acceleration_print" }, + "brim_gap": { "default_value": 0.1 }, + "brim_width": { "default_value": 5 }, + "cool_fan_full_at_height": { "value": "layer_height_0 if resolveOrValue('adhesion_type') == 'raft' else resolveOrValue('layer_height_0')+0.4" }, + "cool_fan_speed": { "enabled": "resolveOrValue('cool_fan_enabled') == 'true' or cool_fan_enabled" }, + "cool_fan_speed_0": + { + "enabled": "resolveOrValue('cool_fan_enabled') == 'true' or cool_fan_enabled", + "value": "cool_fan_speed if resolveOrValue('adhesion_type') == 'raft' else 0" + }, + "cool_fan_speed_max": { "enabled": "resolveOrValue('cool_fan_enabled') == 'true' or cool_fan_enabled" }, + "cool_fan_speed_min": { "enabled": "resolveOrValue('cool_fan_enabled') == 'true' or cool_fan_enabled" }, + "fill_outline_gaps": { "default_value": false }, + "gantry_height": { "value": "machine_height-20" }, + "gradual_support_infill_step_height": { "value": "5" }, + "infill_overlap": { "value": "10 if infill_sparse_density < 20.01 else 5 if infill_sparse_density < 40.01 and infill_pattern != 'concentric' else 0" }, + "infill_overlap_mm": { "value": "0.5 * (infill_line_width + (wall_line_width_x if wall_line_count > 1 else wall_line_width_0)) * infill_overlap / 100" }, + "infill_pattern": { "value": "'lines' if (infill_sparse_density > 35 or speed_print >= 80) else 'grid' " }, + "infill_sparse_density": { "default_value": 15 }, + "initial_layer_line_width_factor": { "value": "100.0 if resolveOrValue('adhesion_type') == 'raft' else 130 if line_width < 0.5 else 110" }, + "line_width": { "value": "machine_nozzle_size + 0.02" }, + "machine_acceleration": { "value": 1000 }, + "machine_heated_bed": { "default_value": true }, + "machine_max_acceleration_e": { "value": 5000 }, + "machine_max_acceleration_x": { "value": 1000 }, + "machine_max_acceleration_y": { "value": 1000 }, + "machine_max_jerk_xy": { "value": 8.0 }, + "material_diameter": { "value": 1.75 }, + "material_final_print_temperature": { "value": "material_print_temperature" }, + "material_initial_print_temperature": { "value": "material_print_temperature" }, + "material_print_temperature_layer_0": { "value": "210 if material_print_temperature < 210 else material_print_temperature" }, + "min_infill_area": { "value": "5" }, + "minimum_interface_area": { "default_value": 10 }, + "minimum_support_area": { "default_value": 3 }, + "optimize_wall_printing_order": { "default_value": true }, + "prime_tower_brim_enable": { "default_value": true }, + "prime_tower_min_volume": { "value": "(layer_height) * (prime_tower_size / 2)**2 * 3 * 0.5 " }, + "prime_tower_size": { "default_value": 30 }, + "prime_tower_wipe_enabled": { "default_value": false }, + "raft_base_speed": { "value": "0.4 * raft_speed" }, + "raft_base_thickness": { "value": "resolveOrValue('machine_nozzle_size') * 0.75" }, + "raft_interface_speed": { "value": "0.6 * raft_speed" }, + "raft_interface_thickness": { "value": "resolveOrValue('machine_nozzle_size') * 0.75" }, + "raft_margin": { "default_value": 5 }, + "raft_speed": { "value": "30" }, + "raft_surface_fan_speed": { "value": "cool_fan_speed" }, + "raft_surface_line_width": { "value": "machine_nozzle_size * 1.25" }, + "raft_surface_thickness": { "value": "resolveOrValue('machine_nozzle_size')*0.375" }, + "retraction_amount": { "default_value": 5 }, + "retraction_combing": { "value": "'no_outer_surfaces' if (any(extruderValues('skin_monotonic')) or any(extruderValues('ironing_enabled')) or (any(extruderValues('roofing_monotonic')) and any(extruderValues('roofing_layer_count')))) else 'no_outer_surfaces'" }, + "retraction_combing_max_distance": { "value": "(infill_line_distance)*1.5 + 5 " }, + "retraction_hop": { "value": "layer_height if layer_height > 0.199 else 0.2" }, + "skirt_brim_speed": { "value": "speed_print_layer_0" }, + "speed_infill": { "value": "math.ceil(speed_wall + 35)" }, + "speed_layer_0": + { + "maximum_value_warning": "60", + "value": "speed_print * 20 / 60 if material_bed_temperature > 70 else speed_print * 30 / 60" + }, + "speed_prime_tower": { "value": "speed_print if speed_print < 70.1 else 90 if speed_print > 100 else speed_print * 0.5+35" }, + "speed_slowdown_layers": { "value": "0 if resolveOrValue('adhesion_type') == 'raft' else speed_print / 30" }, + "speed_support": { "value": "speed_print if speed_wall > 0 and speed_wall < 40.01 else speed_wall + 40 " }, + "speed_topbottom": { "value": "speed_wall + 15" }, + "speed_travel": { "value": "90 if speed_print < 60.1 else speed_print * 1.5 if speed_print > 90 else speed_print+30" }, + "speed_travel_layer_0": { "value": "70 if speed_layer_0 < 20 else 90 if speed_layer_0 > 40 else speed_layer_0+50" }, + "speed_wall_x": { "value": "speed_wall + 15" }, + "support_angle": { "value": "45 if speed_print > 99.9 else 50" }, + "support_bottom_offset": { "value": "-0.4" }, + "support_brim_enable": { "value": "support_structure == 'normal' or support_structure == 'tree'" }, + "support_brim_width": + { + "default_value": 3, + "value": "6 if support_structure == 'tree' else line_width * initial_layer_line_width_factor * 0.02 " + }, + "support_infill_angles": { "default_value": "[65]" }, + "support_interface_density": { "default_value": 33.333 }, + "support_interface_pattern": { "default_value": "lines" }, + "support_material_flow": { "value": "material_flow * 0.95" }, + "support_offset": { "default_value": 0.3 }, + "support_roof_pattern": { "value": "'grid'" }, + "support_top_distance": { "value": "extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'layer_height') + (0 if support_structure == 'tree' else 0)" }, + "support_tower_maximum_supported_diameter": { "value": "1" }, + "support_use_towers": { "default_value": false }, + "support_xy_distance": { "value": "machine_nozzle_size * 1.7" }, + "support_xy_distance_overhang": { "value": "machine_nozzle_size * 1.2 if support_interface_enable else machine_nozzle_size * 0.8" }, + "support_z_distance": { "value": "layer_height * 1.2 if (support_interface_enable and support_bottom_enable and layer_height < 0.16) or support_bottom_enable else layer_height" }, + "switch_extruder_retraction_amount": { "value": "15 if extruders_enabled_count > 1 else machine_heat_zone_length" }, + "wall_thickness": { "value": "wall_line_width_0 if magic_spiralize else line_width * 2" }, + "z_seam_corner": { "default_value": "z_seam_corner_weighted" }, + "z_seam_position": { "default_value": "left" }, + "z_seam_type": { "default_value": "back" }, + "zig_zaggify_infill": { "value": "infill_pattern == 'cross' or infill_pattern == 'cross_3d' or infill_sparse_density < 30 " } + } +} \ No newline at end of file diff --git a/resources/definitions/elegoo_neptune_1.def.json b/resources/definitions/elegoo_neptune_1.def.json new file mode 100644 index 0000000000..2b23fd8482 --- /dev/null +++ b/resources/definitions/elegoo_neptune_1.def.json @@ -0,0 +1,30 @@ +{ + "version": 2, + "name": "ELEGOO NEPTUNE", + "inherits": "elegoo_base", + "metadata": + { + "visible": true, + "author": "NARUTO", + "quality_definition": "elegoo_base" + }, + "overrides": + { + "machine_depth": { "default_value": 210 }, + "machine_end_gcode": { "default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-10 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X0 Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z" }, + "machine_head_with_fans_polygon": + { + "value": [ + [-50, 20], + [50, 20], + [50, -25], + [-50, -25] + ] + }, + "machine_height": { "default_value": 200 }, + "machine_name": { "default_value": "ELEGOO NEPTUNE" }, + "machine_start_gcode": { "default_value": ";ELEGOO NEPTUNE\nG90\nG28 ;home\nG1 Z0.6 F100 ;Move Z Axis up\nG92 E0 ;Reset Extruder\nG1 X1.5 Y20 F5000.0 ;Move to start position\nG1 Y120.0 F600.0 E20 ;Draw the first line\nG1 X0.5 F1000.0 ;Move to side a little\nG1 Y20 F600.0 E40 ;Draw the second line\nG92 E0 ;Reset Extruder" }, + "machine_width": { "default_value": 210 }, + "material_bed_temperature": { "value": "default_material_bed_temperature + 5" } + } +} \ No newline at end of file diff --git a/resources/definitions/elegoo_neptune_2s.def.json b/resources/definitions/elegoo_neptune_2s.def.json new file mode 100644 index 0000000000..e1d6b14082 --- /dev/null +++ b/resources/definitions/elegoo_neptune_2s.def.json @@ -0,0 +1,30 @@ +{ + "version": 2, + "name": "ELEGOO NEPTUNE 2S", + "inherits": "elegoo_base", + "metadata": + { + "visible": true, + "author": "NARUTO", + "quality_definition": "elegoo_base" + }, + "overrides": + { + "machine_depth": { "default_value": 235 }, + "machine_end_gcode": { "default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-10 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X0 Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z" }, + "machine_head_with_fans_polygon": + { + "value": [ + [-55, 20], + [55, 20], + [55, -25], + [-55, -25] + ] + }, + "machine_height": { "default_value": 260 }, + "machine_name": { "default_value": "ELEGOO NEPTUNE 2S" }, + "machine_start_gcode": { "default_value": ";ELEGOO NEPTUNE 2S\nG90\nG28 ;home\nG1 Z0.6 F100 ;Move Z Axis up\nG92 E0 ;Reset Extruder\nG1 X1.5 Y20 F5000.0 ;Move to start position\nG1 Y120.0 F600.0 E20 ;Draw the first line\nG1 X0.5 F1000.0 ;Move to side a little\nG1 Y20 F600.0 E40 ;Draw the second line\nG92 E0 ;Reset Extruder" }, + "machine_width": { "default_value": 235 }, + "material_bed_temperature": { "value": "default_material_bed_temperature + 10" } + } +} \ No newline at end of file diff --git a/resources/definitions/elegoo_neptune_3.def.json b/resources/definitions/elegoo_neptune_3.def.json new file mode 100644 index 0000000000..2bb7e035ce --- /dev/null +++ b/resources/definitions/elegoo_neptune_3.def.json @@ -0,0 +1,30 @@ +{ + "version": 2, + "name": "ELEGOO NEPTUNE 3", + "inherits": "elegoo_base", + "metadata": + { + "visible": true, + "author": "NARUTO", + "quality_definition": "elegoo_base" + }, + "overrides": + { + "machine_depth": { "default_value": 235 }, + "machine_end_gcode": { "default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-10 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X0 Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z" }, + "machine_head_with_fans_polygon": + { + "value": [ + [-55, 20], + [55, 20], + [55, -25], + [-55, -25] + ] + }, + "machine_height": { "default_value": 280 }, + "machine_name": { "default_value": "ELEGOO NEPTUNE 3" }, + "machine_start_gcode": { "default_value": ";ELEGOO NEPTUNE 3\n;M413 S0;S0=Disable power-loss recovery:S1=Enable power-loss recovery\nM220 S100 ;Set the feed speed to 100%\nG90\nG28 ;home\n;M420 S1 Z10;Uncomment to enable progressive compensation height of 10mm\nG92 E0 ;Reset Extruder\nG1 Z0.6 F100\nG1 X1.5 Y20 F5000.0 ;Move to start position\nG1 Y120.0 F600.0 E20 ;Draw the first line\nG1 X0.5 F1000.0 ;Move to side a little\nG1 Y20 F600 E40 ;Draw the second line\nG92 E0 ;Reset Extruder" }, + "machine_width": { "default_value": 235 }, + "material_bed_temperature": { "value": "default_material_bed_temperature + 10" } + } +} \ No newline at end of file diff --git a/resources/definitions/elegoo_neptune_3max.def.json b/resources/definitions/elegoo_neptune_3max.def.json new file mode 100644 index 0000000000..4d4148a5d2 --- /dev/null +++ b/resources/definitions/elegoo_neptune_3max.def.json @@ -0,0 +1,26 @@ +{ + "version": 2, + "name": "ELEGOO NEPTUNE 3 Max", + "inherits": "elegoo_neptune_3pro", + "metadata": + { + "platform": "elegoo_platform_max.3mf", + "platform_offset": [ + -2.1, + -0.2, + 0 + ] + }, + "overrides": + { + "acceleration_wall": { "value": 700 }, + "machine_acceleration": { "value": 700 }, + "machine_depth": { "default_value": 426 }, + "machine_height": { "default_value": 510 }, + "machine_max_acceleration_x": { "value": 700 }, + "machine_max_acceleration_y": { "value": 500 }, + "machine_name": { "default_value": "ELEGOO NEPTUNE 3 Max" }, + "machine_start_gcode": { "default_value": ";ELEGOO NEPTUNE 3 Max\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nG90\nG28 ;home\n;M420 S1 Z10;Uncomment to enable progressive compensation height of 10mm\nG92 E0 ;Reset Extruder\nG1 Z0.45 F300\nG1 X1.5 Y20 F5000.0 ;Move to start position\nG1 Y120.0 F600.0 E15 ;Draw the first line\nG1 X0.5 F1000.0 ;Move to side a little\nG1 Y20 F600 E30 ;Draw the second line\nG92 E0 ;Reset Extruder" }, + "machine_width": { "default_value": 426 } + } +} \ No newline at end of file diff --git a/resources/definitions/elegoo_neptune_3plus.def.json b/resources/definitions/elegoo_neptune_3plus.def.json new file mode 100644 index 0000000000..3d2187042f --- /dev/null +++ b/resources/definitions/elegoo_neptune_3plus.def.json @@ -0,0 +1,26 @@ +{ + "version": 2, + "name": "ELEGOO NEPTUNE 3 Plus", + "inherits": "elegoo_neptune_3pro", + "metadata": + { + "platform": "elegoo_platform_max.3mf", + "platform_offset": [ + -2.1, + -0.2, + 0 + ] + }, + "overrides": + { + "acceleration_wall": { "value": 700 }, + "machine_acceleration": { "value": 700 }, + "machine_depth": { "default_value": 330 }, + "machine_height": { "default_value": 410 }, + "machine_max_acceleration_x": { "value": 700 }, + "machine_max_acceleration_y": { "value": 700 }, + "machine_name": { "default_value": "ELEGOO NEPTUNE 3 Plus" }, + "machine_start_gcode": { "default_value": ";ELEGOO NEPTUNE 3 Plus\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nG90\nG28 ;home\n;M420 S1 Z10;Uncomment to enable progressive compensation height of 10mm\nG92 E0 ;Reset Extruder\nG1 Z0.45 F300\nG1 X1.5 Y20 F5000.0 ;Move to start position\nG1 Y120.0 F600.0 E15 ;Draw the first line\nG1 X0.5 F1000.0 ;Move to side a little\nG1 Y20 F600 E30 ;Draw the second line\nG92 E0 ;Reset Extruder" }, + "machine_width": { "default_value": 330 } + } +} \ No newline at end of file diff --git a/resources/definitions/elegoo_neptune_3pro.def.json b/resources/definitions/elegoo_neptune_3pro.def.json new file mode 100644 index 0000000000..9d2bacbf1f --- /dev/null +++ b/resources/definitions/elegoo_neptune_3pro.def.json @@ -0,0 +1,38 @@ +{ + "version": 2, + "name": "ELEGOO NEPTUNE 3 Pro", + "inherits": "elegoo_base", + "metadata": + { + "visible": true, + "author": "NARUTO", + "quality_definition": "elegoo_base" + }, + "overrides": + { + "infill_overlap": { "value": "0 if infill_sparse_density < 40.01 and infill_pattern != 'concentric' else -5" }, + "machine_depth": { "default_value": 235 }, + "machine_end_gcode": { "default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-8 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X0 Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z" }, + "machine_head_with_fans_polygon": + { + "value": [ + [-55, 30], + [55, 30], + [55, -35], + [-55, -35] + ] + }, + "machine_height": { "default_value": 280 }, + "machine_name": { "default_value": "ELEGOO NEPTUNE 3 Pro" }, + "machine_start_gcode": { "default_value": ";ELEGOO NEPTUNE 3 Pro\nM220 S100 ;Set the feed speed to 100%\nM221 S100 ;Set the flow rate to 100%\nG90\nG28 ;home\n;M420 S1 Z10;Uncomment to enable progressive compensation height of 10mm\nG92 E0 ;Reset Extruder\nG1 Z0.45 F300\nG1 X1.5 Y20 F5000.0 ;Move to start position\nG1 Y120.0 F600.0 E15 ;Draw the first line\nG1 X0.5 F1000.0 ;Move to side a little\nG1 Y20 F600 E30 ;Draw the second line\nG92 E0 ;Reset Extruder" }, + "machine_width": { "default_value": 235 }, + "material_bed_temperature": { "value": "default_material_bed_temperature + 10" }, + "retraction_amount": { "value": 1 }, + "retraction_count_max": { "value": 80 }, + "retraction_prime_speed": { "resolve": 25 }, + "retraction_retract_speed": { "resolve": 25 }, + "retraction_speed": { "resolve": 25 }, + "speed_travel": { "value": "150 if speed_print < 100 else speed_print * 1.5" }, + "speed_travel_layer_0": { "value": "100" } + } +} \ No newline at end of file diff --git a/resources/definitions/elegoo_neptune_x.def.json b/resources/definitions/elegoo_neptune_x.def.json new file mode 100644 index 0000000000..77f6c1e10d --- /dev/null +++ b/resources/definitions/elegoo_neptune_x.def.json @@ -0,0 +1,30 @@ +{ + "version": 2, + "name": "ELEGOO NEPTUNE X", + "inherits": "elegoo_base", + "metadata": + { + "visible": true, + "author": "NARUTO", + "quality_definition": "elegoo_base" + }, + "overrides": + { + "machine_depth": { "default_value": 235 }, + "machine_end_gcode": { "default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-10 X5 Y5 Z3 F3000 ;Retract\nG90 ;Absolute positionning\nG1 X0 Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z" }, + "machine_head_with_fans_polygon": + { + "value": [ + [-55, 20], + [55, 20], + [55, -25], + [-55, -25] + ] + }, + "machine_height": { "default_value": 310 }, + "machine_name": { "default_value": "ELEGOO NEPTUNE X" }, + "machine_start_gcode": { "default_value": ";ELEGOO NEPTUNE X\nG90\nG28 ;home\nG1 Z0.6 F3000 ;Move Z Axis up\nG92 E0 ;Reset Extruder\nG1 X1.5 Y20 F5000.0 ;Move to start position\nG1 Y120.0 F600.0 E20 ;Draw the first line\nG1 X0.5 F1000.0 ;Move to side a little\nG1 Y20 F600.0 E40 ;Draw the second line\nG92 E0 ;Reset Extruder" }, + "machine_width": { "default_value": 235 }, + "material_bed_temperature": { "value": "default_material_bed_temperature + 5" } + } +} \ No newline at end of file diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 96c7de0ea1..68bab9a63a 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -5608,9 +5608,9 @@ { "label": "Build Plate Adhesion Extruder", "description": "The extruder train to use for printing the skirt/brim/raft. This is used in multi-extrusion.", - "type": "extruder", - "default_value": "0", - "value": "int(defaultExtruderPosition())", + "type": "optional_extruder", + "default_value": "-1", + "value": "int(defaultExtruderPosition()) if resolveOrValue('adhesion_type') == 'raft' else -1", "enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') != 'none' or resolveOrValue('prime_tower_brim_enable'))", "resolve": "max(extruderValues('adhesion_extruder_nr'))", "settable_per_mesh": false, @@ -5623,8 +5623,9 @@ "description": "The extruder train to use for printing the skirt or brim. This is used in multi-extrusion.", "type": "optional_extruder", "default_value": "-1", - "enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') == 'skirt' or resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable'))", - "resolve": "'-1' if '-1' in extruderValues('skirt_brim_extruder_nr') else adhesion_extruder_nr", + "value": "adhesion_extruder_nr", + "enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') in ['skirt', 'brim'] or resolveOrValue('prime_tower_brim_enable'))", + "resolve": "max(extruderValues('skirt_brim_extruder_nr'))", "settable_per_mesh": false, "settable_per_extruder": false }, @@ -5634,7 +5635,7 @@ "description": "The extruder train to use for printing the first layer of the raft. This is used in multi-extrusion.", "type": "extruder", "default_value": "0", - "value": "adhesion_extruder_nr", + "value": "0 if adhesion_extruder_nr == -1 else adhesion_extruder_nr", "enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'", "resolve": "max(extruderValues('raft_base_extruder_nr'))", "settable_per_mesh": false, @@ -5646,7 +5647,7 @@ "description": "The extruder train to use for printing the middle layer of the raft. This is used in multi-extrusion.", "type": "extruder", "default_value": "0", - "value": "adhesion_extruder_nr", + "value": "0 if adhesion_extruder_nr == -1 else adhesion_extruder_nr", "enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'", "resolve": "max(extruderValues('raft_interface_extruder_nr'))", "settable_per_mesh": false, @@ -5658,7 +5659,7 @@ "description": "The extruder train to use for printing the top layer(s) of the raft. This is used in multi-extrusion.", "type": "extruder", "default_value": "0", - "value": "adhesion_extruder_nr", + "value": "0 if adhesion_extruder_nr == -1 else adhesion_extruder_nr", "enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'", "resolve": "max(extruderValues('raft_surface_extruder_nr'))", "settable_per_mesh": false, diff --git a/resources/definitions/flsun_v400.def.json b/resources/definitions/flsun_v400.def.json new file mode 100644 index 0000000000..0dfedce946 --- /dev/null +++ b/resources/definitions/flsun_v400.def.json @@ -0,0 +1,45 @@ +{ + "version": 2, + "name": "Flsun V400", + "inherits": "fdmprinter", + "metadata": + { + "visible": true, + "author": "FLSUN, Guislain Cyril", + "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": "M107 T0\nM104 S0\nM104 S0 T1\nM140 S0\nG92 E0\nG91\nG1 E-1 F300\nG1 Z+0.5 F6000\nG28 \nG90 ;absolute positioning\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": "G21\nG90\nM82\nM107 T0\nM140 S{material_bed_temperature}\nM104 S{material_print_temperature} T0\nM190 S{material_bed_temperature}\nM109 S{material_print_temperature} T0\nG28\nG1 F3000 Z1\nG1 X-150 Y0 Z0.4\nG92 E0\nG3 X0 Y-130 I150 Z0.3 E30 F2000\nG92 E0\n" }, + "machine_width": { "default_value": 300 }, + "material_diameter": { "default_value": 1.75 }, + "z_seam_type": { "value": "'back'" } + } +} \ No newline at end of file diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index bb4a074fac..a744096098 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -126,6 +126,7 @@ "wall_x_material_flow_layer_0": { "value": "0.95 * material_flow_layer_0" }, "xy_offset": { "value": "-layer_height * 0.1" }, "xy_offset_layer_0": { "value": "-wall_line_width_0 / 5 + xy_offset" }, + "z_seam_corner": { "value": "'z_seam_corner_none'" }, "zig_zaggify_support": { "value": true } } } \ No newline at end of file diff --git a/resources/definitions/voron_trident_250.def.json b/resources/definitions/voron_trident_250.def.json new file mode 100644 index 0000000000..b506ae619f --- /dev/null +++ b/resources/definitions/voron_trident_250.def.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "name": "Voron Trident 250", + "inherits": "voron_trident_base", + "metadata": + { + "visible": true, + "author": "RagingRoosevelt, hartk", + "platform": "voron_trident_250mm_bed_model.stl", + "quality_definition": "voron2_base" + }, + "overrides": + { + "machine_name": { "default_value": "VORON Trident 250" } + } +} \ No newline at end of file diff --git a/resources/definitions/voron_trident_300.def.json b/resources/definitions/voron_trident_300.def.json new file mode 100644 index 0000000000..48944ef946 --- /dev/null +++ b/resources/definitions/voron_trident_300.def.json @@ -0,0 +1,18 @@ +{ + "version": 2, + "name": "Voron Trident 300", + "inherits": "voron_trident_base", + "metadata": + { + "visible": true, + "author": "RagingRoosevelt, hartk", + "platform": "voron_trident_300mm_bed_model.stl", + "quality_definition": "voron2_base" + }, + "overrides": + { + "machine_depth": { "default_value": 300 }, + "machine_name": { "default_value": "VORON Trident 300" }, + "machine_width": { "default_value": 300 } + } +} \ No newline at end of file diff --git a/resources/definitions/voron_trident_350.def.json b/resources/definitions/voron_trident_350.def.json new file mode 100644 index 0000000000..c693539e79 --- /dev/null +++ b/resources/definitions/voron_trident_350.def.json @@ -0,0 +1,18 @@ +{ + "version": 2, + "name": "Voron Trident 350", + "inherits": "voron_trident_base", + "metadata": + { + "visible": true, + "author": "RagingRoosevelt, hartk", + "platform": "voron_trident_350mm_bed_model.stl", + "quality_definition": "voron2_base" + }, + "overrides": + { + "machine_depth": { "default_value": 350 }, + "machine_name": { "default_value": "VORON Trident 350" }, + "machine_width": { "default_value": 350 } + } +} \ No newline at end of file diff --git a/resources/definitions/voron_trident_base.def.json b/resources/definitions/voron_trident_base.def.json new file mode 100644 index 0000000000..c1fa8146ac --- /dev/null +++ b/resources/definitions/voron_trident_base.def.json @@ -0,0 +1,19 @@ +{ + "version": 2, + "name": "Voron Trident Base", + "inherits": "voron2_base", + "metadata": + { + "visible": false, + "author": "RagingRoosevelt, hartk", + "platform": "voron_trident_250mm_bed_model.stl", + "quality_definition": "voron2_base" + }, + "overrides": + { + "machine_depth": { "default_value": 250 }, + "machine_height": { "default_value": 250 }, + "machine_name": { "default_value": "VORON Trident" }, + "machine_width": { "default_value": 250 } + } +} \ No newline at end of file diff --git a/resources/extruders/anycubic_kobra_go_extruder_0.def.json b/resources/extruders/anycubic_kobra_go_extruder_0.def.json new file mode 100644 index 0000000000..848313a24f --- /dev/null +++ b/resources/extruders/anycubic_kobra_go_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": + { + "machine": "anycubic_kobra_go", + "position": "0" + }, + "overrides": + { + "extruder_nr": { "default_value": 0 }, + "material_diameter": { "default_value": 1.75 } + } +} \ No newline at end of file diff --git a/resources/extruders/elegoo_extruder_0.def.json b/resources/extruders/elegoo_extruder_0.def.json new file mode 100644 index 0000000000..c6332f41bd --- /dev/null +++ b/resources/extruders/elegoo_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": + { + "machine": "elegoo_base", + "position": "0" + }, + "overrides": + { + "extruder_nr": { "default_value": 0 }, + "material_diameter": { "default_value": 1.75 } + } +} \ No newline at end of file diff --git a/resources/extruders/flsun_v400_extruder_0.def.json b/resources/extruders/flsun_v400_extruder_0.def.json new file mode 100644 index 0000000000..a66d7192d8 --- /dev/null +++ b/resources/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 } + } +} \ No newline at end of file diff --git a/resources/meshes/elegoo_platform.3mf b/resources/meshes/elegoo_platform.3mf new file mode 100644 index 0000000000..90c0677717 Binary files /dev/null and b/resources/meshes/elegoo_platform.3mf differ diff --git a/resources/meshes/elegoo_platform_max.3mf b/resources/meshes/elegoo_platform_max.3mf new file mode 100644 index 0000000000..103b182f68 Binary files /dev/null and b/resources/meshes/elegoo_platform_max.3mf differ diff --git a/resources/meshes/flsun_v400.stl b/resources/meshes/flsun_v400.stl new file mode 100644 index 0000000000..6169fdada5 Binary files /dev/null and b/resources/meshes/flsun_v400.stl differ diff --git a/resources/meshes/voron_trident_250mm_bed_model.stl b/resources/meshes/voron_trident_250mm_bed_model.stl new file mode 100644 index 0000000000..11795a984f Binary files /dev/null and b/resources/meshes/voron_trident_250mm_bed_model.stl differ diff --git a/resources/meshes/voron_trident_300mm_bed_model.stl b/resources/meshes/voron_trident_300mm_bed_model.stl new file mode 100644 index 0000000000..216825c940 Binary files /dev/null and b/resources/meshes/voron_trident_300mm_bed_model.stl differ diff --git a/resources/meshes/voron_trident_350mm_bed_model.stl b/resources/meshes/voron_trident_350mm_bed_model.stl new file mode 100644 index 0000000000..92025ba370 Binary files /dev/null and b/resources/meshes/voron_trident_350mm_bed_model.stl differ diff --git a/resources/quality/anycubic_kobra_go/anycubic_kobra_go_abs.inst.cfg b/resources/quality/anycubic_kobra_go/anycubic_kobra_go_abs.inst.cfg new file mode 100644 index 0000000000..3ba5945fb9 --- /dev/null +++ b/resources/quality/anycubic_kobra_go/anycubic_kobra_go_abs.inst.cfg @@ -0,0 +1,33 @@ +[general] +definition = anycubic_kobra_go +name = Normal +version = 4 + +[metadata] +global_quality = True +material = generic_abs +quality_type = abs +setting_version = 20 +type = quality +weight = 0 + +[values] +acceleration_print = 1000.0 +acceleration_travel = 3000.0 +bottom_layers = 6 +brim_width = 4.0 +infill_pattern = lines +infill_sparse_density = 25 +inset_direction = ='outside_in' if (True) else 'inside_out' +layer_height = 0.2 +material_final_print_temperature = 230 +material_initial_print_temperature = 230 +material_print_temperature = 235.0 +material_print_temperature_layer_0 = 235.0 +optimize_wall_printing_order = True +speed_print = 50.0 +top_layers = 6 +z_seam_corner = z_seam_corner_inner +z_seam_type = sharpest_corner +z_seam_x = 111 + diff --git a/resources/quality/anycubic_kobra_go/anycubic_kobra_go_pla.inst.cfg b/resources/quality/anycubic_kobra_go/anycubic_kobra_go_pla.inst.cfg new file mode 100644 index 0000000000..e23b709129 --- /dev/null +++ b/resources/quality/anycubic_kobra_go/anycubic_kobra_go_pla.inst.cfg @@ -0,0 +1,30 @@ +[general] +definition = anycubic_kobra_go +name = Normal +version = 4 + +[metadata] +global_quality = True +material = generic_pla +quality_type = pla +setting_version = 20 +type = quality +weight = -2 + +[values] +bottom_layers = 6 +brim_width = 7.0 +infill_pattern = lines +infill_sparse_density = 15 +inset_direction = ='outside_in' if (True) else 'inside_out' +layer_height = 0.2 +material_final_print_temperature = 185 +material_initial_print_temperature = 185 +material_print_temperature = 190 +optimize_wall_printing_order = True +speed_print = 50.0 +top_layers = 6 +z_seam_corner = z_seam_corner_any +z_seam_type = sharpest_corner +z_seam_x = 111 + diff --git a/resources/quality/anycubic_kobra_go/anycubic_kobra_go_tpu.inst.cfg b/resources/quality/anycubic_kobra_go/anycubic_kobra_go_tpu.inst.cfg new file mode 100644 index 0000000000..a3bfd53e56 --- /dev/null +++ b/resources/quality/anycubic_kobra_go/anycubic_kobra_go_tpu.inst.cfg @@ -0,0 +1,35 @@ +[general] +definition = anycubic_kobra_go +name = Normal +version = 4 + +[metadata] +global_quality = True +material = generic_tpu +quality_type = tpu +setting_version = 20 +type = quality +weight = 1 + +[values] +acceleration_print = 1000.0 +acceleration_travel = 3000.0 +bottom_layers = 6 +brim_width = 7.0 +infill_pattern = lines +infill_sparse_density = 15 +inset_direction = ='outside_in' if (False) else 'inside_out' +layer_height = 0.2 +material_final_print_temperature = 190 +material_initial_print_temperature = 190 +material_print_temperature = 190 +material_print_temperature_layer_0 = 190 +optimize_wall_printing_order = True +retraction_amount = 8 +retraction_speed = 40 +speed_print = 50.0 +top_layers = 6 +z_seam_corner = z_seam_corner_inner +z_seam_type = sharpest_corner +z_seam_x = 111 + diff --git a/resources/quality/elegoo/base/abs040/abs_040012.inst.cfg b/resources/quality/elegoo/base/abs040/abs_040012.inst.cfg new file mode 100644 index 0000000000..dc69b0af22 --- /dev/null +++ b/resources/quality/elegoo/base/abs040/abs_040012.inst.cfg @@ -0,0 +1,30 @@ +[general] +definition = elegoo_base +name = abs_040012 +version = 4 + +[metadata] +material = generic_abs_175 +quality_type = high +setting_version = 20 +type = quality + +[values] +brim_gap = 0 +brim_width = 10 +cool_fan_enabled = False +cool_fan_speed = 0 +cool_fan_speed_0 = 0 +default_material_bed_temperature = 80 +default_material_print_temperature = 240 +layer_0_z_overlap = =raft_airgap*0.8 +material_shrinkage_percentage_xy = 100.3 +raft_airgap = =0.15 +raft_margin = 10 +retraction_speed = 25 +support_top_distance = =extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (0 if support_structure == 'tree' else 0) +support_xy_distance_overhang = =machine_nozzle_size*0.8 +support_z_distance = =layer_height/2 +top_bottom_thickness = 0.72 +wall_thickness = =line_width*2 + diff --git a/resources/quality/elegoo/base/abs040/abs_040016.inst.cfg b/resources/quality/elegoo/base/abs040/abs_040016.inst.cfg new file mode 100644 index 0000000000..ff621dfb68 --- /dev/null +++ b/resources/quality/elegoo/base/abs040/abs_040016.inst.cfg @@ -0,0 +1,30 @@ +[general] +definition = elegoo_base +name = abs_040016 +version = 4 + +[metadata] +material = generic_abs_175 +quality_type = normal +setting_version = 20 +type = quality + +[values] +brim_gap = 0 +brim_width = 10 +cool_fan_enabled = False +cool_fan_speed = 0 +cool_fan_speed_0 = 0 +default_material_bed_temperature = 80 +default_material_print_temperature = 240 +layer_0_z_overlap = =raft_airgap*0.8 +material_shrinkage_percentage_xy = 100.3 +raft_airgap = =0.15 +raft_margin = 10 +retraction_speed = 25 +support_top_distance = =extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (0 if support_structure == 'tree' else 0) +support_xy_distance_overhang = =machine_nozzle_size*0.8 +support_z_distance = =layer_height/2 +top_bottom_thickness = 0.64 +wall_thickness = =line_width*2 + diff --git a/resources/quality/elegoo/base/abs040/abs_040020.inst.cfg b/resources/quality/elegoo/base/abs040/abs_040020.inst.cfg new file mode 100644 index 0000000000..3408891b1b --- /dev/null +++ b/resources/quality/elegoo/base/abs040/abs_040020.inst.cfg @@ -0,0 +1,30 @@ +[general] +definition = elegoo_base +name = abs_040020 +version = 4 + +[metadata] +material = generic_abs_175 +quality_type = fine +setting_version = 20 +type = quality + +[values] +brim_gap = 0 +brim_width = 10 +cool_fan_enabled = False +cool_fan_speed = 0 +cool_fan_speed_0 = 0 +default_material_bed_temperature = 80 +default_material_print_temperature = 240 +layer_0_z_overlap = =raft_airgap*0.8 +material_shrinkage_percentage_xy = 100.3 +raft_airgap = =0.15 +raft_margin = 10 +retraction_speed = 25 +support_top_distance = =extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (0 if support_structure == 'tree' else 0) +support_xy_distance_overhang = =machine_nozzle_size*0.8 +support_z_distance = =layer_height/2 +top_bottom_thickness = 0.8 +wall_thickness = =line_width*2 + diff --git a/resources/quality/elegoo/base/abs040/abs_040024.inst.cfg b/resources/quality/elegoo/base/abs040/abs_040024.inst.cfg new file mode 100644 index 0000000000..0870be9452 --- /dev/null +++ b/resources/quality/elegoo/base/abs040/abs_040024.inst.cfg @@ -0,0 +1,30 @@ +[general] +definition = elegoo_base +name = abs_040024 +version = 4 + +[metadata] +material = generic_abs_175 +quality_type = medium +setting_version = 20 +type = quality + +[values] +brim_gap = 0 +brim_width = 10 +cool_fan_enabled = False +cool_fan_speed = 0 +cool_fan_speed_0 = 0 +default_material_bed_temperature = 80 +default_material_print_temperature = 240 +layer_0_z_overlap = =raft_airgap*0.8 +material_shrinkage_percentage_xy = 100.3 +raft_airgap = =0.15 +raft_margin = 10 +retraction_speed = 25 +support_top_distance = =extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (0 if support_structure == 'tree' else 0) +support_xy_distance_overhang = =machine_nozzle_size*0.8 +support_z_distance = =layer_height/2 +top_bottom_thickness = 0.75 +wall_thickness = =line_width*2 + diff --git a/resources/quality/elegoo/base/abs040/abs_040028.inst.cfg b/resources/quality/elegoo/base/abs040/abs_040028.inst.cfg new file mode 100644 index 0000000000..be6d330b8e --- /dev/null +++ b/resources/quality/elegoo/base/abs040/abs_040028.inst.cfg @@ -0,0 +1,30 @@ +[general] +definition = elegoo_base +name = abs_040028 +version = 4 + +[metadata] +material = generic_abs_175 +quality_type = draft +setting_version = 20 +type = quality + +[values] +brim_gap = 0 +brim_width = 10 +cool_fan_enabled = False +cool_fan_speed = 0 +cool_fan_speed_0 = 0 +default_material_bed_temperature = 80 +default_material_print_temperature = 240 +layer_0_z_overlap = =raft_airgap*0.8 +material_shrinkage_percentage_xy = 100.3 +raft_airgap = =0.2 +raft_margin = 10 +retraction_speed = 25 +support_top_distance = =extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (0 if support_structure == 'tree' else 0) +support_xy_distance_overhang = =machine_nozzle_size*0.8 +support_z_distance = =layer_height/2 +top_bottom_thickness = 0.84 +wall_thickness = =line_width*2 + diff --git a/resources/quality/elegoo/base/asa040/asa_040012.inst.cfg b/resources/quality/elegoo/base/asa040/asa_040012.inst.cfg new file mode 100644 index 0000000000..3a1eb40060 --- /dev/null +++ b/resources/quality/elegoo/base/asa040/asa_040012.inst.cfg @@ -0,0 +1,30 @@ +[general] +definition = elegoo_base +name = asa_040012 +version = 4 + +[metadata] +material = generic_asa_175 +quality_type = high +setting_version = 20 +type = quality + +[values] +brim_gap = 0 +brim_width = 10 +cool_fan_enabled = False +cool_fan_speed = 0 +cool_fan_speed_0 = 0 +default_material_bed_temperature = 80 +default_material_print_temperature = 240 +layer_0_z_overlap = =raft_airgap*0.8 +material_shrinkage_percentage_xy = 100.3 +raft_airgap = =0.15 +raft_margin = 15 +retraction_speed = 25 +support_top_distance = =extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (0 if support_structure == 'tree' else 0) +support_xy_distance_overhang = =machine_nozzle_size*0.8 +support_z_distance = =layer_height/2 +top_bottom_thickness = 0.72 +wall_thickness = =line_width*2 + diff --git a/resources/quality/elegoo/base/asa040/asa_040016.inst.cfg b/resources/quality/elegoo/base/asa040/asa_040016.inst.cfg new file mode 100644 index 0000000000..e686413233 --- /dev/null +++ b/resources/quality/elegoo/base/asa040/asa_040016.inst.cfg @@ -0,0 +1,30 @@ +[general] +definition = elegoo_base +name = asa_040016 +version = 4 + +[metadata] +material = generic_asa_175 +quality_type = normal +setting_version = 20 +type = quality + +[values] +brim_gap = 0 +brim_width = 10 +cool_fan_enabled = False +cool_fan_speed = 0 +cool_fan_speed_0 = 0 +default_material_bed_temperature = 80 +default_material_print_temperature = 240 +layer_0_z_overlap = =raft_airgap*0.8 +material_shrinkage_percentage_xy = 100.3 +raft_airgap = =0.15 +raft_margin = 15 +retraction_speed = 25 +support_top_distance = =extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (0 if support_structure == 'tree' else 0) +support_xy_distance_overhang = =machine_nozzle_size*0.8 +support_z_distance = =layer_height/2 +top_bottom_thickness = 0.64 +wall_thickness = =line_width*2 + diff --git a/resources/quality/elegoo/base/asa040/asa_040020.inst.cfg b/resources/quality/elegoo/base/asa040/asa_040020.inst.cfg new file mode 100644 index 0000000000..b4676cda42 --- /dev/null +++ b/resources/quality/elegoo/base/asa040/asa_040020.inst.cfg @@ -0,0 +1,30 @@ +[general] +definition = elegoo_base +name = asa_040020 +version = 4 + +[metadata] +material = generic_asa_175 +quality_type = fine +setting_version = 20 +type = quality + +[values] +brim_gap = 0 +brim_width = 10 +cool_fan_enabled = False +cool_fan_speed = 0 +cool_fan_speed_0 = 0 +default_material_bed_temperature = 80 +default_material_print_temperature = 240 +layer_0_z_overlap = =raft_airgap*0.8 +material_shrinkage_percentage_xy = 100.3 +raft_airgap = =0.15 +raft_margin = 15 +retraction_speed = 25 +support_top_distance = =extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (0 if support_structure == 'tree' else 0) +support_xy_distance_overhang = =machine_nozzle_size*0.8 +support_z_distance = =layer_height/2 +top_bottom_thickness = 0.8 +wall_thickness = =line_width*2 + diff --git a/resources/quality/elegoo/base/asa040/asa_040024.inst.cfg b/resources/quality/elegoo/base/asa040/asa_040024.inst.cfg new file mode 100644 index 0000000000..4e8c3f9a1f --- /dev/null +++ b/resources/quality/elegoo/base/asa040/asa_040024.inst.cfg @@ -0,0 +1,30 @@ +[general] +definition = elegoo_base +name = asa_040024 +version = 4 + +[metadata] +material = generic_asa_175 +quality_type = medium +setting_version = 20 +type = quality + +[values] +brim_gap = 0 +brim_width = 10 +cool_fan_enabled = False +cool_fan_speed = 0 +cool_fan_speed_0 = 0 +default_material_bed_temperature = 80 +default_material_print_temperature = 240 +layer_0_z_overlap = =raft_airgap*0.8 +material_shrinkage_percentage_xy = 100.3 +raft_airgap = =0.15 +raft_margin = 15 +retraction_speed = 25 +support_top_distance = =extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (0 if support_structure == 'tree' else 0) +support_xy_distance_overhang = =machine_nozzle_size*0.8 +support_z_distance = =layer_height/2 +top_bottom_thickness = 0.75 +wall_thickness = =line_width*2 + diff --git a/resources/quality/elegoo/base/asa040/asa_040028.inst.cfg b/resources/quality/elegoo/base/asa040/asa_040028.inst.cfg new file mode 100644 index 0000000000..bbd9c3bf91 --- /dev/null +++ b/resources/quality/elegoo/base/asa040/asa_040028.inst.cfg @@ -0,0 +1,30 @@ +[general] +definition = elegoo_base +name = asa_040028 +version = 4 + +[metadata] +material = generic_asa_175 +quality_type = draft +setting_version = 20 +type = quality + +[values] +brim_gap = 0 +brim_width = 10 +cool_fan_enabled = False +cool_fan_speed = 0 +cool_fan_speed_0 = 0 +default_material_bed_temperature = 80 +default_material_print_temperature = 240 +layer_0_z_overlap = =raft_airgap*0.8 +material_shrinkage_percentage_xy = 100.3 +raft_airgap = =0.2 +raft_margin = 15 +retraction_speed = 25 +support_top_distance = =extruderValue(support_roof_extruder_nr if support_roof_enable else support_infill_extruder_nr, 'support_z_distance') + (0 if support_structure == 'tree' else 0) +support_xy_distance_overhang = =machine_nozzle_size*0.8 +support_z_distance = =layer_height/2 +top_bottom_thickness = 0.84 +wall_thickness = =line_width*2 + diff --git a/resources/quality/elegoo/base/elegoo_global_012_high.inst.cfg b/resources/quality/elegoo/base/elegoo_global_012_high.inst.cfg new file mode 100644 index 0000000000..d0c966161b --- /dev/null +++ b/resources/quality/elegoo/base/elegoo_global_012_high.inst.cfg @@ -0,0 +1,20 @@ +[general] +definition = elegoo_base +name = High Quality +version = 4 + +[metadata] +global_quality = True +quality_type = high +setting_version = 20 +type = quality +weight = -1 + +[values] +layer_height = 0.12 +layer_height_0 = 0.2 +material_print_temperature = =default_material_print_temperature +prime_tower_size = 40 +speed_print = 70 +top_bottom_thickness = 0.7 + diff --git a/resources/quality/elegoo/base/elegoo_global_016_normal.inst.cfg b/resources/quality/elegoo/base/elegoo_global_016_normal.inst.cfg new file mode 100644 index 0000000000..13ccca712d --- /dev/null +++ b/resources/quality/elegoo/base/elegoo_global_016_normal.inst.cfg @@ -0,0 +1,20 @@ +[general] +definition = elegoo_base +name = Normal Quality +version = 4 + +[metadata] +global_quality = True +quality_type = normal +setting_version = 20 +type = quality +weight = -2 + +[values] +layer_height = 0.16 +layer_height_0 = 0.25 +material_print_temperature = =default_material_print_temperature +prime_tower_size = 35 +speed_print = 60 +top_bottom_thickness = 0.8 + diff --git a/resources/quality/elegoo/base/elegoo_global_020_fine.inst.cfg b/resources/quality/elegoo/base/elegoo_global_020_fine.inst.cfg new file mode 100644 index 0000000000..33ced3b4cf --- /dev/null +++ b/resources/quality/elegoo/base/elegoo_global_020_fine.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = elegoo_base +name = Fine Quality +version = 4 + +[metadata] +global_quality = True +quality_type = fine +setting_version = 20 +type = quality +weight = -3 + +[values] +layer_height = 0.20 +layer_height_0 = 0.25 +material_print_temperature = =default_material_print_temperature +prime_tower_size = 31 +top_bottom_thickness = 0.8 + diff --git a/resources/quality/elegoo/base/elegoo_global_024_medium.inst.cfg b/resources/quality/elegoo/base/elegoo_global_024_medium.inst.cfg new file mode 100644 index 0000000000..3bf3865bb9 --- /dev/null +++ b/resources/quality/elegoo/base/elegoo_global_024_medium.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = elegoo_base +name = Medium Quality +version = 4 + +[metadata] +global_quality = True +quality_type = medium +setting_version = 20 +type = quality +weight = -4 + +[values] +layer_height = 0.24 +layer_height_0 = 0.25 +material_print_temperature = =default_material_print_temperature +prime_tower_size = 28 +top_bottom_thickness = 1.0 + diff --git a/resources/quality/elegoo/base/elegoo_global_028_draft.inst.cfg b/resources/quality/elegoo/base/elegoo_global_028_draft.inst.cfg new file mode 100644 index 0000000000..3379bbef81 --- /dev/null +++ b/resources/quality/elegoo/base/elegoo_global_028_draft.inst.cfg @@ -0,0 +1,19 @@ +[general] +definition = elegoo_base +name = Draft Quality +version = 4 + +[metadata] +global_quality = True +quality_type = draft +setting_version = 20 +type = quality +weight = -5 + +[values] +layer_height = 0.28 +layer_height_0 = 0.30 +material_print_temperature = =default_material_print_temperature + 5 +prime_tower_size = 27 +top_bottom_thickness = 1.0 + diff --git a/resources/quality/elegoo/base/petg040/petg_040012.inst.cfg b/resources/quality/elegoo/base/petg040/petg_040012.inst.cfg new file mode 100644 index 0000000000..ccb5de943d --- /dev/null +++ b/resources/quality/elegoo/base/petg040/petg_040012.inst.cfg @@ -0,0 +1,25 @@ +[general] +definition = elegoo_base +name = petg_040012 +version = 4 + +[metadata] +material = generic_petg_175 +quality_type = high +setting_version = 20 +type = quality + +[values] +brim_width = 6 +cool_fan_speed_min = =cool_fan_speed*0.5 +cool_min_layer_time = 10 +cool_min_layer_time_fan_speed_max = 30 +default_material_bed_temperature = 70 +default_material_print_temperature = 235 +layer_0_z_overlap = =raft_airgap*0.6 +material_shrinkage_percentage_xy = 100.2 +raft_airgap = =0.35 +raft_margin = 10 +retraction_speed = 25 +speed_support = =speed_wall_x + diff --git a/resources/quality/elegoo/base/petg040/petg_040016.inst.cfg b/resources/quality/elegoo/base/petg040/petg_040016.inst.cfg new file mode 100644 index 0000000000..5dc896bec0 --- /dev/null +++ b/resources/quality/elegoo/base/petg040/petg_040016.inst.cfg @@ -0,0 +1,25 @@ +[general] +definition = elegoo_base +name = petg_040016 +version = 4 + +[metadata] +material = generic_petg_175 +quality_type = normal +setting_version = 20 +type = quality + +[values] +brim_width = 6 +cool_fan_speed_min = =cool_fan_speed*0.5 +cool_min_layer_time = 10 +cool_min_layer_time_fan_speed_max = 30 +default_material_bed_temperature = 70 +default_material_print_temperature = 235 +layer_0_z_overlap = =raft_airgap*0.6 +material_shrinkage_percentage_xy = 100.2 +raft_airgap = =0.35 +raft_margin = 10 +retraction_speed = 25 +speed_support = =speed_wall_x + diff --git a/resources/quality/elegoo/base/petg040/petg_040020.inst.cfg b/resources/quality/elegoo/base/petg040/petg_040020.inst.cfg new file mode 100644 index 0000000000..f497cf8111 --- /dev/null +++ b/resources/quality/elegoo/base/petg040/petg_040020.inst.cfg @@ -0,0 +1,25 @@ +[general] +definition = elegoo_base +name = petg_040020 +version = 4 + +[metadata] +material = generic_petg_175 +quality_type = fine +setting_version = 20 +type = quality + +[values] +brim_width = 6 +cool_fan_speed_min = =cool_fan_speed*0.5 +cool_min_layer_time = 10 +cool_min_layer_time_fan_speed_max = 30 +default_material_bed_temperature = 70 +default_material_print_temperature = 235 +layer_0_z_overlap = =raft_airgap*0.6 +material_shrinkage_percentage_xy = 100.2 +raft_airgap = =0.35 +raft_margin = 10 +retraction_speed = 25 +speed_support = =speed_wall_x + diff --git a/resources/quality/elegoo/base/petg040/petg_040024.inst.cfg b/resources/quality/elegoo/base/petg040/petg_040024.inst.cfg new file mode 100644 index 0000000000..416f70bff5 --- /dev/null +++ b/resources/quality/elegoo/base/petg040/petg_040024.inst.cfg @@ -0,0 +1,25 @@ +[general] +definition = elegoo_base +name = petg_040024 +version = 4 + +[metadata] +material = generic_petg_175 +quality_type = medium +setting_version = 20 +type = quality + +[values] +brim_width = 6 +cool_fan_speed_min = =cool_fan_speed*0.5 +cool_min_layer_time = 10 +cool_min_layer_time_fan_speed_max = 30 +default_material_bed_temperature = 70 +default_material_print_temperature = 235 +layer_0_z_overlap = =raft_airgap*0.6 +material_shrinkage_percentage_xy = 100.2 +raft_airgap = =0.35 +raft_margin = 10 +retraction_speed = 25 +speed_support = =speed_wall_x + diff --git a/resources/quality/elegoo/base/petg040/petg_040028.inst.cfg b/resources/quality/elegoo/base/petg040/petg_040028.inst.cfg new file mode 100644 index 0000000000..83aeeebc7b --- /dev/null +++ b/resources/quality/elegoo/base/petg040/petg_040028.inst.cfg @@ -0,0 +1,25 @@ +[general] +definition = elegoo_base +name = petg_040028 +version = 4 + +[metadata] +material = generic_petg_175 +quality_type = draft +setting_version = 20 +type = quality + +[values] +brim_width = 6 +cool_fan_speed_min = =cool_fan_speed*0.5 +cool_min_layer_time = 10 +cool_min_layer_time_fan_speed_max = 30 +default_material_bed_temperature = 70 +default_material_print_temperature = 235 +layer_0_z_overlap = =raft_airgap*0.6 +material_shrinkage_percentage_xy = 100.2 +raft_airgap = =0.38 +raft_margin = 10 +retraction_speed = 25 +speed_support = =speed_wall_x + diff --git a/resources/quality/elegoo/base/pla040/pla_040012.inst.cfg b/resources/quality/elegoo/base/pla040/pla_040012.inst.cfg new file mode 100644 index 0000000000..68cc59a857 --- /dev/null +++ b/resources/quality/elegoo/base/pla040/pla_040012.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = elegoo_base +name = pla_040012 +version = 4 + +[metadata] +material = generic_pla_175 +quality_type = high +setting_version = 20 +type = quality + +[values] +brim_width = 3.5 +default_material_bed_temperature = 50 +layer_0_z_overlap = =raft_airgap*0.7 +raft_airgap = =0.3 +retraction_speed = 45 + diff --git a/resources/quality/elegoo/base/pla040/pla_040016.inst.cfg b/resources/quality/elegoo/base/pla040/pla_040016.inst.cfg new file mode 100644 index 0000000000..b73e5ce833 --- /dev/null +++ b/resources/quality/elegoo/base/pla040/pla_040016.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = elegoo_base +name = pla_040016 +version = 4 + +[metadata] +material = generic_pla_175 +quality_type = normal +setting_version = 20 +type = quality + +[values] +brim_width = 3.5 +default_material_bed_temperature = 50 +layer_0_z_overlap = =raft_airgap*0.7 +raft_airgap = =0.3 +retraction_speed = 45 + diff --git a/resources/quality/elegoo/base/pla040/pla_040020.inst.cfg b/resources/quality/elegoo/base/pla040/pla_040020.inst.cfg new file mode 100644 index 0000000000..90c8b47411 --- /dev/null +++ b/resources/quality/elegoo/base/pla040/pla_040020.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = elegoo_base +name = pla_040020 +version = 4 + +[metadata] +material = generic_pla_175 +quality_type = fine +setting_version = 20 +type = quality + +[values] +brim_width = 3.5 +default_material_bed_temperature = 50 +layer_0_z_overlap = =raft_airgap*0.7 +raft_airgap = =0.3 +retraction_speed = 45 + diff --git a/resources/quality/elegoo/base/pla040/pla_040024.inst.cfg b/resources/quality/elegoo/base/pla040/pla_040024.inst.cfg new file mode 100644 index 0000000000..6a734bdfa7 --- /dev/null +++ b/resources/quality/elegoo/base/pla040/pla_040024.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = elegoo_base +name = pla_040024 +version = 4 + +[metadata] +material = generic_pla_175 +quality_type = medium +setting_version = 20 +type = quality + +[values] +brim_width = 3.5 +default_material_bed_temperature = 50 +layer_0_z_overlap = =raft_airgap*0.6 +raft_airgap = =0.3 +retraction_speed = 45 + diff --git a/resources/quality/elegoo/base/pla040/pla_040028.inst.cfg b/resources/quality/elegoo/base/pla040/pla_040028.inst.cfg new file mode 100644 index 0000000000..57dc36c6c8 --- /dev/null +++ b/resources/quality/elegoo/base/pla040/pla_040028.inst.cfg @@ -0,0 +1,18 @@ +[general] +definition = elegoo_base +name = pla_040028 +version = 4 + +[metadata] +material = generic_pla_175 +quality_type = draft +setting_version = 20 +type = quality + +[values] +brim_width = 3.5 +default_material_bed_temperature = 50 +layer_0_z_overlap = =raft_airgap*0.6 +raft_airgap = =0.35 +retraction_speed = 45 + diff --git a/resources/quality/elegoo/base/tpu040/tpu_040012.inst.cfg b/resources/quality/elegoo/base/tpu040/tpu_040012.inst.cfg new file mode 100644 index 0000000000..07d0315a64 --- /dev/null +++ b/resources/quality/elegoo/base/tpu040/tpu_040012.inst.cfg @@ -0,0 +1,25 @@ +[general] +definition = elegoo_base +name = tpu_040012 +version = 4 + +[metadata] +material = generic_tpu_175 +quality_type = high +setting_version = 20 +type = quality + +[values] +brim_width = 5 +cool_min_layer_time = 10 +default_material_bed_temperature = 45 +default_material_print_temperature = 230 +retraction_speed = 25 +speed_print = 50 +speed_print_layer_0 = 15 +speed_support = =speed_wall_x +speed_support_interface = =speed_wall_x +speed_topbottom = =speed_wall +speed_wall_x = =speed_wall +support_angle = 35 + diff --git a/resources/quality/elegoo/base/tpu040/tpu_040016.inst.cfg b/resources/quality/elegoo/base/tpu040/tpu_040016.inst.cfg new file mode 100644 index 0000000000..9a57d03271 --- /dev/null +++ b/resources/quality/elegoo/base/tpu040/tpu_040016.inst.cfg @@ -0,0 +1,25 @@ +[general] +definition = elegoo_base +name = tpu_040016 +version = 4 + +[metadata] +material = generic_tpu_175 +quality_type = normal +setting_version = 20 +type = quality + +[values] +brim_width = 5 +cool_min_layer_time = 10 +default_material_bed_temperature = 45 +default_material_print_temperature = 230 +retraction_speed = 25 +speed_print = 50 +speed_print_layer_0 = 15 +speed_support = =speed_wall_x +speed_support_interface = =speed_wall_x +speed_topbottom = =speed_wall +speed_wall_x = =speed_wall +support_angle = 35 + diff --git a/resources/quality/elegoo/base/tpu040/tpu_040020.inst.cfg b/resources/quality/elegoo/base/tpu040/tpu_040020.inst.cfg new file mode 100644 index 0000000000..738aa29469 --- /dev/null +++ b/resources/quality/elegoo/base/tpu040/tpu_040020.inst.cfg @@ -0,0 +1,25 @@ +[general] +definition = elegoo_base +name = tpu_040020 +version = 4 + +[metadata] +material = generic_tpu_175 +quality_type = fine +setting_version = 20 +type = quality + +[values] +brim_width = 5 +cool_min_layer_time = 10 +default_material_bed_temperature = 45 +default_material_print_temperature = 230 +retraction_speed = 25 +speed_print = 50 +speed_print_layer_0 = 15 +speed_support = =speed_wall_x +speed_support_interface = =speed_wall_x +speed_topbottom = =speed_wall +speed_wall_x = =speed_wall +support_angle = 35 + diff --git a/resources/quality/elegoo/base/tpu040/tpu_040024.inst.cfg b/resources/quality/elegoo/base/tpu040/tpu_040024.inst.cfg new file mode 100644 index 0000000000..5d1f7d5523 --- /dev/null +++ b/resources/quality/elegoo/base/tpu040/tpu_040024.inst.cfg @@ -0,0 +1,25 @@ +[general] +definition = elegoo_base +name = tpu_040024 +version = 4 + +[metadata] +material = generic_tpu_175 +quality_type = medium +setting_version = 20 +type = quality + +[values] +brim_width = 5 +cool_min_layer_time = 10 +default_material_bed_temperature = 45 +default_material_print_temperature = 230 +retraction_speed = 25 +speed_print = 50 +speed_print_layer_0 = 15 +speed_support = =speed_wall_x +speed_support_interface = =speed_wall_x +speed_topbottom = =speed_wall +speed_wall_x = =speed_wall +support_angle = 35 + diff --git a/resources/quality/flsun_v400/flsun_v400_normal.inst.cfg b/resources/quality/flsun_v400/flsun_v400_normal.inst.cfg new file mode 100644 index 0000000000..a430f1262b --- /dev/null +++ b/resources/quality/flsun_v400/flsun_v400_normal.inst.cfg @@ -0,0 +1,126 @@ +[general] +definition = flsun_v400 +name = Normal +version = 4 + +[metadata] +global_quality = True +quality_type = normal +setting_version = 20 +type = quality +weight = -2 + +[values] +acceleration_enabled = True +acceleration_print = 8000.0 +acceleration_topbottom = 6000.0 +acceleration_travel = 8000.0 +acceleration_wall = 5000.0 +adhesion_type = brim +bridge_enable_more_layers = False +bridge_settings_enabled = True +bridge_skin_material_flow = 60 +bridge_skin_speed = 60 +bridge_skin_support_threshold = 50 +bridge_wall_material_flow = 100.0 +bridge_wall_speed = 60 +brim_width = 6.6 +cool_fan_full_at_height = 0.6 +cool_fan_speed = 100 +cool_lift_head = False +cool_min_layer_time = 5 +expand_skins_expand_distance = 0.8 +fill_outline_gaps = False +infill_before_walls = False +infill_enable_travel_optimization = False +infill_pattern = grid +infill_sparse_density = 10.0 +infill_support_angle = 50 +inset_direction = inside_out +ironing_enabled = False +ironing_only_highest_layer = True +jerk_enabled = True +jerk_infill = 100.0 +jerk_layer_0 = 10.0 +jerk_print = 10.0 +jerk_roofing = 10.0 +jerk_support_interface = 10.0 +jerk_topbottom = 10.0 +jerk_travel = 100.0 +jerk_wall = 10.0 +jerk_wall_0 = 5.0 +layer_height = 0.2 +layer_height_0 = 0.3 +line_width = 0.44 +material_bed_temperature = 60 +material_bed_temperature_layer_0 = 60 +material_final_print_temperature = 210 +material_flow_dependent_temperature = False +material_initial_print_temperature = 210 +material_print_temperature = 210 +material_print_temperature_layer_0 = 210 +max_skin_angle_for_expansion = 90 +minimum_interface_area = 2.0 +minimum_support_area = 2.0 +optimize_wall_printing_order = True +raft_speed = 75.0 +retract_at_layer_change = False +retraction_amount = 0.6 +retraction_combing = noskin +retraction_combing_max_distance = 10 +retraction_hop = 0.3 +retraction_hop_enabled = True +retraction_hop_only_when_collides = False +retraction_speed = 40 +roofing_layer_count = 1 +skin_monotonic = True +skin_no_small_gaps_heuristic = False +skin_overlap = 10 +skin_preshrink = 0.8 +skirt_line_count = 2 +small_feature_speed_factor = 60.0 +small_hole_max_size = 5.0 +speed_infill = 350.0 +speed_layer_0 = 25 +speed_print = 400.0 +speed_roofing = 120.0 +speed_support = 350 +speed_support_interface = 100 +speed_topbottom = 120.0 +speed_travel = 400.0 +speed_travel_layer_0 = 50.0 +speed_wall = 120.0 +speed_wall_x = 280.0 +speed_z_hop = 50.0 +support_angle = 65 +support_brim_enable = True +support_brim_width = 8.8 +support_enable = False +support_infill_rate = 10 +support_interface_density = 70 +support_interface_enable = True +support_interface_height = 0.6 +support_interface_pattern = lines +support_interface_skip_height = 0.2 +support_pattern = zigzag +support_roof_density = 70 +support_type = everywhere +support_use_towers = False +support_wall_count = 1 +support_xy_distance = 0.5 +support_xy_overrides_z = xy_overrides_z +support_z_distance = 0.2 +top_bottom_thickness = 0.6 +top_layers = =0 if infill_sparse_density == 100 else math.ceil(round(top_thickness / resolveOrValue('layer_height'), 4)) +top_thickness = 1 +travel_avoid_other_parts = True +travel_avoid_supports = True +travel_retract_before_outer_wall = False +wall_overhang_angle = 35.0 +wall_overhang_speed_factor = 60.0 +wall_thickness = =line_width*2 +z_seam_corner = z_seam_corner_inner +z_seam_position = backright +z_seam_type = sharpest_corner +zig_zaggify_infill = True + diff --git a/resources/variants/voron/voron_trident_250_0.40.inst.cfg b/resources/variants/voron/voron_trident_250_0.40.inst.cfg new file mode 100644 index 0000000000..8688286f5b --- /dev/null +++ b/resources/variants/voron/voron_trident_250_0.40.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_250 +name = V6 0.40mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 20 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/voron/voron_trident_250_0.60.inst.cfg b/resources/variants/voron/voron_trident_250_0.60.inst.cfg new file mode 100644 index 0000000000..c19e3edebd --- /dev/null +++ b/resources/variants/voron/voron_trident_250_0.60.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_250 +name = V6 0.60mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 20 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/voron/voron_trident_250_0.80.inst.cfg b/resources/variants/voron/voron_trident_250_0.80.inst.cfg new file mode 100644 index 0000000000..e399235ad4 --- /dev/null +++ b/resources/variants/voron/voron_trident_250_0.80.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_250 +name = V6 0.80mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 20 +type = variant + +[values] +machine_nozzle_size = 0.8 + diff --git a/resources/variants/voron/voron_trident_300_0.40.inst.cfg b/resources/variants/voron/voron_trident_300_0.40.inst.cfg new file mode 100644 index 0000000000..8e2f274389 --- /dev/null +++ b/resources/variants/voron/voron_trident_300_0.40.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_300 +name = V6 0.40mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 20 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/voron/voron_trident_300_0.60.inst.cfg b/resources/variants/voron/voron_trident_300_0.60.inst.cfg new file mode 100644 index 0000000000..095c2b28bc --- /dev/null +++ b/resources/variants/voron/voron_trident_300_0.60.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_300 +name = V6 0.60mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 20 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/voron/voron_trident_300_0.80.inst.cfg b/resources/variants/voron/voron_trident_300_0.80.inst.cfg new file mode 100644 index 0000000000..85e49b762a --- /dev/null +++ b/resources/variants/voron/voron_trident_300_0.80.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_300 +name = V6 0.80mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 20 +type = variant + +[values] +machine_nozzle_size = 0.8 + diff --git a/resources/variants/voron/voron_trident_350_0.40.inst.cfg b/resources/variants/voron/voron_trident_350_0.40.inst.cfg new file mode 100644 index 0000000000..2235597d38 --- /dev/null +++ b/resources/variants/voron/voron_trident_350_0.40.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_350 +name = V6 0.40mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 20 +type = variant + +[values] +machine_nozzle_size = 0.4 + diff --git a/resources/variants/voron/voron_trident_350_0.60.inst.cfg b/resources/variants/voron/voron_trident_350_0.60.inst.cfg new file mode 100644 index 0000000000..972f27d53e --- /dev/null +++ b/resources/variants/voron/voron_trident_350_0.60.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_350 +name = V6 0.60mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 20 +type = variant + +[values] +machine_nozzle_size = 0.6 + diff --git a/resources/variants/voron/voron_trident_350_0.80.inst.cfg b/resources/variants/voron/voron_trident_350_0.80.inst.cfg new file mode 100644 index 0000000000..64668a866d --- /dev/null +++ b/resources/variants/voron/voron_trident_350_0.80.inst.cfg @@ -0,0 +1,13 @@ +[general] +definition = voron_trident_350 +name = V6 0.80mm +version = 4 + +[metadata] +hardware_type = nozzle +setting_version = 20 +type = variant + +[values] +machine_nozzle_size = 0.8 +