This is where it really gets nasty:
- Switch background_process.m_temp_output_path is now updated when beds are switched, so each Print writes to a different file.
- When switching beds in Preview, there is a cache in GCodeViewer which would mistakenly not load the other preview (happens in case when switching to a bed which is not sliced and back). Bypass this cache when beds are being switched.
- Added a CallAfter logic into GLCanvas3D::select_bed (the central function where beds are switched). It now does the following:
1. Stops the background process
2. Schedules a callafter which then
3. wxYields the event queue (so all events generated as a result of (1) are consumed before active bed is switched.
4. switches active bed
5. fires couple of update functions and events, schedules background process
- When BSProcess is switched to the new bed, it now calls on_slicing_update (in sync). This is to regenerate all slicing error/warning notifications. The on_slicing_update function was updated to be able to process all print(object)steps and objects.
- Sliced info in sidebar did not properly show when switching beds in 3D scene. Added explicit refresh into update_background_process.
- reload preview when beds are switched
- only show one bed in preview
- move the preview so it ends up in the same place as in 3D scene
- move the camera when switching beds in Preview
- Vectorizing Print, SLAPrint and GCodeProcessorResult
- Connect multiple beds to background slicing process
- TODO: A lot of code (notifications, etc.) commented-out.
- create new bed when a volume is dragged into it
- limit maximum number of beds
- keep track of which ModelInstances are on which bed
- show list of beds and allow selecting an active one
- move objects from active bed to the first bed when passing Model to Print::apply (and back)
However, it is still not impossible to select an SLA printer when the object has a modifier.
For this case info dialog will be shown.
+ Model: Deleted model_has_multi_part_objects()
SPE-2547
- Specific to linux.
- If the current config dir is not $HOME/.config dir check the
$HOME/.config dir for previous existing configs.
- Targeted on flatpak where the config dir is configured using
$XDG_CONFIG_HOME and is not in $HOME, where it will trigger
a prompt for config migration.