mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-23 22:54:08 -06:00

* 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 update8fff1ca
Updated images with new style from commit8fff1ca
(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>
45 lines
2.4 KiB
Markdown
45 lines
2.4 KiB
Markdown
This page deals with the explanation for 3 classes in the code.
|
|
|
|
## [`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]
|
|
> 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.
|
|
|
|

|
|
|
|
- `TYPE_FILAMENT`: As the name suggests this preset is for filaments
|
|
|
|

|
|
|
|
- `TYPE_PRINTER`: Preset for printers.
|
|
|
|

|
|
|
|
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`](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).
|
|
|
|
`PresetCollection prints`\
|
|
`PresetCollection filaments`\
|
|
`PrinterPresetCollection printers`
|
|
|
|
each one of these contains a collection of processes, filaments and printers respectively.\
|
|
|
|
> [!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`](https://github.com/SoftFever/OrcaSlicer/blob/main/src/libslic3r/Preset.hpp)
|
|
|
|
`PrinterPresetCollection` is a class derived from `PresetCollection`.
|
|
|
|
These contain a collection of presets. The presets could be of any type.\
|
|
functions of note here are:
|
|
|
|
`get_edited_preset()`: returns the current selected preset along with any modifications the user has made.\
|
|
`get_selected_preset()`: returns the current selected preset without the modifications the user has made.
|