feat: add support top contact speed split - #703
Open
mwz-iot wants to merge 1 commit into
Open
Conversation
- Add support_top_contact_speed_split (bool) and three per-layer speed parameters: support_top_contact_speed_first/middle/top (float) - When split is enabled, TopContact/TopInterface layers use per-layer speeds based on their position in the contact zone block - When split is disabled, all paths fall back to support_interface_speed - Use interface_layers contiguous block scanning (no Z-distance heuristics) - New ExtrusionRole variants (First/Middle/Top) are internal-only; UI statistics, legend, and color views still show Support interface - Perimeter loops and contact loops also use per-layer speeds - Tree support, bottom contact, and raft paths are unaffected - Remove height*3 heuristic; replace with layer_type-based block detection - Add Chinese translations for all 9 new msgids - Add machine translations for 17 other languages - Fix Support transition speed translation gap in baseline Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
❌ Documentation validation failed 🔗 Link Validation Errors📄 doc/developer-reference\Built-in-placeholders-variables.md:
📄 doc/developer-reference\How-to-wiki.md:
📄 doc/Home.md:
📄 doc/Tab.cpp:
🖼️ Image Validation Errors📄 doc/developer-reference\How-to-create-profiles.md:
|
bluetianyu
approved these changes
Aug 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR adds support top contact speed control for normal supports.
What Changed
A new support top contact speed option is added under Speed settings. When enabled, the top contact/interface area of normal supports can use separate speeds for different contact-layer positions:
When the option is disabled, all affected paths fall back to the existing
support_interface_speed, preserving the previous behavior.Implementation Details
The implementation classifies support top contact paths by their semantic support layer type instead of using Z-distance heuristics.
The previous height-based approach was removed. The new logic uses
TopInterface/TopContactlayer information and contiguous interface-layer block detection:TopContactis treated as the top contact layer.TopInterfacelayer in a contact block is treated as the first contact layer.TopInterfacelayers are treated as middle contact layers.The new First/Middle/Top extrusion role variants are internal implementation details only. They are used to select the correct speed during G-code generation, but they are not exposed as separate user-visible feature types.
UI / Preview Behavior
The feature is presented as part of
Support interface/ support top contact speed control.Support interface.Support interface.Path Coverage
The per-layer speed selection applies to the whole corresponding support top contact layer, including:
This keeps the outer loop and internal contact pattern consistent within the same contact layer.
Compatibility
When support top contact speed control is disabled:
support_interface_speedbehavior is preserved.support_interface_speed.The following paths are intentionally unchanged:
Localization
This PR adds localization entries for the new support top contact speed strings.
It also fills the existing baseline translation gap for
Support transition speed.Screenshots/Recordings/Graphs
Please attach screenshots showing:
Support interface.support_interface_speed.Tests
Manual validation completed:
support_interface_top_layers=1, option ON:support_interface_top_layers=2, option ON:support_interface_top_layers=3+, option ON:support_interface_speed.Known behavior:
TopContactis generated independently fromsupport_interface_top_layers.support_interface_top_layerscontrolsTopInterfacelayers, not the total visible top contact layer count.Support interface.support_interface_speed.