Add spiral direction control for Archimedean Chords fill pattern #1289

Open
opened 2026-04-05 17:12:30 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @mahenzon on 12/23/2025

Description

Summary

This PR introduces a new setting that allows users to control the spiral direction of the Archimedean Chords fill pattern. The setting appears as a dropdown below the surface pattern selector and is only visible when "Archimedean Chords" is selected.

Motivation

Currently, the Archimedean chords pattern can be printed from center to edges or from edges to center. It depends on object's size.
Some users (like me) may prefer to enforce direction for specific aesthetic or functional reasons (e.g., to avoid visible start points at the center, or to optimize cooling on specific geometries).

Changes

New enum type:

  • ArchimedeanChordsDirection with values: Default, FromCenter, ToCenter

New config options:

  • top_surface_archimedean_direction - Controls spiral direction for top surfaces
  • bottom_surface_archimedean_direction - Controls spiral direction for bottom surfaces

UI behavior:

  • Dropdown appears below "Top surface pattern" when set to "Archimedean Chords"
  • Dropdown appears below "Bottom surface pattern" when set to "Archimedean Chords"
  • Hidden for all other fill patterns

Direction options:

Option Behavior
Default Keeps current behavior without forcing direction (direction may vary)
From center Forces the spiral to go from center toward edges (inner-out)
To center Forces the spiral to go from edges toward center (outer-in)

Screenshots and Recordings

Screenshots

New settings options added:
image

New settings options are shown only if Archimedean chords pattern is selected. If not, this new setting is hidden:
image

Screen Recordings

Default

Depends on object size. May vary. Examples:

Cylinder with default direction

https://github.com/user-attachments/assets/8885a2ab-06a1-4839-99a3-0b5f2b61c537

Cube with default direction

https://github.com/user-attachments/assets/f8dea5c4-c2bb-4288-8f09-319f8d40f7a7

From center

Enforced direction.

Cylinder

https://github.com/user-attachments/assets/f9da0af4-a778-4173-8723-8b436d13fa08

Cube

https://github.com/user-attachments/assets/31df6b27-4972-4a16-990d-c3c0a407f41e

To center

Enforced direction.

Cylinder

https://github.com/user-attachments/assets/0dfe4b72-d917-4096-bcd1-bf8a57ecf732

Cube

https://github.com/user-attachments/assets/2c82418a-a37d-4218-9742-032281b39e3c

Tests

I sliced different objects with different settings: with and without enforcing different directions, also checked slicing without chords pattern at all.

Wiki

Clicking on the new setting name opens this page: https://github.com/OrcaSlicer/OrcaSlicer/wiki/strength_settings_top_bottom_shells#spiral-direction - it's added here and here. I guess we need to update this page on Wiki to add this section.

I'm not sure how it is updated (manually, or there's a way to update it in the code), so my suggestion is to add a new section after the "Top/Bottom surface pattern" section (or within it as a subsection). Here's the suggested content:


Spiral Direction

Settings: Top surface chord direction | Bottom surface chord direction

These settings control the direction of the Archimedean chords spiral pattern when it is selected as the surface fill pattern. The dropdown only appears when "Archimedean Chords" is chosen as the top or bottom surface pattern.

Options

Option Description
Default Keeps the current behaviour without forcing direction. The spiral direction may vary based on internal slicing factors - usually the size
From center Forces the spiral to go from center toward edges (inner-out)
To center Forces the spiral to go from edges toward center (outer-in)

Use Cases

  • Default: Keep the existing behaviour. Use when you don't need to control the spiral direction.

  • From center: Forces the nozzle to start at the center and spiral outward. Useful when:

    • You want consistent inside-out printing
    • Center accuracy is important
  • To center: Forces the nozzle to start at the edges and spiral toward the center. Useful when:

    • You want to avoid visible start points at the center of the surface
    • You need better edge definition before filling the center
    • Specific cooling requirements where the center should be printed last

Page: strength_settings_top_bottom_shells
Section anchor: #spiral-direction
Wiki URL: https://github.com/OrcaSlicer/OrcaSlicer/wiki/strength_settings_top_bottom_shells

*Originally created by @mahenzon on 12/23/2025* # Description ## Summary This PR introduces a new setting that allows users to control the spiral direction of the Archimedean Chords fill pattern. The setting appears as a dropdown below the surface pattern selector and is only visible when "Archimedean Chords" is selected. ## Motivation Currently, the Archimedean chords pattern can be printed from center to edges or from edges to center. It depends on object's size. Some users (like me) may prefer to enforce direction for specific aesthetic or functional reasons (e.g., to avoid visible start points at the center, or to optimize cooling on specific geometries). ## Changes **New enum type:** - `ArchimedeanChordsDirection` with values: `Default`, `FromCenter`, `ToCenter` **New config options:** - `top_surface_archimedean_direction` - Controls spiral direction for top surfaces - `bottom_surface_archimedean_direction` - Controls spiral direction for bottom surfaces **UI behavior:** - Dropdown appears below "Top surface pattern" when set to "Archimedean Chords" - Dropdown appears below "Bottom surface pattern" when set to "Archimedean Chords" - Hidden for all other fill patterns **Direction options:** | Option | Behavior | |--------|----------| | Default | Keeps current behavior without forcing direction (direction may vary) | | From center | Forces the spiral to go from center toward edges (inner-out) | | To center | Forces the spiral to go from edges toward center (outer-in) | # Screenshots and Recordings ## Screenshots **New settings options added:** <img width="400" height="370" alt="image" src="https://github.com/user-attachments/assets/2efdb258-af96-449b-a722-d6c50dc869e2" /> **New settings options are shown only if Archimedean chords pattern is selected. If not, this new setting is hidden:** <img width="384" height="303" alt="image" src="https://github.com/user-attachments/assets/f96fa1af-94a1-4116-ab58-c8d73045f6e8" /> # Screen Recordings ## Default Depends on object size. May vary. Examples: **Cylinder with default direction** https://github.com/user-attachments/assets/8885a2ab-06a1-4839-99a3-0b5f2b61c537 **Cube with default direction** https://github.com/user-attachments/assets/f8dea5c4-c2bb-4288-8f09-319f8d40f7a7 ## From center Enforced direction. **Cylinder** https://github.com/user-attachments/assets/f9da0af4-a778-4173-8723-8b436d13fa08 **Cube** https://github.com/user-attachments/assets/31df6b27-4972-4a16-990d-c3c0a407f41e ## To center Enforced direction. **Cylinder** https://github.com/user-attachments/assets/0dfe4b72-d917-4096-bcd1-bf8a57ecf732 **Cube** https://github.com/user-attachments/assets/2c82418a-a37d-4218-9742-032281b39e3c # Tests I sliced different objects with different settings: with and without enforcing different directions, also checked slicing without chords pattern at all. # Wiki Clicking on the new setting name opens this page: `https://github.com/OrcaSlicer/OrcaSlicer/wiki/strength_settings_top_bottom_shells#spiral-direction` - it's added [here](https://github.com/mahenzon/OrcaSlicer/commit/199721cf282b8552c142c87bf7e99fce64cfa119#diff-9dae4d323883ab6da749a850e8b3e86f604170d6a86ca5efd342b53cdf2f5bcfR2419) and [here](https://github.com/mahenzon/OrcaSlicer/commit/199721cf282b8552c142c87bf7e99fce64cfa119#diff-9dae4d323883ab6da749a850e8b3e86f604170d6a86ca5efd342b53cdf2f5bcfR2424). I guess we need to update [this page on Wiki](https://github.com/OrcaSlicer/OrcaSlicer/wiki/strength_settings_top_bottom_shells) to add this section. I'm not sure how it is updated (manually, or there's a way to update it in the code), so my suggestion is to add a new section after the "Top/Bottom surface pattern" section (or within it as a subsection). Here's the suggested content: --- ## Spiral Direction **Settings**: `Top surface chord direction` | `Bottom surface chord direction` These settings control the direction of the Archimedean chords spiral pattern when it is selected as the surface fill pattern. The dropdown only appears when "Archimedean Chords" is chosen as the top or bottom surface pattern. ### Options | Option | Description | |--------|-------------| | **Default** | Keeps the current behaviour without forcing direction. The spiral direction may vary based on internal slicing factors - usually the size | | **From center** | Forces the spiral to go from center toward edges (inner-out) | | **To center** | Forces the spiral to go from edges toward center (outer-in) | ### Use Cases - **Default**: Keep the existing behaviour. Use when you don't need to control the spiral direction. - **From center**: Forces the nozzle to start at the center and spiral outward. Useful when: - You want consistent inside-out printing - Center accuracy is important - **To center**: Forces the nozzle to start at the edges and spiral toward the center. Useful when: - You want to avoid visible start points at the center of the surface - You need better edge definition before filling the center - Specific cooling requirements where the center should be printed last --- **Page**: `strength_settings_top_bottom_shells` **Section anchor**: `#spiral-direction` **Wiki URL**: https://github.com/OrcaSlicer/OrcaSlicer/wiki/strength_settings_top_bottom_shells
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/OrcaSlicer#1289