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

Multi zone implementation #7676

Draft
wants to merge 61 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
892b880
implement multi zone options
GiacomoGuaresi Dec 4, 2024
6b42f84
update m104 gcode comand
GiacomoGuaresi Dec 5, 2024
6624d3e
Merge branch 'SoftFever:main' into multi-zone-implementation
GiacomoGuaresi Dec 13, 2024
a74f723
remove pellet_flow_coefficient and implement extruder_rotation_distan…
GiacomoGuaresi Dec 5, 2024
41eb4d4
remove refererence to pellet-flow-coefficient
GiacomoGuaresi Dec 5, 2024
e5ee969
update description for rotation distance parameters
GiacomoGuaresi Dec 5, 2024
c64ec17
restore pellet-flow-coefficient logic
GiacomoGuaresi Dec 6, 2024
359c6bd
fix code formatting
GiacomoGuaresi Dec 6, 2024
fca8a22
update doc
GiacomoGuaresi Dec 6, 2024
75e5ac5
incorrect removal code
GiacomoGuaresi Dec 6, 2024
2787e13
update fields
GiacomoGuaresi Dec 7, 2024
9189d08
add SET_EXTRUDER_ROTATION_DISTANCE inside gcode
GiacomoGuaresi Dec 17, 2024
95c38af
add SET_EXTRUDER_ROTATION_DISTANCE inside gcode
GiacomoGuaresi Dec 7, 2024
999bf40
add doc e fix multi material mode
GiacomoGuaresi Dec 17, 2024
e851508
add doc e fix multi material mode
GiacomoGuaresi Dec 7, 2024
70aa7b4
fix doc reference
GiacomoGuaresi Dec 7, 2024
79b2162
fix typo
GiacomoGuaresi Dec 7, 2024
e70e3b7
Update Pellet-modded-printer.md
GiacomoGuaresi Dec 14, 2024
1a12136
upload artifact to gingeradditive/OrcaSlicer
davi3012 Dec 16, 2024
9a537f5
change wiki to gingeradditive
davi3012 Dec 16, 2024
1c606c4
disable not windows build for Ginger orca fork
GiacomoGuaresi Dec 17, 2024
dc820a0
disable deploy steps
GiacomoGuaresi Dec 17, 2024
74ccafd
feat: updated BBL profiles to 01.10.01.50
Scarjit Dec 1, 2024
baf83f5
fix: updated BBL.json
Scarjit Dec 7, 2024
f5accdc
fix: remove cmake-build-debug, idea
Scarjit Dec 7, 2024
95629ae
fix: reset to upstream
Scarjit Dec 7, 2024
b9159d2
fix: re-add generic
Scarjit Dec 12, 2024
0dc383d
fix: remove cmake-build-debug
Scarjit Dec 12, 2024
f0a606a
fix: restore Project.xml
Scarjit Dec 12, 2024
500c794
fix: order
Scarjit Dec 12, 2024
57c0297
Fix some broken assertions (#7716)
a-johnston Dec 14, 2024
19b1bae
fix: Don't exit if libgtk is not found (#7711)
franzs Dec 14, 2024
24262c2
fix: allow build on Fedora >= 40 (#7710)
franzs Dec 14, 2024
b9b66c0
[feature] Add Bambu Cool Plate SuperTack (#7670)
f0x52 Dec 14, 2024
2672b6a
reordering and renaming certain menu items (#7573)
discip Dec 14, 2024
f74400b
Fix: Switching between multi-extruder printers using tabs can cause t…
womendoushihaoyin Dec 14, 2024
4f7e38e
fix z_hop type (#7466)
InfimechOfficial Dec 14, 2024
ebb040d
fix some params about temps and processes something (#7459)
FlyingbearOfficial Dec 14, 2024
e8fe497
fix: create custom filament (#7477)
womendoushihaoyin Dec 14, 2024
8f62c79
Fix errors
SoftFever Dec 17, 2024
8c36d6b
update Polish translation + fix typo (#7746)
KrisMorr Dec 17, 2024
56b8f69
Fix Devcontainer for ARM Mac (#7723)
tylersatre Dec 17, 2024
c2d1844
remove pellet_flow_coefficient and implement extruder_rotation_distan…
GiacomoGuaresi Dec 5, 2024
62c787c
remove refererence to pellet-flow-coefficient
GiacomoGuaresi Dec 5, 2024
5fde38e
update description for rotation distance parameters
GiacomoGuaresi Dec 5, 2024
90b2ae6
restore pellet-flow-coefficient logic
GiacomoGuaresi Dec 6, 2024
8f666d6
fix code formatting
GiacomoGuaresi Dec 6, 2024
91c2147
update doc
GiacomoGuaresi Dec 6, 2024
cde9c2e
update fields
GiacomoGuaresi Dec 7, 2024
3d2ef87
add SET_EXTRUDER_ROTATION_DISTANCE inside gcode
GiacomoGuaresi Dec 17, 2024
edcbe10
add SET_EXTRUDER_ROTATION_DISTANCE inside gcode
GiacomoGuaresi Dec 7, 2024
ba0b912
add doc e fix multi material mode
GiacomoGuaresi Dec 17, 2024
60bcced
add doc e fix multi material mode
GiacomoGuaresi Dec 7, 2024
2ec5eed
fix doc reference
GiacomoGuaresi Dec 7, 2024
1df71b7
fix typo
GiacomoGuaresi Dec 7, 2024
1cc29c0
Update Pellet-modded-printer.md
GiacomoGuaresi Dec 14, 2024
992cf70
upload artifact to gingeradditive/OrcaSlicer
davi3012 Dec 16, 2024
b7e674d
change wiki to gingeradditive
davi3012 Dec 16, 2024
249f4ac
disable not windows build for Ginger orca fork
GiacomoGuaresi Dec 17, 2024
1de27b1
disable deploy steps
GiacomoGuaresi Dec 17, 2024
ed4bacd
Merge branch 'main' into multi-zone-implementation
GiacomoGuaresi Dec 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/build_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,13 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-20.04
- os: ubuntu-24.04
# - os: ubuntu-20.04
# - os: ubuntu-24.04
- os: windows-latest
- os: macos-14
arch: x86_64
- os: macos-14
arch: arm64
# - os: macos-14
# arch: x86_64
# - os: macos-14
# arch: arm64
uses: ./.github/workflows/build_check_cache.yml
with:
os: ${{ matrix.os }}
Expand All @@ -70,7 +70,7 @@ jobs:
# maybe i'm too dumb and fucked up to do CI. OH WELL :D -ppd
- name: "Remove unneeded stuff to free disk space"
run:
sudo rm -rf /usr/share/dotnet /opt/ghc "/usr/local/share/boost" "$AGENT_TOOLSDIRECTORY"
rm -rf /usr/share/dotnet /opt/ghc "/usr/local/share/boost" "$AGENT_TOOLSDIRECTORY"
- uses: actions/checkout@v4
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
Expand Down
108 changes: 54 additions & 54 deletions .github/workflows/build_orca.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,16 +134,16 @@ jobs:
name: OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}
path: ${{ github.workspace }}/OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg

- name: Deploy Mac release
if: github.ref == 'refs/heads/main' && inputs.os == 'macos-14'
uses: WebFreak001/[email protected]
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
asset_name: OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
asset_content_type: application/octet-stream
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted
# - name: Deploy Mac release
# if: github.ref == 'refs/heads/main' && inputs.os == 'macos-14'
# uses: WebFreak001/[email protected]
# with:
# upload_url: https://uploads.github.com/repos/gingeradditive/OrcaSlicer/releases/137995723/assets{?name,label}
# release_id: 137995723
# asset_path: ${{ github.workspace }}/OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
# asset_name: OrcaSlicer_Mac_${{inputs.arch}}_${{ env.ver }}.dmg
# asset_content_type: application/octet-stream
# max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted

# Windows
- name: setup MSVC
Expand Down Expand Up @@ -203,27 +203,27 @@ jobs:
name: PDB
path: ${{ github.workspace }}/build/src/Release/Debug_PDB_${{ env.ver }}_for_developers_only.7z

- name: Deploy Windows release portable
if: github.ref == 'refs/heads/main' && inputs.os == 'windows-latest'
uses: WebFreak001/[email protected]
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/build/OrcaSlicer_Windows_${{ env.ver }}_portable.zip
asset_name: OrcaSlicer_Windows_${{ env.ver }}_portable.zip
asset_content_type: application/x-zip-compressed
max_releases: 1

- name: Deploy Windows release installer
if: github.ref == 'refs/heads/main' && inputs.os == 'windows-latest'
uses: WebFreak001/[email protected]
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/build/OrcaSlicer_Windows_Installer_${{ env.ver }}.exe
asset_name: OrcaSlicer_Windows_Installer_${{ env.ver }}.exe
asset_content_type: application/x-msdownload
max_releases: 1
# - name: Deploy Windows release portable
# if: github.ref == 'refs/heads/main' && inputs.os == 'windows-latest'
# uses: WebFreak001/[email protected]
# with:
# upload_url: https://uploads.github.com/repos/gingeradditive/OrcaSlicer/releases/137995723/assets{?name,label}
# release_id: 137995723
# asset_path: ${{ github.workspace }}/build/OrcaSlicer_Windows_${{ env.ver }}_portable.zip
# asset_name: OrcaSlicer_Windows_${{ env.ver }}_portable.zip
# asset_content_type: application/x-zip-compressed
# max_releases: 1

# - name: Deploy Windows release installer
# if: github.ref == 'refs/heads/main' && inputs.os == 'windows-latest'
# uses: WebFreak001/[email protected]
# with:
# upload_url: https://uploads.github.com/repos/gingeradditive/OrcaSlicer/releases/137995723/assets{?name,label}
# release_id: 137995723
# asset_path: ${{ github.workspace }}/build/OrcaSlicer_Windows_Installer_${{ env.ver }}.exe
# asset_name: OrcaSlicer_Windows_Installer_${{ env.ver }}.exe
# asset_content_type: application/x-msdownload
# max_releases: 1

# Ubuntu
- name: Install dependencies
Expand Down Expand Up @@ -279,26 +279,26 @@ jobs:
name: OrcaSlicer_Linux_ubuntu_${{ env.ubuntu-ver }}_${{ env.ver }}
path: './build/OrcaSlicer_Linux${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage'

- name: Deploy Ubuntu release
if: ${{ ! env.ACT && github.ref == 'refs/heads/main' && (inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04') }}
env:
ubuntu-ver-str: ${{ (inputs.os == 'ubuntu-24.04' && '_Ubuntu2404') || '' }}
uses: WebFreak001/[email protected]
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ./build/OrcaSlicer_Linux${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage
asset_name: OrcaSlicer_Linux${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage
asset_content_type: application/octet-stream
max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted

- name: Deploy orca_custom_preset_tests
if: ${{ ! env.ACT && github.ref == 'refs/heads/main' && inputs.os == 'ubuntu-20.04' }}
uses: WebFreak001/[email protected]
with:
upload_url: https://uploads.github.com/repos/SoftFever/OrcaSlicer/releases/137995723/assets{?name,label}
release_id: 137995723
asset_path: ${{ github.workspace }}/resources/profiles/orca_custom_preset_tests.zip
asset_name: orca_custom_preset_tests.zip
asset_content_type: application/octet-stream
max_releases: 1
# - name: Deploy Ubuntu release
# if: ${{ ! env.ACT && github.ref == 'refs/heads/main' && (inputs.os == 'ubuntu-20.04' || inputs.os == 'ubuntu-24.04') }}
# env:
# ubuntu-ver-str: ${{ (inputs.os == 'ubuntu-24.04' && '_Ubuntu2404') || '' }}
# uses: WebFreak001/[email protected]
# with:
# upload_url: https://uploads.github.com/repos/gingeradditive/OrcaSlicer/releases/137995723/assets{?name,label}
# release_id: 137995723
# asset_path: ./build/OrcaSlicer_Linux${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage
# asset_name: OrcaSlicer_Linux${{ env.ubuntu-ver-str }}_${{ env.ver }}.AppImage
# asset_content_type: application/octet-stream
# max_releases: 1 # optional, if there are more releases than this matching the asset_name, the oldest ones are going to be deleted

# - name: Deploy orca_custom_preset_tests
# if: ${{ ! env.ACT && github.ref == 'refs/heads/main' && inputs.os == 'ubuntu-20.04' }}
# uses: WebFreak001/[email protected]
# with:
# upload_url: https://uploads.github.com/repos/gingeradditive/OrcaSlicer/releases/137995723/assets{?name,label}
# release_id: 137995723
# asset_path: ${{ github.workspace }}/resources/profiles/orca_custom_preset_tests.zip
# asset_name: orca_custom_preset_tests.zip
# asset_content_type: application/octet-stream
# max_releases: 1
2 changes: 1 addition & 1 deletion .github/workflows/publish_docs_to_wiki.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
run: |
git config --global user.name "$USER_NAME"
git config --global user.email "$USER_NAME"@users.noreply.github.com
git clone https://"$USER_TOKEN"@github.com/SoftFever/"$REPOSITORY_NAME".wiki.git tmp_wiki
git clone https://"$USER_TOKEN"@github.com/gingeradditive/"$REPOSITORY_NAME".wiki.git tmp_wiki
# 4. Synchronize differences between `doc` & `tmp_wiki`
# 5. Push new Wiki content
- name: Push main repo content to wiki
Expand Down
61 changes: 61 additions & 0 deletions doc/Pellet-modded-printer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Pellet modded printer
Pellet 3D printers, commonly used for large prints (usually larger than 1m³), are based on a technology similar to FDM printing. However, instead of using filaments, these printers use pellets as the printing material.
The use of pellets requires a different extrusion management compared to traditional filament printers, due to:

- The presence of air between the pellets.
- Variable particle size depending on the material.
- Need for active feeding systems.

This requires additional parameters for a correct extrusion configuration.

## pellet flow coefficient
The pellet flow coefficient is a parameter that represents the extrusion capacity of the pellets, influenced by factors such as:

- Shape of the pellet.
- Type of material.
- Viscosity of the material.

### Operation
This value defines the amount of material extruded for each revolution of the feeding mechanism. Internally, the coefficient is converted to an equivalent value of `filament_diameter` to ensure compatibility with standard FDM volumetric calculations.

The formula used is: *filament_diameter = sqrt( (4 \* pellet_flow_coefficient) / PI )*

- Higher infill density → More extruded material → Higher flow coefficient → Simulation of a larger diameter filament.
- A 20% reduction in the coefficient corresponds to a 20% linear reduction in flow.

In printers where it is not possible to adjust the rotation distance of the extruder motor, the pellet_flow_coefficient allows you to control the flow rate by changing the diameter of the simulated filament.

>**WARNING:** Modulating the extrusion by changing the diameter of the virtual filament causes an error in reading the quantity extruded by the printer within the firmware used.
For example, on a klipper firmware you will have a different reading of the print flow on the screen than the one actually in progress.
using this method also causes problems with the retraction and unretraction value, as the conversion with the virtual filament alters the real values.

## Extruder Rotation Volume
The extruder rotation volume represents the volume of material extruded (in mm³) for each complete revolution of the extruder motor. This parameter offers greater precision in the configuration compared to the pellet flow coefficient, eliminating calculation errors due to the simulation of the virtual filament diameter.

### Configuration via Virtual Filament with Area of ​​1 mm²
To further simplify the calculation of the extruded volume and synchronize the printer parameters with the volume values ​​in the G-code, it is possible to simulate a virtual filament with a cross-sectional area of ​​1 mm². In this way, the extrusion values ​​𝐸 in the G-code directly represent the volume in mm³.

#### Implementation steps
1. **Setting the Pellet Flow Coefficient:** Simulate a filament with a cross-sectional area of ​​1 mm² by setting the pellet flow coefficent to 1.
2. **Setting the Extruder Rotation Volume:** Determines how many mm³ of material are extruded for each complete revolution of the extruder motor. This parameter depends on the geometry of the extruder screw or gear and can be calibrated experimentally.
Enter the obtained value in the material configuration as extruder rotation volume.
3. **Set the filament_diameter** equal to 1.1284 within the firmware of your printer

### System Benefits
- Elimination of conversion errors: It is not necessary to simulate filaments of different diameters, reducing errors.
- Greater precision: Using the direct extruded volume in the G-code makes calibration easier and more accurate.
- Dynamic Compatibility: With firmware like Klipper, you can update parameters in real time without having to rewrite the G-code.

>**ATTENTION:** This feature is currently only supported by printers with Klipper firmware. Make sure to check compatibility before proceeding with the configuration.

## Mixing Stepper Rotation Volume
The mixing stepper rotation volume indicates the volume of material (in mm³) actively fed into the extruder via a dedicated motor.

### Usage
To use this feature, you need to:

- Enable the option in the printer settings.
- Define the identifying name of the motor that manages the feeding in the extruder settings.
- Configure the value of mixing_stepper_rotation_volume in the material settings.

>**ATTENTION:** This feature is currently only supported by printers with Klipper firmware. Make sure to check compatibility before proceeding with the configuration.
23 changes: 0 additions & 23 deletions doc/pellet-flow-coefficient.md

This file was deleted.

Loading