2133 Commits

Author SHA1 Message Date
Martin Šach
626b49e702 Implement send all to connect 2024-12-13 10:36:27 +01:00
Martin Šach
fd43fb6e9b Polish BulkExportDialog
- Add duplicate detection to validation
- Add file existance detection to validation
- Remove dependency on PrintToExport
- Remove destructor and use unique_ptr instead
2024-12-13 10:36:27 +01:00
YuSanka
8f7b2b2259 Implemented BulkExportDialog 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
Lukas Matena
3fb8b71627 SPE-2600: Do not move objects after split (#13661) 2024-12-13 10:35:05 +01:00
Lukáš Hejl
091bf7d8e3 SPE-2491: Allow using supports with different nozzle diameters.
Printing supports with different nozzle diameters is experimental, so the user is notified that it requires caution.
When automatic calculation of extrusion width is used, then the extrusion width of supports is calculated from the nozzle diameter of the smallest extruder.
2024-12-11 16:37:56 +01:00
Lukáš Hejl
a718a7606a SPE-2491: Basic support for printing with different nozzle diameters on tool-changer printers.
Add an option that automatically changes all extrusion widths to zero, which will automatically calculate extrusion width based on nozzle diameters.
Allow using wipe tower with different nozzle diameters and show just warning about it.
Add an option for infill combination that automatically calculates the number of layers based on nozzle diameter.
2024-12-11 16:37:56 +01:00
Lukas Matena
66cf372def SPE-2607: Fixed update of shells after beds are switched (broken in 7527470) 2024-12-11 16:17:20 +01:00
Martin Šach
372a025356 Conditional arrange after load
Decide if we should rearrange after load based on the version
in 3mf config. Rearrange if the version < 2.9.0-alpha1.
In any other case do not rearrange (even if the version is missing).
2024-12-10 11:26:39 +01:00
David Kocik
de32b37a84 SPE-2544: Refactoring of trimming repo prefix 2024-12-09 17:32:46 +01:00
Lukas Matena
5a882fd6c4 Make sure that Plater::p pointer is valid in priv constructor 2024-12-09 16:24:59 +01:00
Martin Šach
bb8cca8999 Fix arrange after cut (SPE-2583, #13637)
The cut arrange updated the Plater without the new objects
being on any of the beds. This led to mutliple beds reducing
the bed count and activating a previous bed. This in turn
ment that get_active_bed was temporarily wrong and the subsequent
arrange placed items on a wrong bed.

Improve this by explictly setting which bed is going to be
used for the arrange and than restoring the originally
active bed.

If there is just one instance, simply choose the bed the
instance is on. If there are more instances, use the active
bed for arrange.
2024-12-06 10:59:28 +01:00
enricoturri1966
75274707c9 SPE-2595 - Fixed update of shells in preview 2024-12-06 10:56:13 +01:00
Lukas Matena
c7d9e55808 SPE-2587: Hotfix of slow loading of binary gcodes in gcodeviewer:
caused by calling render way too often directly from the update function
the fix is nothing nice, but it will have to do for now
2024-12-02 12:08:36 +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
Lukas Matena
311434382d Do not account for bed model for spacing calculation 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
Lukas Matena
da13a0a80e Vectorization of customgcode 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
87a1fe8c65 Multiple beds (part 6):
- arrange
- bed spacing in multiples of bed size
- newly loaded positions are loaded on active bed
TODO: Fix results after convert, split and cut
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
7da3ce6961 Multiple beds (part 2):
- Vectorizing Print, SLAPrint and GCodeProcessorResult
- Connect multiple beds to background slicing process
- TODO: A lot of code (notifications, etc.) commented-out.
2024-11-20 13:36:12 +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
David Kocik
5ba8f21c77 SPE-2570: Refresh access token if Printables fire accessTokenExpired event
Add fancy loading overlay during refresh period

missing include
2024-11-20 10:08:49 +01:00
David Kocik
3bdaef4910 SPE-2561: Printables Print dialog
Fix of opening webview dialog from webview panel

CLOSE_DIALOG connect action

Login on logged out Print request

Register CLOSE_DIALOG callback.

refactoring
2024-11-20 09:43:59 +01:00
Jan Bařtipán
e5e8f940db SPE-2461: GCode add more info to be used in connect/slicer analytics: introduced profile_vendor, profile_version in slicer block (bgcode) or preset parameters dump (ascii gcode) + added "Produced on" key in file block (bgcode) 2024-11-18 23:47:56 +01:00
YuSanka
0c4aab4b5a Fix for DnD of several files, when 3mf or zip is/are among selection (SPE-2528) 2024-11-18 23:43:59 +01:00
Lukáš Hejl
886faac74e SPE-2486: Add a new gizmo for fuzzy skin painting. 2024-11-12 15:22:57 +01:00
David Kocik
da49e8edfb SPE-2535: Improvments of Printables events
Missing include

Printables event Require login

Improved error page

Prepare opening Printables to Connect upload dialog

debug fix

Another debug fix

prevent reload on load request

Load new url already in on_show

Improved javascript notification
2024-11-11 16:12:50 +01:00
David Kocik
1040332c87 SPE-2468: Printables WebView class
read address and download model
Printables as pernament tab
webview debug panel
adding token to request header
Logout to Printables
Correct user-agent
Receiving printables events
Improved refreshing of token to printables
User settings to printables url
merge changes
Changed login to Printables during runtime
Logging in plater fix
2024-11-11 16:12:49 +01:00
David Kocik
e8de4b7199 Create Printables tab 2024-11-11 16:12:49 +01:00
Lukas Matena
9237a68ba9 Use ModelWipeTower instead of config for wipe tower pos and rot (3MF part) - SPE-2520 2024-10-16 12:41:27 +02:00
Lukas Matena
c41290bc07 Use ModelWipeTower instead of config for wipe tower pos and rot (backend part) - SPE-2520 2024-10-16 12:40:49 +02: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
Lukas Matena
68f8925461 Improve startup of ConfigWizard (SPE-2457) 2024-10-02 14:27:55 +02:00
David Kocik
1bd7be797a Improved warning dialog. 2024-10-02 14:22:41 +02:00
David Kocik
891b6a4816 Notification with link to connect
hypertext in upload progress notification

load default url if printer page fails
2024-10-02 14:20:12 +02:00
David Kocik
6f3b22de4c SPE 2450: Delete cookies after login to prevent remembering login info
Windows only part
2024-09-05 16:12:04 +02:00