Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Voron volumetric speed #20023

Draft
wants to merge 76 commits into
base: main
Choose a base branch
from

Conversation

NerdyGriffin
Copy link
Contributor

Description

This updates the Voron base definition files and material profiles to make better use of the latest features and defaults inherited from fdmprinter.def.json. The goal is to simplify the printer definition, reduce the number of redundant lines of code, and replace hard-coded values with parametric definitions so that the base printer definition can more effectively adapt to custom Voron printer configurations. I have also designed the behavior of these printer definitions to be more consistent with the community-made Voron definitions found in other open-source slicers, to keep these definitions up-to-date with the changes and improvements that have been made to both the Voron printer hardware and Voron support/compatibility seen on other slicers.

I have chosen the parametric print speeds so that they result in the exact same print speeds as the previous hard-coded values. This ensures that print speeds continue to be calculated appropriately for other combinations of nozzle sizes and layer heights that are not yet standardized in this printer definition, while keeping this new printer definition fully backwards-compatible with existing Voron users' custom print/material profiles.

Type of change

  • Printer definition file(s)

How Has This Been Tested?

  • I manually created various print profiles (e.g. each combination of nozzle size and layer height) and reviewed the results of the parametric print speeds to ensure they produce the same results as the previously hard-coded print_speed values for all the supported material types.
  • For each of the print settings I have modified (e.g. cool_min_speed, travel_speed, etc.), I manually checked the values displayed in the slicer when using different combinations of printers, nozzle sizes, layer heights, and material types to ensure that they were calculated to the results I intended.

Test Configuration:

  • Operating System: Windows 11

Checklist:

WCEngineer and others added 30 commits August 30, 2024 14:50
@github-actions github-actions bot added the PR: Community Contribution 👑 Community Contribution PR's label Dec 11, 2024
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Clang-Tidy found issue(s) with the introduced code (1/1)

"adhesion_type": { "default_value": "skirt" },
"alternate_extra_perimeter": { "default_value": true },
"bridge_fan_speed": { "default_value": 100 },
"bridge_fan_speed_2": { "resolve": "max(cool_fan_speed, 50)" },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ diagnostic-definition-experimental-setting ⚠️
Setting bridge_fan_speed_2 is still experimental and should not be used in default profiles

"adhesion_type": { "default_value": "skirt" },
"alternate_extra_perimeter": { "default_value": true },
"bridge_fan_speed": { "default_value": 100 },
"bridge_fan_speed_2": { "resolve": "max(cool_fan_speed, 50)" },
"bridge_fan_speed_3": { "resolve": "max(cool_fan_speed, 20)" },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ diagnostic-definition-experimental-setting ⚠️
Setting bridge_fan_speed_3 is still experimental and should not be used in default profiles

"adhesion_type": { "default_value": "skirt" },
"alternate_extra_perimeter": { "default_value": true },
"bridge_fan_speed": { "default_value": 100 },
"bridge_fan_speed_2": { "resolve": "max(cool_fan_speed, 50)" },
"bridge_fan_speed_3": { "resolve": "max(cool_fan_speed, 20)" },
"bridge_settings_enabled": { "default_value": true },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ diagnostic-definition-experimental-setting ⚠️
Setting bridge_settings_enabled is still experimental and should not be used in default profiles

"adhesion_type": { "default_value": "skirt" },
"alternate_extra_perimeter": { "default_value": true },
"bridge_fan_speed": { "default_value": 100 },
"bridge_fan_speed_2": { "resolve": "max(cool_fan_speed, 50)" },
"bridge_fan_speed_3": { "resolve": "max(cool_fan_speed, 20)" },
"bridge_settings_enabled": { "default_value": true },
"bridge_wall_coast": { "default_value": 10 },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ diagnostic-definition-experimental-setting ⚠️
Setting bridge_wall_coast is still experimental and should not be used in default profiles

"cool_min_layer_time_fan_speed_max": { "default_value": 20 },
"fill_outline_gaps": { "default_value": true },
"cool_min_layer_time_fan_speed_max": { "value": "cool_min_layer_time + 5" },
"cool_min_speed": { "value": "max(round(speed_layer_0 / 2), round(speed_wall_0 * 3 / 4) if cool_lift_head else round(speed_wall_0 / 2))" },
"gantry_height": { "value": 30 },
"infill_before_walls": { "default_value": false },
"infill_enable_travel_optimization": { "default_value": true },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ diagnostic-definition-experimental-setting ⚠️
Setting infill_enable_travel_optimization is still experimental and should not be used in default profiles

@@ -84,42 +73,44 @@
"meshfix_maximum_resolution": { "default_value": 0.01 },
"min_infill_area": { "default_value": 5.0 },
"minimum_polygon_circumference": { "default_value": 0.2 },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ diagnostic-definition-experimental-setting ⚠️
Setting minimum_polygon_circumference is still experimental and should not be used in default profiles

"travel_avoid_other_parts": { "default_value": false },
"wall_line_width": { "value": "machine_nozzle_size" },
"speed_z_hop": { "value": "max(10, machine_max_feedrate_z / 2)" },
"top_bottom_thickness": { "value": "wall_thickness" },
"wall_overhang_angle": { "default_value": 75 },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ diagnostic-definition-experimental-setting ⚠️
Setting wall_overhang_angle is still experimental and should not be used in default profiles

"travel_avoid_other_parts": { "default_value": false },
"wall_line_width": { "value": "machine_nozzle_size" },
"speed_z_hop": { "value": "max(10, machine_max_feedrate_z / 2)" },
"top_bottom_thickness": { "value": "wall_thickness" },
"wall_overhang_angle": { "default_value": 75 },
"wall_overhang_speed_factor": { "default_value": 50 },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ diagnostic-definition-experimental-setting ⚠️
Setting wall_overhang_speed_factor is still experimental and should not be used in default profiles

Copy link
Contributor

github-actions bot commented Dec 11, 2024

Test Results

23 370 tests  ±0   23 368 ✅ ±0   53s ⏱️ -1s
     1 suites ±0        2 💤 ±0 
     1 files   ±0        0 ❌ ±0 

Results for commit bfe581e. ± Comparison against base commit 382b98e.

♻️ This comment has been updated with latest results.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: Community Contribution 👑 Community Contribution PR's
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants