mirror of
https://github.com/OrcaSlicer/OrcaSlicer_WIKI.git
synced 2026-05-17 00:25:45 +03:00
Categorized variables by mode
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||
|
||||
@@ -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.
|
||||
|
||||

|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user