Commit graph

3746 commits

Author SHA1 Message Date
tamasmeszaros
535191c1e9 Verify layerHeight conf value before use 2021-11-05 15:58:40 +01:00
tamasmeszaros
c4c8b7608e Fix some mesh errors in sl1 archive reconstruction 2021-11-05 15:43:40 +01:00
tamasmeszaros
fb429c1e23 Load layer height from config.ini if profile is missing from sl1 archive 2021-11-05 15:31:15 +01:00
YuSanka
aff9e1f7ea MSW_DarkMode: Next Improvements
* Refreshed title bar for all Dialogs and MainFrame
* Refreshed header of the DataViewCtrl and ListView
* Refresh tooltips
* Redraw SpinCtrls
* Use system menu with is colored in respect to the color mode
* Preferences: Added parameter "Use system menu for application" and moved to the "Dark mode" tab with "Enable Dark mode parameter"
2021-11-05 10:01:13 +01:00
David Kocik
a771519b9f Fix of #7169 Check if material or filament profile is_compatible before selecting it when it should be selected as first selected profile in wizard. 2021-11-03 11:37:06 +01:00
Lukáš Hejl
54b0ee6a4a Fix of #7112 (Default color sometimes appeared between two multi-material painted areas) 2021-11-02 13:02:00 +01:00
Lukáš Hejl
3eb4ae309a Small refactoring of post-processing of the projected painted lines in multi-material segmentation. 2021-11-02 13:02:00 +01:00
Lukáš Hejl
e04c934253 Added more debug output for multi-material segmentation for debugging projection of the painted lines. 2021-11-02 12:49:46 +01:00
Vojtech Bubnik
4e9f906848 Cooling buffer used to remove F word from G1 Fxxx lines if the feed rate
did not change compared to the preceding value creating empty "G1" lines.
The empty "G1" lines are now removed.
Improves Features fail with extra G1 moves when above a certain layer height and Detect Thin Walls is enabled #5176
Improves Thin wall detection causes miniature loops to be added, and emits empty G1 commands #3058
2021-11-02 12:11:53 +01:00
David Kocik
ca8f7fbf80 Copying from other config folders:
Find if there is more recent config in other folders (alpha / beta / release).
If yes, ask user, make snapshot, copy files.
if there is no current config, ask user and copy recent one.
2021-11-02 10:51:45 +01:00
tamasmeszaros
73af0ed331 Fixing slow conversion from cgal mesh format 2021-11-02 09:52:44 +01:00
Lukáš Hejl
78879b2e84 Fixed missing brims for nested objects.
Brim wasn't generated when some object was placed inside the hole of another object.
2021-11-01 15:10:51 +01:00
Lukáš Hejl
30a37d0c25 Fix of #7213: Not generated inner brim after 7ff76d0768. 2021-11-01 15:10:51 +01:00
Vojtech Bubnik
a0ee41770d Fix of Print::apply() creating hierarchy of regions for complex scenarios:
Unnecessary regions were created for a modifier over a volume or a modifier,
where the modifier did not modify any of its parent's properties.
This lead to an explosion of regions for this particular 3MF.
Fixes Non Responsive & Memory Leak when opening or changing this 3MF project #7220
2021-11-01 13:48:45 +01:00
enricoturri1966
4a2e991ffe Fixed build on non-Windows OSs 2021-11-01 08:46:37 +01:00
Yuri D'Elia
0074df9c74
Fix build on linux/clang 13 (#7203)
* Include missing headers

* Disambiguate nested template function for clang 13
2021-11-01 08:02:20 +01:00
Vojtech Bubnik
a94f1b332a Fixing the GCC/clang builds. MSVC is again non-conformant. 2021-10-30 14:00:23 +02:00
Vojtech Bubnik
d78a5acba9 Numerical improvements to Welzel minimum enclosing circle algorithm 2021-10-30 11:18:36 +02:00
Vojtech Bubnik
5f84c504fc Support generator: Regression wrt. PrusaSlicer 2.3.3:
"with sheath" now again uses the lighweight zig-zag algorithm
for the sparse support columns, while PrusaSlicer 2.4.0-alpha1
to PrusaSlicer 2.4.0-beta1 used the new "stable" zig-zag
algorithm for both the non-sheathed and sheathed sparse support columns
creating unnecessarily thick support column perimeters.
2021-10-29 16:53:03 +02:00
Vojtech Bubnik
1ddd060982 New placeholder parser values for output file name template;
{num_objects} - number of printable objects on the plater.
{num_instances} - number of printable instances on the plater, adding up
  	all printable instances of all objects.
Implements #2735 #3339 #4607
2021-10-29 14:27:36 +02:00
Vojtech Bubnik
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
Vojtech Bubnik
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
Vojtech Bubnik
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
Vojtech Bubnik
93e91bcacb Fixing compilation on GCC 2021-10-27 17:36:47 +02:00
Vojtech Bubnik
bc1737c0da Yet another bugfix for gcc where MSVC was happy with non-conformant code 2021-10-27 16:16:49 +02:00
Vojtech Bubnik
ad2dfe345d Fixed typo in an unused template code, where MSVC does not complain,
but GCC does.
2021-10-27 16:07:23 +02:00
Vojtech Bubnik
e87f90af9f Fixed typo in CMake 2021-10-27 16:04:58 +02:00
Vojtech Bubnik
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
Vojtech Bubnik
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
tamasmeszaros
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
enricoturri1966
145f0489b8 Fixed crash when a part of a multipart object is completely below the printbed 2021-10-27 08:56:10 +02:00
Vojtech Bubnik
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
Vojtech Bubnik
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
Vojtech Bubnik
00c444f8c8 Tiny optimization of slice_mesh_slabs() with mirrored objects. 2021-10-26 10:03:41 +02:00
Lukas Matena
79eb59b9f2 Fix of #7168: Crash when layer count exceeds 4095 2021-10-26 09:56:49 +02:00
Lukáš Hejl
3d87904e66 Fixed the bottom layer of multi-material painted objects sunken below the print bed (#7107). 2021-10-25 14:59:05 +02:00
enricoturri1966
014bef382a #6999 - Fixed variable layer height editing not working when raft layers > 0 2021-10-25 14:47:13 +02:00
enricoturri1966
19387186a5 #7110 - Fixed calculation of estimated times for layers 2021-10-25 12:31:19 +02:00
Lukáš Hejl
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
Vojtech Bubnik
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
Vojtech Bubnik
36baae05f1 Commented out unused and expensive printbed_collision_state() 2021-10-23 15:29:18 +02:00
Vojtech Bubnik
be236eda85 Renamed Geometry::intersect() to Geometry::convex_polygons_intersect()
to convey its true meaning.
2021-10-23 15:29:18 +02:00
Lukas Matena
22f3682c0f Fix of #7155 (broken loading of configs from <=1.41.3) 2021-10-22 17:04:08 +02:00
Vojtech Bubnik
3021a6f57f Fixing previous commit for QHull configured for doubles, not floats. 2021-10-22 15:20:40 +02:00
Vojtech Bubnik
b15db6fdb7 Fixed previous commit, which broke debug compilation. 2021-10-22 15:11:51 +02:00
Lukas Matena
e07a2434d3 Merge branch 'lm_seam_fixes2' 2021-10-22 14:52:01 +02:00
enricoturri1966
d34c9cec9a Follow-up of decdaa82d3 - Use normalized vectors 2021-10-22 14:29:56 +02:00
Vojtech Bubnik
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
enricoturri1966
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
Lukas Matena
00dfb8f69c Make sure that we have the lower_layer_edge_grid when placing seams 2021-10-22 13:16:08 +02:00