From d828c252d7814966bae8f079ab88a0a516c18d04 Mon Sep 17 00:00:00 2001 From: Ian Bassi Date: Mon, 4 May 2026 10:45:43 -0300 Subject: [PATCH] Categorized variables by mode --- .../quality/quality_settings_precision.md | 5 ++- .../quality/quality_settings_seam.md | 5 ++- .../quality_settings_wall_generator.md | 5 ++- .../motion ability/printer_motion_ability.md | 6 ++- sync-tab-options-to-wiki.ps1 | 44 ++++++++++++++----- 5 files changed, 47 insertions(+), 18 deletions(-) diff --git a/print_settings/quality/quality_settings_precision.md b/print_settings/quality/quality_settings_precision.md index 4b79fd9..f52b814 100644 --- a/print_settings/quality/quality_settings_precision.md +++ b/print_settings/quality/quality_settings_precision.md @@ -91,8 +91,9 @@ This function is used to adjust sizes slightly when the objects have assembling ## Elephant foot compensation -[Modes](config_option_mode): `Advanced`, `Expert`. -[Variables](built_in_placeholders_variables): `elefant_foot_compensation`, `elefant_foot_layers_density`, `elefant_foot_compensation_layers`. +[Modes](config_option_mode): +`Advanced` [Variables](built_in_placeholders_variables): `elefant_foot_compensation`, `elefant_foot_compensation_layers`. +`Expert` [Variable](built_in_placeholders_variables): `elefant_foot_layers_density`. This feature compensates for the "elephant foot" effect, which occurs when the first few layers of a print are wider than the rest due: - Weight of the material above them. diff --git a/print_settings/quality/quality_settings_seam.md b/print_settings/quality/quality_settings_seam.md index 14c90ab..e11aa58 100644 --- a/print_settings/quality/quality_settings_seam.md +++ b/print_settings/quality/quality_settings_seam.md @@ -98,8 +98,9 @@ Controls the gap in mm or as a percentage of the nozzle size between the two end ### Scarf joint seam -[Modes](config_option_mode): `Advanced`, `Developer`. -[Variables](built_in_placeholders_variables): `seam_slope_type`, `seam_slope_conditional`, `scarf_angle_threshold`, `scarf_overhang_threshold`, `scarf_joint_speed`, `seam_slope_start_height`, `seam_slope_entire_loop`, `seam_slope_min_length`, `seam_slope_steps`, `scarf_joint_flow_ratio`, `seam_slope_inner_walls`. +[Modes](config_option_mode): +`Advanced` [Variables](built_in_placeholders_variables): `seam_slope_type`, `seam_slope_conditional`, `scarf_angle_threshold`, `scarf_overhang_threshold`, `scarf_joint_speed`, `seam_slope_start_height`, `seam_slope_entire_loop`, `seam_slope_min_length`, `seam_slope_steps`, `seam_slope_inner_walls`. +`Developer` [Variable](built_in_placeholders_variables): `scarf_joint_flow_ratio`. Adjusts the extrusion flow rate at seam points to create a smooth overlap between the start and end of each loop, minimizing visible defects. ![scarf-joint-seam](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/seam/scarf-joint-seam.png?raw=true) diff --git a/print_settings/quality/quality_settings_wall_generator.md b/print_settings/quality/quality_settings_wall_generator.md index cbfb39a..691806f 100644 --- a/print_settings/quality/quality_settings_wall_generator.md +++ b/print_settings/quality/quality_settings_wall_generator.md @@ -22,8 +22,9 @@ This method does not vary extrusion width and is ideal for fast, predictable sli ## Arachne -[Modes](config_option_mode): `Advanced`, `Expert`. -[Variables](built_in_placeholders_variables): `wall_transition_angle`, `wall_transition_filter_deviation`, `wall_transition_length`, `wall_distribution_count`, `initial_layer_min_bead_width`, `min_bead_width`, `min_feature_size`, `min_length_factor`, `wall_maximum_resolution`, `wall_maximum_deviation`. +[Modes](config_option_mode): +`Advanced` [Variables](built_in_placeholders_variables): `wall_transition_angle`, `wall_transition_filter_deviation`, `wall_transition_length`, `wall_distribution_count`, `initial_layer_min_bead_width`, `min_bead_width`, `min_feature_size`, `min_length_factor`. +`Expert` [Variables](built_in_placeholders_variables): `wall_maximum_resolution`, `wall_maximum_deviation`. The Arachne wall generator dynamically adjusts extrusion width to follow the shape of the model more closely. This allows better handling of thin features and smooth transitions between wall counts. ![wallgenerator-arachne](https://github.com/OrcaSlicer/OrcaSlicer_WIKI/blob/main/images/WallGenerator/wallgenerator-arachne.png?raw=true) diff --git a/printer_settings/motion ability/printer_motion_ability.md b/printer_settings/motion ability/printer_motion_ability.md index 0595039..71cca44 100644 --- a/printer_settings/motion ability/printer_motion_ability.md +++ b/printer_settings/motion ability/printer_motion_ability.md @@ -39,8 +39,10 @@ This will cap the speed set by the process if it exceeds these values. ## Acceleration limitation -[Modes](config_option_mode): `Simple`, `Advanced`. -[Variables](built_in_placeholders_variables): `machine_max_acceleration_x`, `machine_max_acceleration_y`, `machine_max_acceleration_e`, `machine_max_acceleration_z`, `machine_max_acceleration_extruding`, `machine_max_acceleration_retracting`, `machine_max_acceleration_travel`. +[Modes](config_option_mode): +`Simple` [Variables](built_in_placeholders_variables): `machine_max_acceleration_extruding`, `machine_max_acceleration_retracting`. +`Advanced` [Variable](built_in_placeholders_variables): `machine_max_acceleration_travel`. +[Variables](built_in_placeholders_variables): `machine_max_acceleration_x`, `machine_max_acceleration_y`, `machine_max_acceleration_z`, `machine_max_acceleration_e`. Safeguard maximum accelerations for all axes. This will cap the acceleration set by the process if it exceeds these values. diff --git a/sync-tab-options-to-wiki.ps1 b/sync-tab-options-to-wiki.ps1 index 3c830eb..76567f8 100644 --- a/sync-tab-options-to-wiki.ps1 +++ b/sync-tab-options-to-wiki.ps1 @@ -460,8 +460,13 @@ foreach ($group in $groupedByFile) { $distinctModes = New-Object System.Collections.Generic.List[string] $seenModes = @{} + $modeToVars = @{} + $varsWithoutMode = New-Object System.Collections.Generic.List[string] + foreach ($varName in $vars) { + $formattedVarName = "``$varName``" if (-not $varModes.ContainsKey($varName)) { + $varsWithoutMode.Add($formattedVarName) continue } @@ -469,21 +474,40 @@ foreach ($group in $groupedByFile) { if (-not $seenModes.ContainsKey($modeName)) { $seenModes[$modeName] = $true $distinctModes.Add($modeName) + $modeToVars[$modeName] = New-Object System.Collections.Generic.List[string] } - } - $insertModeLine = $null - if ($distinctModes.Count -gt 0) { - $formattedModes = $distinctModes | ForEach-Object { "``$_``" } - $modeLabel = if ($distinctModes.Count -eq 1) { "[Mode](config_option_mode):" } else { "[Modes](config_option_mode):" } - $insertModeLine = "$modeLabel " + ($formattedModes -join ", ") + ". " # ending with two spaces so Markdown line break is forced + $modeToVars[$modeName].Add($formattedVarName) } $canonicalLines = New-Object System.Collections.Generic.List[string] - if (-not [string]::IsNullOrWhiteSpace($insertModeLine)) { - $canonicalLines.Add($insertModeLine) + + if ($distinctModes.Count -gt 1) { + $canonicalLines.Add("[Modes](config_option_mode): ") + foreach ($modeName in $distinctModes) { + $modeVars = [System.Collections.Generic.List[string]]$modeToVars[$modeName] + $groupVariableLabel = if ($modeVars.Count -eq 1) { "[Variable](built_in_placeholders_variables):" } else { "[Variables](built_in_placeholders_variables):" } + $canonicalLines.Add("``$modeName`` $groupVariableLabel " + ($modeVars -join ", ") + ". ") + } + + if ($varsWithoutMode.Count -gt 0) { + $leftoverVariableLabel = if ($varsWithoutMode.Count -eq 1) { "[Variable](built_in_placeholders_variables):" } else { "[Variables](built_in_placeholders_variables):" } + $canonicalLines.Add("$leftoverVariableLabel " + ($varsWithoutMode -join ", ") + ". ") + } + } + else { + $insertModeLine = $null + if ($distinctModes.Count -gt 0) { + $formattedModes = $distinctModes | ForEach-Object { "``$_``" } + $modeLabel = if ($distinctModes.Count -eq 1) { "[Mode](config_option_mode):" } else { "[Modes](config_option_mode):" } + $insertModeLine = "$modeLabel " + ($formattedModes -join ", ") + ". " # ending with two spaces so Markdown line break is forced + } + + if (-not [string]::IsNullOrWhiteSpace($insertModeLine)) { + $canonicalLines.Add($insertModeLine) + } + $canonicalLines.Add($insertVariableLine) } - $canonicalLines.Add($insertVariableLine) $idx = Find-HeadingLineIndex -Lines $buffer.ToArray() -Anchor $anchor if ($idx -lt 0) { @@ -505,7 +529,7 @@ foreach ($group in $groupedByFile) { $metadataLineIndexes = New-Object System.Collections.Generic.List[int] for ($k = $idx + 1; $k -le $sectionEnd; $k++) { - if ($buffer[$k] -match '^\s*(?:\[(?:Variable|Variables|Mode|Modes)\]\([^\)]+\)|Variables?|Modes?)\s*:\s*') { + if ($buffer[$k] -match '^\s*(?:\[(?:Variable|Variables|Mode|Modes)\]\([^\)]+\)|`[^`]+`\s+\[(?:Variable|Variables)\]\([^\)]+\)|Variables?|Modes?)\s*:\s*') { $metadataLineIndexes.Add($k) } }