Commit Graph

3716 Commits

Author SHA1 Message Date
145f0489b8 Fixed crash when a part of a multipart object is completely below the printbed 2021-10-27 08:56:10 +02:00
cd13af59f4 Follow-up to 79eb59b9f2
Fix of #7168: Crash when layer count exceeds 4095
This time the crash was fixed for top / bottom propagation of
multi-material segmentation.
2021-10-26 16:21:07 +02:00
28de7f5504 Support generator: Merging of bottom contacts with top contacts and
interface layers if possible. This should always be possible with
soluble supports and it should have been done long time ago.
For non-soluble supports, it may or may not be possible to merge
these layers: They will only be merged if they are extruded without
bridging and with the same layer height.
Fixes Support enforcer interfaces not generated as needed. #6784
or at least some of the issues reported.

Experimental: Added experimental filtering of propagated support columns
to two extrusions, overlapping by maximum 20%.
This filtering step will remove spurious columns that do not support
anything, but the filtering step may remove supports supporting tiny
islands. Those supports would likely not be printable anyways without
the user intervention (extending the supported area by painting).
2021-10-26 12:09:46 +02:00
00c444f8c8 Tiny optimization of slice_mesh_slabs() with mirrored objects. 2021-10-26 10:03:41 +02:00
79eb59b9f2 Fix of #7168: Crash when layer count exceeds 4095 2021-10-26 09:56:49 +02:00
3d87904e66 Fixed the bottom layer of multi-material painted objects sunken below the print bed (#7107). 2021-10-25 14:59:05 +02:00
014bef382a #6999 - Fixed variable layer height editing not working when raft layers > 0 2021-10-25 14:47:13 +02:00
19387186a5 #7110 - Fixed calculation of estimated times for layers 2021-10-25 12:31:19 +02:00
10f24119d0 Fixed the propagation of painted top and bottom layers for mirrored objects in multi-material segmentation. 2021-10-25 08:43:30 +02:00
0bc2448e22 Documented the new print bed collision detection algorithm requirements:
Only convex print bed is supported.
Optimization of collision detection by precomputing the print bed shape type.
2021-10-23 15:29:18 +02:00
36baae05f1 Commented out unused and expensive printbed_collision_state() 2021-10-23 15:29:18 +02:00
be236eda85 Renamed Geometry::intersect() to Geometry::convex_polygons_intersect()
to convey its true meaning.
2021-10-23 15:29:18 +02:00
22f3682c0f Fix of #7155 (broken loading of configs from <=1.41.3) 2021-10-22 17:04:08 +02:00
3021a6f57f Fixing previous commit for QHull configured for doubles, not floats. 2021-10-22 15:20:40 +02:00
b15db6fdb7 Fixed previous commit, which broke debug compilation. 2021-10-22 15:11:51 +02:00
e07a2434d3 Merge branch 'lm_seam_fixes2' 2021-10-22 14:52:01 +02:00
d34c9cec9a Follow-up of decdaa82d3 - Use normalized vectors 2021-10-22 14:29:56 +02:00
d43ae66eca reduced copy / paste redudancy by extracting a new function
to produce convex hull: its_convex_hull()
2021-10-22 14:02:53 +02:00
decdaa82d3 Modified implementation of Line::parallel_to(const Line& line) and Line::perpendicular_to(const Line& line) 2021-10-22 13:51:33 +02:00
00dfb8f69c Make sure that we have the lower_layer_edge_grid when placing seams 2021-10-22 13:16:08 +02:00
19eb984d72 SeamPlacer: one more heuristic to get rid of long travels 2021-10-22 13:16:08 +02:00
59502e7861 Seam placement improvements 2021-10-22 13:16:08 +02:00
0791a2b3ed Fix of #7104 (dimples in perimeters after multi-material segmentation) 2021-10-22 11:58:46 +02:00
767f401ada Brim generator: Using pftNonZero instead of pftEvenOdd for intersection / difference. 2021-10-21 13:35:29 +02:00
dc588e2db5 Pass previously set arc tolerance to concave hull 2021-10-21 12:22:15 +02:00
3f1fc8329b Follow-up to 482841b, see also #6743:
The validation is now counterproductive, both the backend and the UI can
handle the situation well enough.
2021-10-21 11:38:10 +02:00
69721123db [fuzzy skin] Use "walls" instead of "perimeters" in option
"Perimeters" has a specific meaning within Prusa Slicer, but fuzzy skin
uses "perimeters" to mean "walls" which can be confusing
2021-10-21 10:30:58 +02:00
d8a0d0523f Allowed painting in the FDM supports, seam, and multi-material gizmo to only triangles not clipped by a clipping plane. 2021-10-21 08:49:24 +02:00
482841b39e Disable acceleration control if default_acceleration is zero 2021-10-20 21:33:34 +02:00
6887fa829e Another warning fix for gcc 11 2021-10-20 15:48:39 +02:00
39a6c13c81 Use proper morphological closing for pad creation. 2021-10-20 14:34:22 +02:00
2c0815f537 Fixed conflicts after merge with master and ported changes into gouraud shaders to gouraud_mod shaders 2021-10-19 11:27:11 +02:00
5e735a59d0 Fixed planning of support interface layers with rafts and
larger Z gap for supports than for the raft.
2021-10-19 09:19:53 +02:00
c12eff19d8 Fixed a possible deadlock:
The thread counter should be modified under a mutex, atomic is not enough here
2021-10-18 16:24:15 +02:00
c313e6793a Follow-up to 1ca24f0bd0
Fixed visualization of G-code in G-code viewer after 07e7e11590
The line end positions were not extracted correctly from G-code
imported into a stand-alone G-code viewer.
2021-10-18 15:46:23 +02:00
32ebfa66e9 Fix of M106 on every new layer #7094
after parallelization of CoolingBuffer:
Remember the last fan speed emitted at the previous layer.
2021-10-18 14:56:02 +02:00
556e0c53c7 Some more refactoring of ClipperLib / closing() / opening() 2021-10-18 14:51:30 +02:00
f494ad565b Fix some builds that fail with cgal 5.2.3 2021-10-18 14:38:55 +02:00
4d47e9a184 Allow travels processed by the avoid crossing perimeters move further away from the outer perimeter. 2021-10-18 12:51:20 +02:00
6f6f6de506 Added an option to limit painting to triangles only highlighted by "Highlight by angle" in the support painting gizmo. 2021-10-18 10:54:31 +02:00
bec140b4bc "only_retract_when_crossing_perimeters" disabled by default
to reduce stringing for "custom" printers based on "defaults".
2021-10-15 16:35:16 +02:00
5e3da340ae Fix crash with some models after hole drilling 2021-10-15 15:32:14 +02:00
1ca24f0bd0 Fixed visualization of G-code in G-code viewer after 07e7e11590
Fix of prusa-gcodeviewer changes modification time of the viewed gcode file #7005
2021-10-15 14:31:57 +02:00
a6f4b9b71f Snug supports: Extrude interface layers 45 degrees from the base layer,
flip direction of the infill layer with each interface layer.
Unfortunately the flipping of support interface directions may not work
reliably due to base support layer heights growing at different rate
from the interface layers.
2021-10-14 13:56:04 +02:00
7be17d89e6 Fixed conflicts after merge with master 2021-10-14 10:48:46 +02:00
2f9ce6bedb Fixed incorrect color assignment in multi-material segmentation caused by intersecting edges due to post-processing of Voronoi diagram.
This issue was occurring mainly on the cylinder objects.
2021-10-14 09:39:23 +02:00
64a3866ad5 Making GCC happy. 2021-10-14 09:33:39 +02:00
0222533273 Fixed compilation on non MS systems 2021-10-14 09:31:53 +02:00
7ff76d0768 New ClipperUtils functions: opening(), closing() as an alternative
for offset2() with clear meaning.
New ClipperUtils functions: expand(), shrink() as an alternative
for offset() with clear meaning.
All offset values for the new functions are positive.

Various offsetting ClipperUtils (offset, offset2, offset2_ex) working
over Polygons were marked as unsafe, sometimes producing invalid output
if called for more than one polygon. These functions were reworked
to offset polygons one by one. The new functions working over Polygons
shall work the same way as the old safe ones working over ExPolygons,
but working with Polygons shall be computationally more efficient.

Improvements in FDM support generator:
1) For both grid and snug supports: Don't filter out supports for which
   the contacts are completely reduced by support / object XY separation.
2) Rounding / merging of supports using the closing radius parameter is
   now smoother, it does not produce sharp corners.
3) Snug supports: When calculating support interfaces, expand the projected
   support contact areas to produce wider, printable and more stable interfaces.
4) Don't reduce support interfaces for snug supports for steep overhangs,
   that would normally not need them. Snug supports often produce very
   narrow support interface regions and turning them off makes the support
   interfaces disappear.
2021-10-14 09:11:31 +02:00
ac6259e387 Preferences: notify_relese option with Choice type Field.
OptionsGroup:: Added possibility of the right alignment of the controls
+ Added separator line to Preferences
2021-10-13 15:39:06 +02:00