OrcaSlicer/doc/developer-reference/Preset-and-bundle.md
Ian Bassi eba08bf727
Wiki Update 7 ()
* Large images optimizations

* Add image and update instructions for junction deviation

Added a new image illustrating the printer jerk limitation setting and updated the calibration documentation to clarify steps for setting Maximum Junction Deviation. Improved formatting and corrected a typo in the instructions.

* Update README links to Wiki

* Fix Wiki image paths + Typos

* Fixes, typos and Infill improvements

* Update VFA calibration guide and add resonance avoidance

Expanded the VFA calibration documentation with more detailed explanations of VFA causes, the VFA Speed Test, and how to use the Resonance Avoidance Speed Range. Added a new image illustrating the resonance avoidance configuration.

* Add surface density setting to top/bottom shells docs

* Ironing Wiki Wip

* Wall and surfaces wiki wip

* Fix top/bottom link

* Better topbottom reddirect

* bridging wiki wip

* Fix TOP bottom

* Wall wiki wip

* strength advanced wiki wip

* speed advance renaming

* inital speed wiki wip

* Other Layer Speed Wiki Wip...

* Speed overhang Wiki WIP

* Travel speed wiki wip

* Speed acceleration wiki wip

* Update speed_settings_initial_layer_speed.md

* Jerk Wiki Wip

* support wiki wip

* Raft wiki wip

* support filamnet wiki wip

* Support ironing wiki wip

* Support advanced Wiki Wip

* Tree wiki wip

* STL images optimizations

* Prime tower wiki wip

* Update PA line diagram images

Were bigger than original used to crop this ones.

* Ooze wiki wip

* Flush wiki wip

* Image optimizatios

* Clarify TPMS-D infill description

Updated the TPMS-D infill section to specify that it refers to the Schwarz Diamond surface, improving clarity for users. Also updated the infill calculator spreadsheet.

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* images+++

* Multimaterial advanced Wiki Wip

* Skirt Wiki Wip

* Brim wiki wip

* Add Junction Deviation formula to documentation

Included the mathematical formula for Junction Deviation in the cornering calibration documentation to clarify its calculation.

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* Others special mode Wiki Wip

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* Fix links

* Fill Multiline infill Wiki

Introduced a new section in the infill documentation describing the Fill Multiline setting, its differences from other slicers, and its use cases. Added a comparison table and illustrative GIF to clarify how OrcaSlicer maintains density and material usage when using multiple infill lines.

* Multiline infill wiki update

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* Multiline Tab.cpp

* Gcode output Wiki Wip

* Others wiki wips

* Home quality

* Add process links in home

* Quality Basic Missing descriptions

* Update quality_settings_bridging.md

* basic desc

* basic advance strentgth

* Basic speed

* basic other speeds

* Fix link

* Update speed_settings_overhang_speed.md

* Update speed_settings_travel.md

* Update speed_settings_acceleration.md

* Fix

* Expand documentation for acceleration and jerk settings

* Support wiki

* Raft wiki

* Support wiki desc

* Prime tower wiki

* Multimaterial wiki desc

* Filament to features wiki

* Ooze improve

* Fix duplicate text

* Fix typo in volumetric speed calibration guide

Corrected 'promoted' to 'prompted' in the instructions for entering test settings in the volumetric speed calibration documentation.

* centeres image

* Overlapping gif

* Others wiki basic desc

* Clarify retraction calibration recommendation

Expanded the explanation for calibrating retraction settings, specifying that it should be done after Flow and Pressure Advance calibration for optimal extrusion setup.

Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com>

* Links in Readme + minor change

Refined links and formatting in README for better navigation. Expanded wall printing order section in quality settings documentation to clarify Inner/Outer, Inner/Outer/Inner, and Outer/Inner modes. Updated calibration guide images and formatting for improved clarity.

* Add SVG icons to infill pattern comparison table

* Delete doc/images/gui directory

remplaced with GUI

* Create process-preset-full.png

---------

Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com>
2025-07-08 08:53:53 +08:00

2.4 KiB

Preset and Bundle

This page deals with the explanation for 3 classes in the code.

Preset

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.

process-preset-full

  • TYPE_FILAMENT: As the name suggests this preset is for filaments

filament-preset

  • TYPE_PRINTER: Preset for printers.

printer-preset

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

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 PresetCollections.

PresetCollection

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.