Commit Graph

22793 Commits

Author SHA1 Message Date
Vojtech Bubnik
bdedea3072 Organic supports: Speed up by slicing branches and merging polygons
at the same time, thus reducing memory consumption.
2023-04-19 09:57:22 +02:00
Filip Sykala - NTB T15p
4a05973ea8 Nicering of code 2023-04-18 13:11:29 +02:00
Vojtech Bubnik
fdac21b807 Fix of SPE-1658 GH #9665 Crash at macOS when Orgnanic Support selected
Reworked (again!) connecting of islands into a Z-graph.
Implemented various heuristics to handle self-intersecting and
mutually intersecting ExPolygons on the same layer.
2023-04-18 12:57:27 +02:00
rtyr
206d251f27
Sync with PrusaSlicer-settings. 2023-04-18 11:44:34 +02:00
enricoturri1966
80bbbcf8c3 SPE-1354 - Render travel toolpaths using 'flat' shader 2023-04-18 08:35:57 +02:00
enricoturri1966
d0f83a58c8 SPE-1661 - Fixed SLA support gizmo inactive when it is not possible to slice because of invalid data 2023-04-18 08:15:36 +02:00
Filip Sykala - NTB T15p
ed911260ee Fix for rotation text object by draging angle input(in advance). 2023-04-17 11:05:55 +02:00
tamasmeszaros
1ec13fef08 Fix crash when arranging objects not fitting into the bed
fixes #10278
fixes #10241
SPE-1637
2023-04-17 11:04:31 +02:00
David Kocik
fb6dd330c2 Merge branch 'dk_eject_com' 2023-04-17 10:21:56 +02:00
David Kocik
9d34998ac3 ejecting via Shell COM Object 2023-04-17 10:15:02 +02:00
Vojtech Bubnik
bb94e386d8 Fixed SPE-1451
Branch Diameter = 0 or 1xxxx; result: slicer crash
Tip Diameter = 0 or 1xxxx;; result: slicer crash
fixed by limiting the diameters to 0.1 .. 100mm
2023-04-14 17:25:07 +02:00
Vojtech Bubnik
53d948f0d0 Organic supports:
Renamed diameter_angle_scale_factor -> branch_radius_increase_per_layer
Renamed diameter_scale_bp_radius -> bp_radius_increase_per_layer
and removed scaling by branch diameter.
2023-04-14 16:55:06 +02:00
David Kocik
055b0c1e52 Merge branch 'dk_mainsail' 2023-04-14 11:36:25 +02:00
David Kocik
6fdb8c79cd Mainsail: Resolve IP address from test message
Windows only
2023-04-14 11:25:10 +02:00
David Kocik
4e52d3c56d Mainsail API implementation 2023-04-14 11:25:10 +02:00
Lukas Matena
f6da852353 Fix of #10210 (crash when using mainsail print host) and some related UI fixes ('OctoPrint'->'Mainsail/Fluidd') 2023-04-14 11:25:10 +02:00
Vojtech Bubnik
06403eef65 SPE-1461 improved error reporting:
if the last layer exceeds max print height while the object itself fits,
a specific error report is given:
"While the object %1% itself fits the build volume, its last layer exceeds the maximum build volume height."
Also the name of the object violating print height is reported
in the error message.
2023-04-14 09:21:39 +02:00
Vojtech Bubnik
adabaccc9e TriangleMeshSlicer: Added tests for checking for non-manifold sets
of contours created by the slicing algorithm.
Currently these tests are disabled as it is known that such situations
may appear.
2023-04-14 08:37:37 +02:00
Vojtech Bubnik
78b00bb9cb Tests for duplicate points in Polygons / ExPolygons were reworked
to use ankerl::unordered_dense hash map. Now the tests are roughly
1/4 faster than before.
2023-04-14 08:37:37 +02:00
Vojtech Bubnik
bd301d2a85 Elephant foot compensation: Refactored / simplified,
fixed an error for variable ExPolygon expansion (not used in production
code yet), fixed asserts when expanding a hole produces a hole in hole,
which is a valid situation.
2023-04-14 08:37:37 +02:00
PavelMikus
54db40eae2 Improve bridging lines cut on lightning infill 2023-04-13 17:28:13 +02:00
rtyr
e8f0f9cd47
Sync with PrusaSlicer-settings. Added Voron Switchwire.
Based on https://github.com/slic3r/slic3r-profiles/pull/35.
2023-04-13 16:35:00 +02:00
rtyr
dd211b29eb
Voron Switchwire resources.
Based on https://github.com/slic3r/slic3r-profiles/pull/35.
2023-04-13 16:34:07 +02:00
enricoturri1966
c8468839da Fixed method ExportLines::update() to avoid potential deferencing of invalid iterator 2023-04-13 15:34:09 +02:00
enricoturri1966
c1e145b86c SPE-1656 - When adding an instance use the orientation of the currently selected instance 2023-04-13 13:35:31 +02:00
enricoturri1966
5bb7428aa4 SPE-1655 - Fixed adding an instance to a mirrored object 2023-04-13 13:09:32 +02:00
Vojtech Bubnik
a092fdc1ed Revert "Fixed long standing bug in elephant foot compensation of holes."
This reverts commit d3d48e9895.
2023-04-13 10:06:14 +02:00
Vojtech Bubnik
fd3c41b4d3 Fix of #10257 SPE-1641
The object labeling likely never worked. Likely it was contributed,
but not reviewed sufficiently (by me I suppose).

Now the object ID is calculated as an index in the list of PrintObjects,
the order is arbitrary but stable, indices start with 0 and incremented
for every printed object with no gap in indices.

We are not quite sure how the indices are used by the OctoPrint
"Cancel Object" plugin, I suppose this change is sufficient.
2023-04-12 17:38:09 +02:00
Vojtech Bubnik
bceed00ae8 Fix of Layer::build_up_down_graph() for non-manifold inputs
by shrinking the input expolygons before intersecting them.
GH #10150, #10158, SPE-1621, SPE-1612
2023-04-12 17:03:10 +02:00
Vojtech Bubnik
d3d48e9895 Fixed long standing bug in elephant foot compensation of holes. 2023-04-12 17:03:09 +02:00
enricoturri1966
3b93b316c6 SPE-1654 - Out of printbed detection applied only to selected volumes when the selection is not empty 2023-04-12 10:07:50 +02:00
enricoturri1966
f4b935b661 SPE-1449 - Fixed object disappearing when opening Hollow or SLA support gizmos on LINUX 2023-04-11 13:14:23 +02:00
Lukas Matena
069d63a10c Fixed height detection when using seq. printing (broken in 3349644, fixes #10312) 2023-04-11 13:12:02 +02:00
enricoturri1966
2b86511a11 Merge branch 'master' of https://github.com/Prusa-Development/PrusaSlicerPrivate into et_sequential 2023-04-11 12:29:04 +02:00
Vojtech Bubnik
69a842f570 Bundled ankerl/unordered_dense.h 2023-04-11 10:24:24 +02:00
Vojtech Bubnik
cc5f472caa FIXME Comment on O(n^2) complexity of compute_intersections() 2023-04-11 10:23:09 +02:00
Vojtech Bubnik
5e5af56635 Tiny optimization in RegionExpansion wave_seeds() for empty input 2023-04-11 10:21:55 +02:00
Vojtech Bubnik
23d74f453e Partial fix of SPE-1605 / GH #9892
Organic supports: bad function call without any obvious reason
2023-04-11 10:21:19 +02:00
enricoturri1966
ed1e29e7a7 Fixed conflicts after merge with master 2023-04-11 09:28:54 +02:00
PavelMikus
2b85615b31 Fix issue https://github.com/prusa3d/PrusaSlicer/issues/10269
Dynamic overhang speed could sometimes wrongly apply volumtric limits
Also, setting speed to zero will now cause the algorithm to use base external perim speed.
2023-04-06 16:20:56 +02:00
PavelMikus
68d0f2da2b Improve bridge over infill filtering, fix tests 2023-04-06 15:54:16 +02:00
PavelMikus
32c05aa47a Fix bridging over infill - After wrong flow has been fixed, another problem appeared with small layer heights -the bridging layer was not generated 2023-04-06 14:55:33 +02:00
Vojtech Bubnik
c2baa9ad4f PlaceholderParser: Throw if valid or invalid UTF-8 sequence
is encountered inside a code block.
2023-04-06 13:30:29 +02:00
PavelMikus
fe292cc45d Fix SPE-1642 - wrong flow used for spacing of internal bridging over infill, also caused error when using thin nozzle (0.1) 2023-04-06 11:25:18 +02:00
rtyr
5185e760ce
Sync with PrusaSlicer-settings. Updated g-code flavor. 2023-04-06 10:48:19 +02:00
tamasmeszaros
2f0de665b4 Merge remote-tracking branch 'public/master' 2023-04-06 10:43:56 +02:00
Vojtech Bubnik
030cfaf4b3 Fix of SPE-1630 crash when referencing an invalid variable name
using the old placeholder parser syntax.
Also implemented unescaping of \r\n\"\\ in string syntax.
2023-04-06 10:40:20 +02:00
PavelMikus
b1081d7ac3 Fix segfault in ensuring regularization - wrong check for unbounded access 2023-04-06 09:46:12 +02:00
PavelMikus
b5514120e5 Ensuring improvements and fixes:
Fix issue https://github.com/prusa3d/PrusaSlicer/issues/9978  -  too agressive filtering caused holes in top surfaces
Fix issue https://github.com/prusa3d/PrusaSlicer/issues/10231  - thin bridges not anchored, again due to too aggressive ensuring filter
Fix issue https://github.com/prusa3d/PrusaSlicer/issues/9988  -
	Slicing with 1 top/bottom surface and very low min shell thickness caused non-anchored solid fills.
	Fixed by handling as a special case.
2023-04-05 18:09:28 +02:00
Mimoja
e93b222d33 format/AnycubicSLA: refactor Anycubic SLA format and add Photon Mono and Mono SE printers (#9929)
* format/sla: Rename pwmx format to AnycubicSLA

The Anycubic Photon SLA printer familiy is shipped with the PhotonWorkshop slicer.
This slicer generates the sliced archives. These archives have per-printer
extensions, not only pwmx. The name is -most of the times- comprised of the
PhontonWorkshop "pw" bit and the model name. "mo" for the Photon Mono, "mx"
for the Mono X.

Therefore the format name "pwmx" is incorrect and we are renaming it to AnycubicSLA.
On top of it we are introducing a helper macro to connect file extension and printer
definition as most printers use extremely similiar formats.

Signed-off-by: Mimoja <git@mimoja.de>

* format/AnycubicSLA: Add missing fields

The AnycubicSLA format description is derived from reverse engineering of
the PhotonWorkshop output files.

While the initial Photon devices had their binary headers with version 1
we have seen newer models with additional versions. Namely 515, 516 and 517.
We are adding the version handling to the AnycubicSLA exporter to prepare
for future version handling.
Some fields were missing for Version 1 which are added.

Signed-off-by: Mimoja <git@mimoja.de>

* PrintConfig/sla: Move material notes to simple view

As the Anycubic Photon Mono X uses the material notes to configure the
printers parameters we need to change the visibility to allow every user acces.

This will change the default behaviour for non Anycubic SLA printers.

Signed-off-by: Mimoja <git@mimoja.de>

* format/AnycubicSLA: Expose Antialiasing via material notes

Similiar to how the other machine configurations are exposed via the material notes
we are adding the Antialiasing config.

Signed-off-by: Mimoja <git@mimoja.de>

* Printer/sla: Add Anycubic Photon Mono and Mono SE

The Photon Mono and Mono SE are format compatible printers with the Mono X.
They support Version 1 and Version 515 binary archives.
We are implementing them as Version 1 priters to reduce the overhead and keep the code
in line with the Mono X.

The addition as Version 1 printers leaves some features unexposed, most noteably the Antialiasing
level configuration which is now always the maximum.

Given that the printers check the eligability of sliced files by file extension we are
poised to create per-printer sla_print default configurations to overwrite output_filename_format.

Tested: Successfully printed multiple objects. Changing the layer parameter on the onscreen display
succeeded.

---------

Signed-off-by: Mimoja <git@mimoja.de>
2023-04-05 15:05:18 +02:00