Wiki Update part 4 (#9872)
Some checks are pending
Build all / Build All (push) Waiting to run
Build all / Flatpak (push) Waiting to run
Publish docs to Wiki / Publish docs to Wiki (push) Waiting to run

* How to wiki

* Local images + pressure-advance realocation

* fill patterns WIP

+ Patch Until they fix this: https://github.com/orgs/community/discussions/118296

* Wiki images update 8fff1ca

Updated images with new style from commit 8fff1ca (pr: #9797)

* Internal Wiki Links + standardization

* Update Flow Calibration image

Co-Authored-By: Dowsha3d <216038220+dowsha3d@users.noreply.github.com>

* Seam wiki merge

* Updated Wiki Home

* MD Final lines

* How to index

---------

Co-authored-by: Dowsha3d <216038220+dowsha3d@users.noreply.github.com>
This commit is contained in:
Ian Bassi 2025-06-13 12:09:05 -03:00 committed by GitHub
parent 25785abfe0
commit 33dc7bc1f2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
145 changed files with 636 additions and 409 deletions

View file

@ -1,27 +1,27 @@
This page deals with the explanation for 3 classes in the code.
## [`Preset`](../../src/libslic3r/Preset.hpp)
## [`Preset`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/libslic3r/Preset.hpp)
As the name might suggest this class deals with presets for various things. It defines an enum `Type` which basically tells you what kind of data the present contains. Below are a few explained and there corresponding UI elements
> [!Warning]
> [!WARNING]
> There is a lot of outdated and legacy code in the code base.
- `TYPE_PRINT`: Refers to a process preset. It's called 'Print' probably due to some legacy code.
<img src="../images/process-preset.png" alt="Example Image" width="320">
![process-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/process-preset.png?raw=true)
- `TYPE_FILAMENT`: As the name suggests this preset is for filaments
<img src="../images/filament-preset.png" alt="Example Image" width="320">
![filament-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/filament-preset.png?raw=true)
- `TYPE_PRINTER`: Preset for printers.
<img src="../images/printer-preset.png" alt="Example Image" width="320">
![printer-preset](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/printer-preset.png?raw=true)
There are other preset types but some of them are for SLA. Which is legacy code, since SLA printers are no longer supported. Above 3 are the important types.
## [`PresetBundle`](../../src/libslic3r/PresetBundle.hpp)
## [`PresetBundle`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/libslic3r/PresetBundle.hpp)
This is a bundle containing a few types of `PresetCollection`. One bundle has presets for some printers, filaments and some processes (TYPE_PRINT).
@ -34,7 +34,7 @@ each one of these contains a collection of processes, filaments and printers res
> [!IMPORTANT]
> Printers, filaments and processes in the bundle don't all have to be compatible with each other. In fact all the saved presets are stored in one `PresetBundle`. The `PresetBundle` is loaded on start up. The list of filaments and processes shown for a particular printer is a subset of `filaments` and `prints` `PresetCollection`s.
## [`PresetCollection`](../../src/libslic3r/Preset.hpp)
## [`PresetCollection`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/libslic3r/Preset.hpp)
`PrinterPresetCollection` is a class derived from `PresetCollection`.

View file

@ -10,13 +10,13 @@ Refers to the entire application. The whole view, file loading, project saving a
This is relating the the sidebar in the application window
![tab-popup](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/full-sidebar.png?raw=true)
![full-sidebar](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/full-sidebar.png?raw=true)
## [`ComboBox`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Widgets/ComboBox.hpp)
The drop down menus where you can see and select presets
![tab-popup](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/combobox.png?raw=true)
![combobox](https://github.com/SoftFever/OrcaSlicer/blob/main/doc/images/combobox.png?raw=true)
## [`Tab`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/slic3r/GUI/Tab.hpp)

View file

@ -2,4 +2,43 @@
The Slicing logic is not the easiest to locate in the code base. Below is a flow diagram of function calls that are made after clicking the `Slice Plate` button in the UI. Most of the processing happens in different threads. Note the calls after `BackgroundSlicingProcess::start()`, but this is how you can find the slicing logic.
<img src="../images/slicing_call_heirarchy.svg" alt="Example Image" width="320">
```mermaid
flowchart TD
A["Slice plate"] --> B["void Plater::priv::on_action_slice_plate(SimpleEvent&)"]
B --> C["void Plater::reslice()"]
C --> D["bool Plater::priv::restart_background_process(unsigned int state)"]
D --> E["bool BackgroundSlicingProcess::start()"]
E --> F["void BackgroundSlicingProcess::thread_proc_safe_seh_throw()"]
F --> G["unsigned long BackgroundSlicingProcess::thread_proc_safe_seh()"]
G --> H["void BackgroundSlicingProcess::thread_proc_safe()"]
H --> I["void BackgroundSlicingProcess::thread_proc()"]
I --> J["void BackgroundSlicingProcess::call_process_seh_throw(std::exception_ptr &ex)"]
J --> K["unsigned long BackgroundSlicingProcess::call_process_seh(std::exception_ptr &ex)"]
K --> L["void BackgroundSlicingProcess::call_process(std::exception_ptr &ex)"]
L --> M["void BackgroundSlicingProcess::process_fff()"]
M --> N["void Print::process(long long *time_cost_with_cache, bool use_cache)"]
N --> O["void PrintObject::make_perimeters()"]
O --> P["void PrintObject::slice()"]
%% Labels for libraries
subgraph G1 [libSlic3r_gui]
B
C
D
E
F
G
H
I
J
K
L
M
end
subgraph G2 [libSlic3r]
N
O
P
end
```