Commit graph

10177 commits

Author SHA1 Message Date
Remco Burema
14e49c5c73 Merge remote-tracking branch 'origin/CURA-12544_saving-and-loading-painted-files-in-Cura' into CURA-12528_unwrap_uvs 2025-06-05 12:48:17 +02:00
Remco Burema
44042eef6a Start to set up UV-unwrapping.
Needs the new libreary set up for that.

part of CURA-12528
2025-06-05 12:45:34 +02:00
Remco Burema
4a87b48084 Stopgap to prevent texture-patch borders from messing up the painting.
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
This code is expandable into the real solution later, see the TODO left in the code by this commit.

part of CURA-12543
2025-06-05 08:25:20 +02:00
Remco Burema
40f02dc15f Defensive coding; deal with degenerate triangles, co-linearity or query pt equal to corner.
This shouldn't happen on a well UV-mapped, manifold mesh -- well, unless someone manages to click exactly on one of the triangle corners. Better to get this fixed now then to run into floating point shenanigans later.

part of CURA-12543
2025-06-05 08:23:22 +02:00
Remco Burema
12d788db62 Review comments: Fix crash when click next to object.
Refactoring that part to up top caused the problem I think -- getSelectedObject(0) over getAllSelectedObjects()[0] is clearly the better call in this case anyway.

part of CURA-12543
2025-06-04 21:00:27 +02:00
Erwan MATHIEU
b940179c54 Set proper tooltip text color
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
CURA-11978
2025-06-04 11:01:51 +02:00
HellAholic
b4c023479c Merge remote-tracking branch 'origin/5.10'
Some checks failed
conan-package-resources / conan-package (push) Waiting to run
conan-package-resources / signal-curator (push) Blocked by required conditions
printer-linter-format / Printer linter auto format (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
unit-test / Run unit tests (push) Waiting to run
conan-package / conan-package (push) Has been cancelled
2025-06-04 10:40:21 +02:00
Erwan MATHIEU
21443faa92 Merge remote-tracking branch 'origin/CURA-12543_painting_ux' into CURA-12544_saving-and-loading-painted-files-in-Cura
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
2025-06-03 16:08:40 +02:00
Erwan MATHIEU
57f811af88 Load painted texture from 3MF file
CURA-12544
2025-06-03 15:59:02 +02:00
Erwan MATHIEU
f0764134cc Store painted texture to 3MF file
Some checks are pending
conan-package / conan-package (push) Waiting to run
unit-test / Run unit tests (push) Waiting to run
CURA-12544
Also allows having multiple texture for multiple models while painting
2025-06-03 13:27:57 +02:00
HellAholic
05d1738fa8 Fix image mode of the F4
Restore transparency
2025-05-28 17:19:45 +02:00
Remco Burema
d28c2aac68 Painting: Fix non-drag not producing a circle (square was already OK though).
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
part of CURA-12543
2025-05-28 17:12:42 +02:00
HellAholic
da32232158 Resize images uniformly
All images now have a width of 300px as a constant factor. This is still more than twice the width that will display on the Monitor Tab.
Render quality on the user's screen remains the same.
2025-05-28 17:09:49 +02:00
Remco Burema
c9ca999f10 PaintTool: Undo/Redo should be working now.
Also fix missing pen-shape I suppose.

part of CURA-12543
2025-05-28 16:43:33 +02:00
MariMakes
240abc0929 Updates for 5.10.1`
Updates Changelog and introduces pictures for the monitor page for the newer printers
2025-05-28 15:30:24 +02:00
Erwan MATHIEU
5873222c15 Merge remote-tracking branch 'origin/CURA-12543_painting_ux' into CURA-12544_saving-and-loading-painted-files-in-Cura 2025-05-28 15:16:43 +02:00
Erwan MATHIEU
50ea216a60 Store UV coordinates to 3MF file
CURA-12544
2025-05-28 15:13:22 +02:00
Remco Burema
4e5b0115ea Painting: Separate brush image didn't work properly, construct stroke-image by pen instead.
This also simplifies things nicely.

part of CURA-12543
2025-05-28 14:39:07 +02:00
Remco Burema
109f37657b Painting UI work: Update image-part(s) instead of pixel(s) w.r.t. render-backend.
part of CURA-12543
2025-05-28 12:32:36 +02:00
Erwan MATHIEU
96d2caf195 Load UV coordinates from 3MF file
CURA-12544
2025-05-28 11:00:55 +02:00
Erwan MATHIEU
b298fa6b39 Merge remote-tracking branch 'origin/main' into CURA-12544_saving-and-loading-painted-files-in-Cura 2025-05-28 09:12:53 +02:00
Remco Burema
704f9453f0 Properly completed drag to paint (no more just clicking points).
Some checks are pending
conan-package / conan-package (push) Waiting to run
unit-test / Run unit tests (push) Waiting to run
The most important thing to make it work is actually notifying the scene that something has changed -- the rest are just refactorings and (hopefully) optimizations.

part of CURA-12543
2025-05-27 17:03:38 +02:00
Erwan MATHIEU
1003d750b9
Merge branch 'main' into CURA-11978_retract-and-unretract-in-a-travel
Some checks failed
conan-package-resources / conan-package (push) Has been cancelled
conan-package / conan-package (push) Has been cancelled
printer-linter-format / Printer linter auto format (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
conan-package-resources / signal-curator (push) Has been cancelled
2025-05-27 08:51:07 +02:00
Erwan MATHIEU
e1d579c6c8 Display legend tooltip for travel types
CURA-11978
2025-05-26 16:53:34 +02:00
Erwan MATHIEU
86777ac666 Add new travel types and display z-hops
CURA-11978
2025-05-26 11:52:53 +02:00
GregValiant
6152306217 Update DisplayInfoOnLCD.py
Made some changes to the print stats that are added to the gcode.

Update DisplayInfoOnLCD.py
2025-05-22 12:20:44 -04:00
Remco Burema
33b5918acd Painting: Sort-of able to drag the mouse now, not just click.
Some checks failed
conan-package / conan-package (push) Has been cancelled
unit-test / Run unit tests (push) Has been cancelled
Also typing. The way it now works is way too slow though, and it doesn't add 'inbetween' the moude-move-positions yet. Also several other things of course.

part of CURA-12543
2025-05-22 11:02:08 +02:00
Remco Burema
a176957fa7 Painting: Set color, brush-size, brush-shape.
part of CURA-12543
2025-05-22 10:48:22 +02:00
Remco Burema
3ae85e3e2a Refactored paint-view into its own thing.
part of CURA-12543
2025-05-21 21:53:37 +02:00
Remco Burema
c5592eea83 Slightly optimize and refactor the w.i.p. paint-tool.
Just enought so that the truly ugly things are out of it.

part of CURA-12543
2025-05-21 15:19:07 +02:00
Remco Burema
19ea88a8ce W.I.P. Start of paint-tool plugin UX work.
Should be able to paint pixels now if the tools is active, and the model loaded is with UV-coords (that rules out our current impl. of 3MF at the moment -- use OBJ instead), and you position the model outside of the build-plate so the paint-shadr that is temporarily replacing the 'disabled' one is showing.

Will need a lot of extra features and optimizations still!

part of CURA-12543
2025-05-20 15:56:21 +02:00
Remco Burema
93694e2da4 W.I.P.: Add paint-shader/layer so it can be used for the UV-painting feature.
Currently replacing the 'disabled' batch until we can get it to switch out on command (when we have the painting stage/tool/... pluging up and running.

part of CURA-12543
2025-05-20 15:52:29 +02:00
HellAholic
43a055cfd5
Merge pull request #20482 from GregValiant/PurgeLinesUpdate
Update PurgeLinesAndUnload.py
2025-05-07 20:33:34 +02:00
Erwan MATHIEU
d2e625edb3 Export project settings into BambuLab 3MF
CURA-12101
The printer parses the machine_start_gcode to allow selecting the filaments mapping at start time, without it the user has to set the filaments in fixed order. This is probably a security to ensure the proper filament is loaded at start.
2025-04-29 11:28:56 +02:00
Erwan MATHIEU
52be6f3d2d Merge remote-tracking branch 'origin/CURA-12099_export-and-import-to-bambu-3mf' into CURA-12101_introduce-x1 2025-04-29 10:22:57 +02:00
Remco Burema
3e25b4ff9a Merge remote-tracking branch 'origin/main' into CURA-12099_export-and-import-to-bambu-3mf 2025-04-29 09:59:16 +02:00
Remco Burema
46216e1282 Renamed confusing 'Default' variant class to 'Cura3mf'.
result of code review of CURA-12099
2025-04-29 09:25:19 +02:00
Erwan MATHIEU
603df28c2a Fix all exporters being broken
CURA-12099
2025-04-28 13:37:14 +02:00
Remco Burema
371f280ab8 Add newlines to the end of new files.
done as part of CURA-12099
2025-04-24 15:13:24 +02:00
Remco Burema
254087cb45 Split-out bambu-specific elements to their own 3MF 'variant'.
part of CURA-12099
2025-04-24 15:10:19 +02:00
Erwan MATHIEU
4ff70ac46f Fix exporting Bambu 3mf format to removable drive
CURA-12099
2025-04-24 09:23:27 +02:00
Remco Burema
de8bf1a5df Fix 3MF export imports.
done as part of CURA-12099
2025-04-23 11:06:31 +02:00
Erwan MATHIEU
7731ee4b24 Basically working import from BambuStudio/OrcaSlicer 3MF
CURA-12099
2025-04-22 16:01:32 +02:00
Erwan MATHIEU
a6e324b748 Fix extruder stack corruption
CURA-12346
For some dark reason, importing the ExtruderStack class in the ThreeMFWriter somehow corrupts the loading of the extruders stacks. As it is imported only for typing, do the import only for type-checking.
2025-04-22 12:52:05 +02:00
GregValiant
1e18e0e63d Update AddCoolingProfile.py
Found a bug.  The ";LAYER:" line was not being added to the "modified data" string when in "single_fan_by_feature" mode.

Update AddCoolingProfile.py

bug fix for the bug fix.
2025-04-16 10:16:32 -04:00
Erwan MATHIEU
f69d80f6a0 Allow selecting material mapping on printer
CURA-12099
2025-04-16 15:08:58 +02:00
Erwan MATHIEU
09af18ec8f Export proper thumbnail and gcode into BambuLab 3mf format
CURA-12099
2025-04-16 09:09:22 +02:00
GregValiant
bf8d31aa51 Update DisplayInfoOnLCD.py
Add the 'Quality Name' to the gcode with the other settings.

Update DisplayInfoOnLCD.py

Touchups.

Update DisplayInfoOnLCD.py

Minor change
2025-04-15 19:29:52 -04:00
Remco Burema
14bf34d96a Adjust code to review comments.
- Use delete-on-close instead.
- Prevent infinite loops.

part of CURA-12156
2025-04-15 21:08:33 +02:00
GregValiant
03aa64448a Update AddCoolingProfile.py
Update AddCoolingProfile.py

Un-trapped ValueError in line 782.  It might also be an IndexError.  I left it open.

Update AddCoolingProfile.py

Change an IndexError to a ValueError
2025-04-13 20:12:24 -04:00