3216448bbc
PlaceholderParser: implemented round(), digits() and zdigits() macros.
...
round() rounds to an integer.
This is a popular request, for example #3472
digits(value, num_digits, num_decimals) rounds to num_digits and
num_decimals, left filled with spaces.
digits(value, num_digits) the same as digits(value, num_digits, 0)
Neither decimal separator nor any decimals after decimal separator
are emitted.
zdigits(...) is the same as digits(...) only left filled with zeros.
If the result does not fit num_digits, the result is never trimmed.
2021-10-29 13:36:26 +02:00
0f145920d9
Fixed conditional G-code int(...), which did not accept an expression,
...
just a variable, constant or an expression enclosed in double braces (())
Mentioned for example in #3472
2021-10-29 10:45:33 +02:00
b6c4e94d81
Fixing projection of bottom surfaces in MM segmentation and for
...
support blockers / enforcers.
All slicing functions shall produce consistent results with the same mesh, same transformation matrix and slicing parameters.
Namely, slice_mesh_slabs() shall produce consistent results with slice_mesh() and slice_mesh_ex() in the sense, that projections made by
slice_mesh_slabs() shall fall onto slicing planes produced by slice_mesh().
Before this commit, slice_mesh_slabs() projected bottom facing faces upwards to its coplanar slicing plane,
which is different from how slice_mesh() or slice_mesh_ex() work, leading to ignored support enforcer / blocker strokes.
2021-10-28 15:07:29 +02:00
93e91bcacb
Fixing compilation on GCC
2021-10-27 17:36:47 +02:00
bc1737c0da
Yet another bugfix for gcc where MSVC was happy with non-conformant code
2021-10-27 16:16:49 +02:00
ad2dfe345d
Fixed typo in an unused template code, where MSVC does not complain,
...
but GCC does.
2021-10-27 16:07:23 +02:00
e87f90af9f
Fixed typo in CMake
2021-10-27 16:04:58 +02:00
cf7b6fb19a
Extracted MedialAxis code from Geometry.cpp/hpp, moved to its own
...
files to Geometry/
Moved other Voronoi files to Geometry/
2021-10-27 16:03:04 +02:00
497905406b
New code for minimum enclosing circle by randomized Welzl algorithm.
...
Split the circle code from Geometry.cpp/hpp to Geometry/Circle.cpp,hpp
2021-10-27 15:12:29 +02:00
d57cfa981e
Construct supports using the trimmed mesh. To solve issues with supports within the cavity hanging in the air. This still doesn't solve the issue with undrilled holes.
...
To solve issues with supports within the cavity hanging in the air. This still doesn't solve the issue with undrilled holes.
2021-10-27 10:05:09 +02:00
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