1979 Commits

Author SHA1 Message Date
Lukas Matena
3e5c9ab40f Use external seq arrange binary (for prototyping only) 2025-02-17 11:03:13 +01:00
Lukas Matena
8d6941f01c Fixed columns width of the table with print statistics 2024-12-17 22:23:38 +01:00
Lukas Matena
229d425dd3 Some fixes in phrases 2024-12-17 22:23:38 +01:00
Lukas Matena
817df53480 Fix missing update of preview:
The problem was that when one print preview was loaded, second print was in progress and someone switched
to the first bed in 3D view and then switched to preview, the preview was not updated. GCodeViewer remembers
last preview it loaded, so it thought that no action is needed.
For now, let's just place this ugly patch to make sure that no other functionality is broken.
2024-12-13 15:26:57 +01:00
Martin Šach
4ec68c219c Add empty lines to all print statistics 2024-12-13 12:34:21 +01:00
Martin Šach
532180a23d Add invalid states icons 2024-12-13 12:34:21 +01:00
YuSanka
fdfc5d800a Bed Selector: Added bed ID
+ slice_all_beds_button is switched into generat button_with_icon
2024-12-13 12:34:20 +01:00
Martin Šach
6001759e6c Add invalid state toolpath_outside and display it accordingly 2024-12-13 12:34:20 +01:00
YuSanka
567a2cdc38 BedSelector: Implemented "Slice all" button with correct centering of the icon on it.
+ Retina specific: Fixed bed_selector_thumbnail()
2024-12-13 12:34:20 +01:00
Martin Šach
0dcc654d39 Add multiple beds error states handling
Print can be unslicable for various reasons:
- object partially on bed
- invalid data (e.g. when sequential printing)
- bed is empty

Keep this information for each bed a behave accordingly.
2024-12-13 12:34:20 +01:00
YuSanka
b732a5b744 Fixed position of the "Statistics" window and added horizontal scroll-bar to it.
+ Fixed scaling, size and position of the bed selector and notifications, when auto-slicing is on
2024-12-13 10:36:27 +01:00
Martin Šach
37f5bfc2cd Disable SLA autoslicing page
- Also set instances to unprintable for SLA instead
  of removing them from the model
2024-12-13 10:36:27 +01:00
Martin Šach
29da9fcfff Fix multiple minor multiple autoslicing issues
- Add tooltip to slice all button
- Count from 1 when naming beds sent to connect
- Partially improve statistics window
2024-12-13 10:36:27 +01:00
Martin Šach
9bdd59afea Fix autoslicing camera and notifications issue
- It was due to improper synchronization of wxEvents
2024-12-13 10:36:27 +01:00
Martin Šach
96da3bd3e3 Fix export all exporting the same gcode 2024-12-13 10:36:27 +01:00
YuSanka
61730aa97a Improved "Slice All" button in bed selector 2024-12-13 10:36:27 +01:00
Martin Šach
ab58ccff60 Add export all functionality backend
- Missing BulkExportDialog
2024-12-13 10:36:27 +01:00
Martin Šach
62f5fafe15 Hide sliced info and action buttons when autoslicing 2024-12-13 10:36:27 +01:00
Martin Šach
dbb12e9537 Autoslicing and aggregated statistics
- Call print apply on all print within update_background_process
- Render multiple bed thumnail only when there is a reason to (by
  requesting extra frame)
- Show status of the slicing process for each bed
- Add aggregated statistics
2024-12-13 10:36:26 +01:00
enricoturri1966
5934f8d1e7 SPE-2606 - Fixed Camera::set_type() broken with 63ce551 2024-12-13 10:33:08 +01:00
enricoturri1966
015b9f5536 SPE-2596 - Camera rotation around screen center, keeping the rotation pivot on the plane z = 0 2024-12-05 17:08:54 +01:00
enricoturri1966
63ce55166d SPE-2572 - Fixed panning of camera, in both 3D view and preview, when using multiple beds (#13621) 2024-12-05 17:08:54 +01:00
enricoturri1966
b7135049d5 SPE-2506 - Improved scene panning in preview after changing selected bed 2024-12-05 17:08:54 +01:00
Martin Šach
1675e08268 SPE-2580: Disable wipe tower in arrange if we know there is none. 2024-12-02 12:18:00 +01:00
Lukas Matena
1a608da2ae Multiple beds: Fixed behaviour with empty beds and non-printable instances 2024-11-20 16:04:16 +01:00
Lukas Matena
ec87263ce4 Multiple beds - updates, partially outside = on the bed 2024-11-20 16:04:15 +01:00
Lukas Matena
08eb318780 Multiple beds in SLA 2024-11-20 16:04:15 +01:00
YuSanka
324763a90e Nicer bed selector dialog 2024-11-20 16:04:15 +01:00
Lukas Matena
e1be0f041c Autoslice (part 1) 2024-11-20 16:04:15 +01:00
enricoturri1966
0bd37e6b08 SPE-2506 - Fixed rendering of sequential print clearance contours when using multiple beds 2024-11-20 16:04:15 +01:00
enricoturri1966
bbdd2e9d07 SPE-2506 - Fixed camera jumping when panning after rotating scene containing multiple beds 2024-11-20 16:04:15 +01:00
Martin Šach
3e33631abf Arrange: Use arrange for multiple beds.
- Support multiple wipe towers
- Arrange to grid directly within the arrange algorithm
- Suporrt arranging just the current bed
- Support fill bed with instances
- Add arrange selected on current bed
- Add arrange current bed keyboard shortcuts
- Fix cut not arranging properly (set instance bed after cut to the active bed, use arrange current bed selection only after cut)
- Fix shift-D on arrange
- Add window with options to the bed arrange button
2024-11-20 16:04:15 +01:00
Lukas Matena
5b59785456 wipe towers volumes 2024-11-20 16:04:15 +01:00
Lukas Matena
fae06e0773 Vectorization of the wipe tower 2024-11-20 16:04:15 +01:00
enricoturri1966
90136d3ad3 Camera + shading
Zoom to bed command set to zoom to active bed

Added camera rotation pivot which is updated whenever the active bed changes

SPE-2506 - Follow up of a2873759aba1eb13a31591d9e852be0f1e21786b - Fixed camera position after zoom to bed
2024-11-20 16:04:15 +01:00
Lukas Matena
360f7a84b4 Polishing:
- virtual bed shows even when dragging which was already outside
- when loading old-arranged project with more than max number of beds, a virtual bed would still be offered
- loading a project file with multiple beds only showed 2 beds initially
- nonprintable objects are not considered into the bed creation logic
- drag and dropping an object does not change active bed
- shells in preview are now shown correctly when switching between beds
- spacing in x takes into account model size (except during the initial rearrange)
- update volumes outside state after project loading
- highlight of selected bed for default beds
2024-11-20 16:04:05 +01:00
Lukas Matena
cc73ff8f4f Multiple beds (part 7):
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.
2024-11-20 13:36:13 +01:00
Lukas Matena
c24e9fdfed Multiple beds (part 5):
- nicer active / virtual bed visualization
- select bed by left mouse click
- bed selector only shows in preview
2024-11-20 13:36:13 +01:00
Lukas Matena
9035caa337 Multiple beds (part 4): Thumbnails (buttons, G-codes) 2024-11-20 13:36:13 +01:00
Lukas Matena
e88c625567 Multiple beds (part 3):
- 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
2024-11-20 13:36:13 +01:00
Lukas Matena
accc4ce266 Multiple beds (part 1):
- 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)
2024-11-20 13:36:12 +01:00
Lukáš Hejl
886faac74e SPE-2486: Add a new gizmo for fuzzy skin painting. 2024-11-12 15:22:57 +01:00
Lukáš Hejl
5229510346 SPE-2514: Prevents focusing on the menu bar when ALT is pressed in painting gizmos. 2024-11-05 13:58:44 +01:00
Lukas Matena
1f9344a5dc Use ModelWipeTower instead of config for wipe tower pos and rot (frontend part) - SPE-2520 2024-10-16 12:27:25 +02:00
enricoturri1966
3c3591f8a0 SPE-2374: Fixed update of shells visibility when user changes printer technology 2024-07-10 15:20:55 +02:00
Martin Šach
96e3e77fef Prepare fe for include optimization.
- Add pragmas to keep necessary headers with symbols not explicitly
stated in the file.
- Use include paths that IWYU understands.
2024-07-08 15:37:02 +02:00
Martin Šach
21116995d7 Refactor CMake and improve #includes.
* 1. Remove all global include_directories.
* 2. Move 3d party dependencies from src to budled deps if possible.
* Unify and enforce one way of including headers:
    e.g. #include "libslic3r/GCode.hpp" vs #include "GCode.hpp"
    (always use the "libslic3r/GCode.hpp" option).
* Make all dependencies (also header only) a cmake target.
2024-07-08 15:36:46 +02:00
YuSanka
cbb5aa0a26 Follow-up 0237acb38f - Fixed toolbar scale 2024-06-26 15:27:06 +02:00
YuSanka
0237acb38f Follow-up 3bd0728b: Fixed the toolbar icons size, when it's set from Preferences.
see https://github.com/prusa3d/PrusaSlicer/issues/12838#issuecomment-2176534793
2024-06-24 19:49:25 +02:00
enricoturri1966
bafd65d55b SPE-2344: Fix performance hit on MAC in GCodeViewer:
squashed et_spe2344_bis (5c6bba6)
2024-06-24 19:45:08 +02:00