Commit Graph

3993 Commits

Author SHA1 Message Date
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
fe6b288743 Fixed conflicts after merge with master 2021-10-25 12:44:59 +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
Lukas Matena
19eb984d72 SeamPlacer: one more heuristic to get rid of long travels 2021-10-22 13:16:08 +02:00
Lukas Matena
59502e7861 Seam placement improvements 2021-10-22 13:16:08 +02:00
Lukáš Hejl
0791a2b3ed Fix of #7104 (dimples in perimeters after multi-material segmentation) 2021-10-22 11:58:46 +02:00
Vojtech Bubnik
767f401ada Brim generator: Using pftNonZero instead of pftEvenOdd for intersection / difference. 2021-10-21 13:35:29 +02:00
tamasmeszaros
dc588e2db5 Pass previously set arc tolerance to concave hull 2021-10-21 12:22:15 +02:00
Lukas Matena
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
Niall Sheridan
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
Lukáš Hejl
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
Justin Schuh
482841b39e Disable acceleration control if default_acceleration is zero 2021-10-20 21:33:34 +02:00
tamasmeszaros
6887fa829e Another warning fix for gcc 11 2021-10-20 15:48:39 +02:00
tamasmeszaros
39a6c13c81 Use proper morphological closing for pad creation. 2021-10-20 14:34:22 +02:00
enricoturri1966
3d22cc096f Fixed conflicts after merge with master 2021-10-19 12:08:43 +02:00
enricoturri1966
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
Vojtech Bubnik
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
Lukas Matena
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
Vojtech Bubnik
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
Vojtech Bubnik
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
Vojtech Bubnik
556e0c53c7 Some more refactoring of ClipperLib / closing() / opening() 2021-10-18 14:51:30 +02:00
tamasmeszaros
f494ad565b Fix some builds that fail with cgal 5.2.3 2021-10-18 14:38:55 +02:00
Lukáš Hejl
4d47e9a184 Allow travels processed by the avoid crossing perimeters move further away from the outer perimeter. 2021-10-18 12:51:20 +02:00
Lukáš Hejl
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
Vojtech Bubnik
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
tamasmeszaros
5e3da340ae Fix crash with some models after hole drilling 2021-10-15 15:32:14 +02:00
Vojtech Bubnik
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
Vojtech Bubnik
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
enricoturri1966
fe1c5f34a0 Fixed conflicts after merge with master 2021-10-14 10:57:08 +02:00
enricoturri1966
7be17d89e6 Fixed conflicts after merge with master 2021-10-14 10:48:46 +02:00
Lukáš Hejl
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
Vojtech Bubnik
64a3866ad5 Making GCC happy. 2021-10-14 09:33:39 +02:00
Vojtech Bubnik
0222533273 Fixed compilation on non MS systems 2021-10-14 09:31:53 +02:00
Vojtech Bubnik
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
David Kocik
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
enricoturri1966
405a7e84d6 Fix in seams detection (restore detection after wiping) 2021-10-13 11:13:31 +02:00
enricoturri1966
8befc43739 Seams detection now takes in account for overhang perimeters 2021-10-12 12:03:34 +02:00
enricoturri1966
19572068a5 Revert of e28ebf9386 2021-10-12 11:49:51 +02:00
tamasmeszaros
ac414e226f Minor beautification 2021-10-12 10:55:23 +02:00
enricoturri1966
e28ebf9386 Removed threshold to detect seams to be shown in preview 2021-10-12 09:53:23 +02:00
David Kocik
c4f78fcdc9 Check version string for alpha and beta release versions.
Preferences setting to show / not show alpha beta releases.
2021-10-11 10:01:48 +02:00
enricoturri1966
b9ac80ccd4 #7076 - Modifiers and similar objects always rendered as transparent 2021-10-08 10:48:46 +02:00
Vojtech Bubnik
5de143f04f Follow-up to 96b88f5b29
Fixed crash with zero support base spacing.
The bug fix was not correct and it disabled the new "zig-zag" sparse
infill generator, leading to GH issue #7014

Somehow improved missing interface layers for snug supports
by propagating full overhangs when generating interface layers.

Fixed generation of soluble interfaces for support enforcers,
where base support was used for steeper overhangs.

Disabled filtering out thin regions from the lower layer, that will
not be covered by perimeters, thus they are not supporting the current layer.
However this may lead to a situation where regions at the current layer
that are narrow thus not extrudable will generate unnecessary supports.
For example, see GH issue #3094
2021-10-07 15:39:44 +02:00
enricoturri1966
29340c1560 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-07 14:22:06 +02:00
enricoturri1966
6b4014433f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-10-07 14:13:05 +02:00
enricoturri1966
eee8d97f49 Tech ENABLE_TRAVEL_TIME - Show estimated time for travel moves in legend when they are visible 2021-10-07 14:07:33 +02:00
Lukáš Hejl
b99be85187 Fixed a warning. 2021-10-07 13:36:06 +02:00
Lukáš Hejl
82bf9c158a Optimized multi-material segmentation to construct Voronoi diagrams only for layers that have more than one color. If the whole layer is painted using the same color, it is not needed to construct a Voronoi diagram. 2021-10-07 13:16:21 +02:00
YuSanka
a2b99db0df MSW specific:Added dark mode for G-CodeViewer 2021-10-07 11:53:19 +02:00
enricoturri1966
89ed41750a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-10-07 10:57:16 +02:00
YuSanka
c15be26bff Check if object's size appears to be zero, when loading the model file. 2021-10-07 09:12:31 +02:00
YuSanka
7340488aaf ObjectList: Fixes
* Fixed update of a warning icon for multi-part object, when some part with errors was deleted
 * Fixed a crash when selecting non-Object and non-Volume item (in get_mesh_errors_info() was missed check of the obj_idx)

+ Follow-up 1cc7b4ba97 - some code refactoring:
  * fixed RepairedMeshErrors.merge()
  * get_mesh_errors_count() renamed to get_repaired_errors_count()
2021-10-06 17:24:40 +02:00
enricoturri1966
ecf744104d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-10-06 15:30:29 +02:00
enricoturri1966
fe4baa33f6 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-06 13:48:27 +02:00
enricoturri1966
4ff13a5d63 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Reworked detection of collision with printbed. The detection uses now different algorithms in dependence of the printbed type (rectangular, circular, convex) to improve performance. 2021-10-06 13:47:54 +02:00
YuSanka
1cc7b4ba97 Save/Load repaired errors from/to a mesh statistics to/from a 3MF 2021-10-06 10:57:28 +02:00
enricoturri1966
982172b878 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-05 15:33:37 +02:00
Lukas Matena
faa808b385 First draft of SendSystemInfoDialog 2021-10-05 15:09:52 +02:00
enricoturri1966
b08c3248b1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-10-05 14:13:45 +02:00
tamasmeszaros
29a5f48f43 Minor performance optimization for convex intersection algo 2021-10-05 13:31:09 +02:00
enricoturri1966
ddcbbee3b0 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-05 09:51:04 +02:00
Vojtech Bubnik
e185bf58b7 Replaced "Simple shorthands for smart pointers" shptr, uqptr, wkptr
with their original names. Using weird shorthands makes the code
unreadable for anyone but the original author.

template<class T> using shptr = std::shared_ptr<T>;
template<class T> using uqptr = std::unique_ptr<T>;
template<class T> using wkptr = std::weak_ptr<T>;
2021-10-04 16:56:26 +02:00
Vojtech Bubnik
b028e169c8 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-10-04 16:33:33 +02:00
Vojtech Bubnik
6192c57368 Fix of support missing under horizontal overhang #6058
There was a bug for more than 4 years, which likely triggers now more
often with the introduction of raft_contact_distance parameter,
which is usually significantly smaller than support_material_contact_distance.
There were no support towers built at the raft for contact layers
below the print_z of the first object layer.
2021-10-04 16:33:25 +02:00
enricoturri1966
a9ca63d344 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-04 15:04:34 +02:00
tamasmeszaros
4cc1b2740d Don't report intersection if two polygons are only touching. 2021-10-04 14:16:13 +02:00
enricoturri1966
4521945bb3 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Faster printbed collision detection using the new function Geometry::intersect() 2021-10-04 14:07:45 +02:00
enricoturri1966
5739178306 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-04 13:07:53 +02:00
tamasmeszaros
9c177cf167 Merge branch 'tm_convex_intersect_rotcalip' 2021-10-04 10:12:04 +02:00
enricoturri1966
0b78e009b4 #7050 - GCodeProcessor: Fixed processing of gcode lines M109 2021-10-04 09:02:03 +02:00
enricoturri1966
2e779d8594 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-04 08:30:13 +02:00
tamasmeszaros
9fce0ce3a6 Fix compile issues and overlapping polygon fails 2021-10-01 18:27:37 +02:00
Lukas Matena
4ca2401b69 Several minor improvements and fixed warnings 2021-10-01 14:31:22 +02:00
Vojtech Bubnik
68de2a49a3 Fixed update of mesh volume after applying a transformation.
Fixes flipped normals when importing some 3MFs.
2021-10-01 14:28:45 +02:00
Vojtech Bubnik
afbbb36fa4 Fixed import of multi-material AMF files, broken due to admesh eradication. 2021-10-01 13:34:22 +02:00
enricoturri1966
f84838028b Tech ENABLE_FIX_SINKING_OBJECT_OUT_OF_BED_DETECTION merged into tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS 2021-10-01 13:13:26 +02:00
enricoturri1966
efb08cf55a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-01 12:15:24 +02:00
David Kocik
5a45c94ccd Remove duplicit warning about not enabled support enforcers 2021-10-01 10:08:19 +02:00
enricoturri1966
f3bd5e96c5 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Fixed detection of collision with circular printbed in backend 2021-10-01 07:28:10 +02:00
Lukas Matena
476b48ed11 Revert "Merge branch 'tm_convex_intersect_rotcalip'"
This reverts commit 627d8bcaef, reversing
changes made to 66d4462724.

The change breaks build on mac
2021-09-30 16:49:00 +02:00
tamasmeszaros
234f062ad4 Fast convex polygon intersection test with rotating calipers 2021-09-30 15:49:12 +02:00
enricoturri1966
09150780c9 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-09-30 15:08:54 +02:00
enricoturri1966
1f82eb5624 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-09-30 15:08:35 +02:00
enricoturri1966
13ef817a99 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Enable detection of collision with circular printbed in backend 2021-09-30 14:51:09 +02:00
Vojtech Bubnik
66d4462724 Fixed spelling error preffered / preferred 2021-09-30 14:44:11 +02:00
David Kocik
5045e07f78 Find name of preset from alias before selecting preferred preset. 2021-09-30 14:42:30 +02:00
Vojtech Bubnik
aeb18e729d New preferences key "clear_undo_redo_stack_on_new_project", set to "1"
by default: Clear Undo / Redo stack on new project or load project.
Fixes Clear undo chain #2812
2021-09-30 12:17:52 +02:00
Vojtech Bubnik
96f4d71c71 Fixed 1st layer support expansion if printed without raft.
This is a regression to PrusaSlicer 2.3.3
2021-09-30 14:01:31 +02:00
Vojtech Bubnik
b76f66d2d2 Follow-up to 3ee259b602
1) Added parsing of 3MF PrusaSlicer generator semantic version
2) For 3MFs generated by >= "2.4.0-alpha1" and < "2.4.0-alpha3",
   remove unreferenced vertices on loading. This should shrink the incorrectly
   generated 3MFs back.
3) Added check for an empty mesh, which could have crashed PrusaSlicer on 3MF parsing.
2021-09-30 12:18:43 +02:00
enricoturri1966
7cfe082621 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Enable detection of collision with circular printbed for toolpaths 2021-09-30 12:08:05 +02:00
enricoturri1966
b19c742455 Fixed conflicts after merge with master 2021-09-30 10:31:25 +02:00
enricoturri1966
47d3d068dd Fixed warnings 2021-09-30 09:00:01 +02:00
enricoturri1966
b4423aa954 Fixes required after merge with branch et_layer_time_preview 2021-09-30 08:35:36 +02:00
enricoturri1966
5cf48d1ecf Merge remote-tracking branch 'origin/et_layer_time_preview' into et_preview_layout 2021-09-30 08:16:10 +02:00
enricoturri1966
33da203b18 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-09-30 07:58:11 +02:00
enricoturri1966
064bc63b23 Fixed conflicts after merge with master 2021-09-30 07:57:37 +02:00
tamasmeszaros
5c1e6d2298 Fix reading relative_correction parameter
Drop compatibility with profiles created on legacy Slic3r PE 1.42-beta1 to 1.42-beta2

fixes #7013
2021-09-29 10:11:29 +02:00
enricoturri1966
c917b82bea Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-09-27 16:03:22 +02:00
enricoturri1966
80f28538c5 #7011 - Follow-up of 3ee259b602 - Modified volumes' indices rebase 2021-09-27 16:03:09 +02:00
Vojtech Bubnik
85c760d9b6 Touch-up to some comments, removed commented-out code 2021-09-27 15:00:58 +02:00
enricoturri1966
3ee259b602 #7010 - Fixed import of volumes from 3mf. This is a regression wrt. PrusaSlicer 2.4.0-alpha1 due to the 3mf import optimization introduced with 8a2a9dba2f 2021-09-27 14:14:05 +02:00
enricoturri1966
2483a9f036 Added missing include 2021-09-27 13:02:56 +02:00
enricoturri1966
1196251d51 #7015 - Fixed typo in AMFParserContext::endElement() 2021-09-27 12:33:26 +02:00
enricoturri1966
8ecdea152f Follow-up of 721e396edc - Same fix applied to GCodeProcessor::process_G28() and GCodeProcessor::process_M402() 2021-09-27 12:08:26 +02:00
enricoturri1966
721e396edc #7016 - Fixed GCodeProcessor::process_M132() 2021-09-27 11:35:58 +02:00
enricoturri1966
7ca9024fca #7008 - GCodeViewer - Fixed loading of gcodes generated by SuperSlicer 2021-09-27 11:22:36 +02:00
Vojtech Bubnik
43470af0c6 Fix of "About" screen still shows 2020 at the copyright notice (#7018) 2021-09-27 10:07:29 +02:00
Vojtech Bubnik
07e7e11590 Fix of prusa-gcodeviewer changes modification time of the viewed gcode file #7005
This is a regression wrt. PrusaSlicer 2.4.0-alpha1 due to the G-code
processing optimization and parallelization.
Related to GCode Viewer changes files modified date in windows #5079
2021-09-27 10:02:54 +02:00
tamasmeszaros
4d2bf8db0d Switch to current SLA profile if an imported archive doesn't contain it.
Send a warning notification if this happens. Also,if  there is no current SLA profile initialized, an error message will tell the user to switch to an SLA profile before importing.

fixes #6915
2021-09-27 10:00:21 +02:00
tamasmeszaros
33eba4aea6 Rename SLAPrinter interface to SLAArchive as it makes more sense. 2021-09-27 10:00:21 +02:00
Lukas Matena
6a5feb818f Revert "Fixed volume transformations in SLA:":
The fix is not complete, it is better not to break it more than it was.

This reverts commit 6b25a9c836.
2021-09-24 13:03:56 +02:00
Lukas Matena
6b25a9c836 Fixed volume transformations in SLA:
Volume transformations were ignored in SLA mode. This did not matter for plain STLs
and PS own 3MF, because in those cases, the volume trafo was identity. Importing
a 3rd party 3MF leads to issues with support/holes placement and generation.
Fixes #6100 and #6744.
2021-09-24 12:14:44 +02:00
Vojtech Bubnik
fec5d92bc8 Added various has_duplicate_points() checks, to be used by asserts.
Removed some "extern" function modifiers, they have no meaning in C++.
2021-09-24 14:07:46 +02:00
tamasmeszaros
acd2448f10 Fix stl export on Linux 2021-09-24 10:15:46 +02:00
Vojtech Bubnik
3872524dc4 Follow-up to b6d7601ead
Fixing the FDM raft generator.
2021-09-24 10:13:26 +02:00
Vojtech Bubnik
0c0c37b76c Fix of [2.4.0a] version placeholder doesn't work for output filename format #7002 2021-09-24 09:36:14 +02:00
enricoturri1966
720fdf9bb3 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-09-24 09:23:00 +02:00
Vojtech Bubnik
04e4aee246 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-09-23 18:46:15 +02:00
Vojtech Bubnik
b6d7601ead Fixed endless loop in support raft generator. 2021-09-23 18:46:11 +02:00
enricoturri1966
fee31084bd Fixed conflicts after merge with master 2021-09-23 12:06:18 +02:00
David Kocik
1f82714159 Blacklisted AMHook.dll 2021-09-23 11:15:08 +02:00
enricoturri1966
f71cf324b9 Tech ENABLE_FIX_SEAMS_SYNCH - Fix the synchronization of seams with the horizontal slider in preview 2021-09-23 09:25:13 +02:00
Oleksandra Yushchenko
8f064dd155
Check unsaved changes (#6991)
* Check Unsaved changes (partially related to #5903)
 + Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

 + Create/Destroy ConfigWizard every time when it's called

* Check Unsaved changes: Next Improvements
 + For dialog "Save project changes" added a reason of saving and name of the current project (or "Untitled")
 + UnsavedChangesDialog: Headers are extended to better explain the reason
 + Preferences: Fixed tooltiops for "Always ask for unsaved changes when..."
 + Suppress "Remember my choice" checkbox for actions which are not frequently used

* Fixed behavior of the application when try to save changed project but "Cancel" button is selected in "Save file as..." dialog

* Check unsaved changes: Improvements for Config Wizard - Check all cases when presets should be updated
 + Fixed info line for Materials pages. Text of the info relates to the printer technology now

* Improved suggested name for a project when Application is closing

* Fixed Linux/OSX build warnings
2021-09-22 12:44:13 +02:00
Vojtech Bubnik
96b88f5b29 Fixed crash with zero support base spacing.
Zero support base spacing is newly allowed, switching from
the "support base" infill pattern to rectilinar infill pattern.
Why someone would want to use a solid infill for support base eludes me,
but it is simpler to support it instead of working out some rules on
minimum support base density.

Fixes Support patern spacing set to zero causing crash #6989
2021-09-22 10:50:12 +02:00
Lukáš Hejl
30d13c99b7 Added a missing include (GCC 11.1). 2021-09-21 22:41:55 +02:00
YuSanka
238e65e455 Improvements for statistics information:
+ Show 2 groups of errors: "Auto-repared" and "Remaning".
 + Use different icons for volumes with/without remaining errors
 + Fixed update of the ObjectList warnings icons after switch the color mode of a PrusaSlicer
 + Some code refactoring: Use same code for tooltips for "exclamation"-icon from an ObjectList and from a Sidebar->ObjectInfo
2021-09-21 17:20:12 +02:00
Vojtech Bubnik
a5a7f64db0 Mesh statistics for imported STLs: Added backwards_edges to open_edges,
so that a mesh with incorrectly oriented faces will not be considered
a manifold.

Added assert for 3D convex hulls constructed by QHull. They shall be
manifold (however sometimes they are not).
2021-09-21 16:04:04 +02:00
Justin Schuh
306b54bc0a
Fix float accuracy issue when thick_bridges is off (#6957) 2021-09-21 15:50:04 +02:00
enricoturri1966
8d28e39523 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-09-21 15:48:28 +02:00
enricoturri1966
d854fd0b29 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Fixed GLVolumeCollection::check_outside_state() for SLA printers 2021-09-21 15:48:17 +02:00
Vojtech Bubnik
ac7674b85a Fixed visualization of G-code lines in G-code viewer (3D view).
Improved speed of parsing external G-code.
2021-09-21 15:30:37 +02:00
enricoturri1966
1dad3c20f7 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-09-21 13:52:10 +02:00
enricoturri1966
cf380fb456 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Out of bed detection for circular printbeds 2021-09-21 13:51:57 +02:00
Vojtech Bubnik
7e3306c68f Fixed triangulation of meshes split by the cut tool. 2021-09-21 11:07:40 +02:00
Lukáš Hejl
40e4116d9a Added a missing include (GCC 11.1). 2021-09-21 10:45:57 +02:00
Vojtech Bubnik
8a2a9dba2f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

Admesh triangle mesh fixing is newly only used when loading an STL.
AMF / 3MF / OBJ file formats are already indexed triangle sets, thus
they are no more converted to admesh stl_file format, nor fixed
through admesh repair machinery. When importing AMF / 3MF / OBJ files,
volume is calculated and if negative, all faces are flipped. Also
a bounding box and number of open edges is calculated.

Implemented its_number_of_patches(), its_num_open_edges()
Optimized its_split(), its_is_splittable() using a visitor pattern.

Reworked QHull integration into TriangleMesh:
    1) Face normals were not right.
    2) Indexed triangle set is newly emitted instead of duplicating
       vertices for each face.

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
Vojtech Bubnik
f484953a5a Fix of Print setting changes not applied to all copies if one copy rotated #6971 2021-09-20 14:41:19 +02:00
enricoturri1966
1af0c5c73b Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Call GLVolumeCollection::check_outside_state() only when needed 2021-09-20 13:40:34 +02:00
enricoturri1966
f45f92476e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-09-20 12:05:52 +02:00
enricoturri1966
92bf9a664d Fix of detection of the out of bed state for sinking objects in backend 2021-09-17 14:47:19 +02:00
enricoturri1966
6d70ada637 Follow-up of 2f95c7721f - Even faster implementation of method TriangleMesh::transformed_bounding_box(const Transform3d& trafo, double world_min_z) 2021-09-17 09:45:50 +02:00
enricoturri1966
f2ef4be1aa Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-09-17 08:42:10 +02:00
enricoturri1966
2f95c7721f Follow-up of 5a84b46ec9 - Faster implementation of method TriangleMesh::transformed_bounding_box(const Transform3d& trafo, double world_min_z) 2021-09-17 08:42:01 +02:00
enricoturri1966
0b1e716e22 Tech ENABLE_RETRACT_ACCELERATION set as default 2021-09-17 08:21:25 +02:00
enricoturri1966
5a84b46ec9 Fix of detection of the out of bed state for sinking objects 2021-09-16 13:38:02 +02:00
Lukas Matena
fe94a3c8c5 LocalesUtils: fixed BSD and improved performance of decimal point formatting functions 2021-09-15 19:52:32 +02:00
Lukas Matena
71ba15b6f0 Fixed comparison of layer height profiles when printing with wipe tower:
while the layer height profile vector may not contain all print z
values, the only real case with two eqiuvalent layer height profiles is
when one was created as a copy of another, so the vectors should in fact be equal.
2021-09-15 16:37:41 +02:00
Lukas Matena
677cb58000 Fix several warnings 2021-09-15 16:36:59 +02:00
enricoturri1966
f132ca9c3c Tech ENABLE_SINKING_CONTOURS set as default 2021-09-14 15:45:21 +02:00
enricoturri1966
bf21abfbfa Follow-up of d52ee52098 - Removed forgotten tech key 2021-09-14 15:17:24 +02:00
enricoturri1966
d52ee52098 Tech ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER set as default 2021-09-14 15:05:33 +02:00
Vojtech Bubnik
9d29eddf16 WIP: admesh eradication
follow-up to 58d8ab3dea
2021-09-14 14:51:40 +02:00
enricoturri1966
30d2c3787f Tech ENABLE_DELAYED_TRANSPARENT_VOLUMES_RENDERING set as default 2021-09-14 14:34:21 +02:00
Vojtech Bubnik
d749baf6bc Fix of 58d8ab3dea 2021-09-14 13:11:21 +02:00
Vojtech Bubnik
58d8ab3dea Removed the PRUS format parser. WIP: admesh eradication:
stl_stats are newly only accessed by TriangleMesh::stats(),
most of the direct access to TriangleMesh::stl is gone with the exception
of parsing input files (3MF, AMF, obj).
2021-09-14 11:58:14 +02:00
Lukáš Hejl
1c6ecd9c1a Replaced atof and atoi inside 3MF attribute parsing with fast_float::from_chars and boost::spirit that are faster. 2021-09-14 11:09:43 +02:00
enricoturri1966
a7ea54d88f Fixed conflicts after merge with master 2021-09-14 10:37:08 +02:00
enricoturri1966
a74f3e3fc0 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk_changes 2021-09-14 10:05:18 +02:00
enricoturri1966
7f89a42be6 Tech ENABLE_PREVIEW_LAYOUT - 1st installment: move view type combo from bottom toolbar to legend 2021-09-14 08:15:47 +02:00
Vojtech Bubnik
0a51afa3e6 Fix of Can't convert polyline with more than two points to a line (#6933)
Sometimes Clipper produces a polyline with more than 2 points when
clipping a line with a polygon or a set of polygons. We hope the intermediate
points are collinear with the line, so we may just ignore them.
2021-09-13 15:40:56 +02:00
Vojtech Bubnik
cab71073a1 Some reduction of unnecessary conversions when calling ClipperUtils. 2021-09-13 15:13:10 +02:00
Vojtech Bubnik
f9a5ee725d Follow-up to ae7d6db1d9
Exporting G-code on a worker thread did not work correctly as the worker
threads were using user's locale, not "C" locale.
The "C" locale is newly enforced to TBB worker threads by
name_tbb_thread_pool_threads_set_locale()
2021-09-13 13:04:12 +02:00
Vojtech Bubnik
e78d647cc2 Follow-up to e7591e6aa6
GCodeFormatter default copy constructor / copy operators were not safe
and they were used in debug mode.
2021-09-13 12:51:50 +02:00
Vojtech Bubnik
e7591e6aa6 GCodeWriter: published GCodeFormatter, made it more generic, so
it could be used outside of GCodeWriter.
Ported the GCodeWriter::retract/deretract to GCodeFormatter.
2021-09-13 11:55:44 +02:00
enricoturri1966
8109748e84 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_layer_time_preview 2021-09-13 10:06:00 +02:00
Vojtech Bubnik
ae7d6db1d9 Parallelization of the G-code export.
Follow-up to
03b6048684
beee18f229
b5a007a683
etc
2021-09-13 10:04:21 +02:00
Lukáš Hejl
d2a185ddb6 Optimized export of floating-point value inside emit_axis.
Change the behavior of generated G-code commands. Now all redundancy padding zeros are removed, which makes G-code a little bit smaller.
2021-09-11 00:54:30 +02:00
Lukáš Hejl
ad65366ac7 Added fast_float library as a replacement for std::from_chars and strtod. 2021-09-11 00:54:30 +02:00
Vojtech Bubnik
dc4b783e9e Pimping up SpiralVase code, fix of 03b6048684 2021-09-10 12:10:00 +02:00
Vojtech Bubnik
03b6048684 Follow-up to beee18f229
WIP to G-code export parallelization through pipelining:
Decoupled CoolingBuffer from GCode / GCodeWriter, ready to be
pipelined on a different thread.
2021-09-10 11:43:59 +02:00
enricoturri1966
17f665f8d6 Fixed conflicts after merge with master 2021-09-09 11:27:35 +02:00
enricoturri1966
3369e1b599 Fixed conflicts after merge with master 2021-09-09 11:01:49 +02:00
enricoturri1966
8701dd0c76 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-09 10:34:47 +02:00
enricoturri1966
fe8e2ae0d1 ENABLE_GCODE_VIEWER_STATISTICS - Fixed calculation of time required by GCodeProcessor 2021-09-09 09:35:58 +02:00
enricoturri1966
d3382b666f Fixed build on MAC 2021-09-08 15:47:27 +02:00
Vojtech Bubnik
beee18f229 Follow-up to b5a007a683
WIP to G-code export parallelization through pipelining:
GCodeProcessor is called during the G-code export,
the G-code is no more reopened and re-read, but it is pipelined
from the G-code generator.
2021-09-08 15:06:12 +02:00
enricoturri1966
88d608351d Fix after merge with master 2021-09-08 14:34:31 +02:00
enricoturri1966
a33a737f52 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-08 14:33:20 +02:00
enricoturri1966
6f678c09d1 Tech ENABLE_FIX_PREVIEW_OPTIONS_Z - Enable fixing the z position of seams (and other options) in preview 2021-09-08 14:30:40 +02:00
enricoturri1966
c12e5bb4ed Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_seams_as_batched_models 2021-09-08 11:37:05 +02:00
Vojtech Bubnik
0da0a7b2a0 Fix of recent GCode / GCodeProcessor refactoring: Don't close a FILE
twice.
2021-09-07 17:58:06 +02:00
Vojtech Bubnik
152e236dda Trying to fix the windows build 2021-09-07 17:31:36 +02:00
Vojtech Bubnik
b5a007a683 WIP to G-code export parallelization through pipelining:
New class GCodeOutputStream as a G-code consumer.
In the following steps the GCodeOutputStream will be pipelined with
GCodeProcessor.
2021-09-07 16:23:43 +02:00
Vojtech Bubnik
32733b7db9 GCodeProcessor collects positions of line ends for GCodeViewer,
GCodeViewer no more parses G-code just to extract line end positions.
Removed start_mapping_gcode_window(), void stop_mapping_gcode_window(),
they are no more needed.
2021-09-07 15:42:56 +02:00
Vojtech Bubnik
e30ff22b8a GCodePostProcessor - use C files instead of C++ streams, C files are faster.
Also fixed a regression - crashes on undefined cancellation callback.
2021-09-07 14:20:21 +02:00
enricoturri1966
51df3cd163 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-09-07 12:25:35 +02:00
enricoturri1966
761c06ed92 GCodeViewer - Fixed crash when importing gcode generated with Simplify3D and switching to tool view 2021-09-07 12:25:30 +02:00
Vojtech Bubnik
771a892776 Optimization of GCodeProcessor for speed. 2021-09-07 11:18:12 +02:00
Justin Schuh
5c9bc26ed5
Replace OpenProcess with GetCurrentProcess where appropriate (#6914)
GetCurrentProcess is more correct and resolves spurious AV warnings.
2021-09-07 09:45:10 +02:00
enricoturri1966
d35183921b Revert of 7b4c98d727, clamp toolpaths widths increased to 2mm and added default values for toolpaths width and height 2021-09-07 09:41:14 +02:00
Lukáš Hejl
0bc77cef3e Fixed build on Linux and macOS that was failing because of using std::to_chars and std::from_chars with floating-point values.
The old version of GCC and Clang support only integers to be passed to std::to_chars and std::from_chars. macOS older version of Clang doesn't support std::from_chars at all. So for Linux and macOS, it was replaced std::from_chars with strtod and temporarily was replace std::to_chars with snprintf.
2021-09-07 07:43:17 +02:00
Vojtech Bubnik
428509ac00 Pimped up GCodeProcessor::TimeProcessor::post_process():
replaced implicit lambda capture with explicit listing of captured
context for readability and code correctness. Captured this as const.
2021-09-06 18:08:13 +02:00
enricoturri1966
b60a0fe3d3 Fixed conflicts after merge with master 2021-09-06 14:38:21 +02:00
enricoturri1966
7b4c98d727 #6828 - Clamping of toolpaths width performed only for gcodes files produced by 3rd part softwares (Tech ENABLE_CLAMP_TOOLPATHS_WIDTH) 2021-09-06 14:31:10 +02:00
enricoturri1966
fd3d673a1e Tech ENABLE_PREVIEW_LAYER_TIME - Implementation of coloring toolpaths by layer time (Similar to pull request #3904) 2021-09-06 12:18:46 +02:00
Vojtech Bubnik
86d06b0be9 G-code processor tiny change: In place initialization 2021-09-03 17:22:53 +02:00
Vojtech Bubnik
97d1fe35ad G-code writer optimization: Don't use std::strstream, it is slow! 2021-09-03 17:22:28 +02:00
Vojtech Bubnik
dc72723911 Optimization of GCodeReader:
1) Use std::from_chars() instead of strtod()
2) Own implementation of buffered readline()
2021-09-03 16:21:45 +02:00
Vojtech Bubnik
d154752c38 Commenting out untested and unused Polyline::simplify_by_visibility() 2021-09-03 16:21:44 +02:00
enricoturri1966
7f2d1522ce Rendering seams (and other options) in preview using batched models on systems not supporting OpenGL 3.3 2021-09-03 15:35:44 +02:00
Lukas Matena
ed7ebf15d9 Added logging when bed texture/model is not found 2021-09-03 12:13:10 +02:00
Vojtech Bubnik
79784d1a2e Fix of "Support on build plate only" no longer overridden by support painting (#6863)
This is a regression to a late PrusaSlicer 2.4.0-alpha0 change
	8dfc0422a8
    Faster and hopefully more reliable projection of paint-on support
    blockers and enforcers on a sliced mesh.
    Previous d89f01c717 did not fix it.
2021-09-03 11:45:08 +02:00
David Kocik
e630332e24 Added SS2OSD.dll to blacklist. Raises warning dialog for issue #6864 2021-09-03 09:29:15 +02:00
Vojtech Bubnik
d89f01c717 Fix of "Support on build plate only" no longer overridden by support painting (#6863)
This is a regression to a late PrusaSlicer 2.4.0-alpha0 change
	8dfc0422a8
    Faster and hopefully more reliable projection of paint-on support
    blockers and enforcers on a sliced mesh.
2021-09-02 16:29:21 +02:00
Lukas Matena
298825672b Fix painted seam on vertical surfaces (broken since 8dfc042) 2021-09-02 15:18:05 +02:00
Filip Sykala
3f923628aa fix
../src/libslic3r/QuadricEdgeCollapse.cpp:628:21: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:631:21: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:638:48: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:643:25: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:647:25: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
2021-09-02 11:41:11 +02:00
Filip Sykala
746300eafd Fix @(Lukas Matena) note about using NDEBUG 2021-09-02 11:24:33 +02:00
Filip Sykala
f6f70f6fd4 Fix Crash when delete model during simplification 2021-09-01 20:29:27 +02:00
Filip Sykala
25feacfd95 FIX Creation of non volume place in mode during simplification 2021-09-01 19:15:16 +02:00
Vojtech Bubnik
6158347379 Follow-up to #6817
1) Activate installed filament or SLA material profile after update_compatible(),
so that the compatiblity and visibility flags of presets are updated.
2) Only activate the first newly installed filament / SLA material profile
if the active printer did not change. This also means that if no filament
profile was active before Wizard was open or it became incompatible with
the newly installed Printer profile, the default filament profile assigned
to the activated Printer is activated preferably, which may or may not
be one of the newly installed filament profiles.
2021-09-01 14:37:20 +02:00
YuSanka
20453f412b Check unsaved changes before opening of the ConfigWizard 2021-09-01 13:48:40 +02:00
enricoturri1966
639cf17e19 Fixed conflicts after merge with master 2021-09-01 13:28:10 +02:00
Vojtech Bubnik
b29c0ead7d Implemented configurable speed and acceleration settings for the first
object layer over raft interface:
"first_layer_speed_over_raft", "first_layer_acceleration_over_raft".
Fixes I have a question about the speed of the first layer after the raft. #6623
Fixes Layer After Raft Is Not Considered First Layer! #6166
2021-08-31 16:03:14 +02:00
Lukáš Hejl
ccf671dcc9 Added versioning of the structure of stored data for all three painting gizmos (fdm supports, seam and multi-material). 2021-08-31 15:05:11 +02:00
Lukáš Hejl
1835dae296 Fixed a bug that the skirt was generated too far from the brim for some objects. 2021-08-31 14:54:37 +02:00
enricoturri1966
3abc71fa15 Allow to replace files found as missing during reload from disk command 2021-08-31 13:16:29 +02:00
Vojtech Bubnik
5f26bfd397 Brim separation from object, follow up to 82373334bc
1) Changed the name of the variable "brim_offset" to "brim_separation"
   for clarity.
2) Added legacy conversion after loading an old 3MF that does not define
   then new "brim_separation" variable: The "brim_separation" is being
   filled in with the "elefant_foot_compensation" value to produce
   equal brim separation to the old PrusaSlicer that saved that 3MF file.
2021-08-31 12:22:44 +02:00
Lukas Matena
270c076e77 Fixed undo/redo issue when clear method of FacetsAnnotation and ModelConfig
reset timestamp to 1. This led to a bug where e.g. deleting painted facets
through the respective item in object list followed by  possible other actions
and undo restored the painted facets from the time when the project was loaded.
I'm not sure if there was any other situation where this problem manifested.
2021-08-31 09:16:09 +02:00
Vojtech Bubnik
f92312b597 Fixed parsing of Config from AMF / 3MF if it started with an empty line.
This bug was introduced with e947a29fc8
2021-08-30 17:57:04 +02:00
enricoturri1966
1238afbdfd Fixed conflicts after merge with master 2021-08-30 13:26:35 +02:00
enricoturri1966
9c1c723253 Fixed volume name when loading a 3mf, saved with 3rd part software, as project 2021-08-30 11:46:26 +02:00
enricoturri1966
fe66aa9559 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_3mf_mirrored_volumes 2021-08-30 10:44:50 +02:00
enricoturri1966
7a3f8c0a4c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_seams_as_models 2021-08-30 08:37:51 +02:00
Vojtech Bubnik
1c76df89ea Fix of paint on supports don't work for object that has been scaled up #6718
The triangle-ray intersection function used a hard coded epsilon,
which did not work for triangle meshes, that were either too small
or too large. Newly the epsilon may be provided to the AABBTreeIndirect
search functions externally and IndexedMesh calculates a suitable
epsilon on demand from an average triangle mesh edge length.
2021-08-27 21:04:18 +02:00
Vojtech Bubnik
8dfc0422a8 Faster and hopefully more reliable projection of paint-on support
blockers and enforcers on a sliced mesh.
2021-08-27 15:05:18 +02:00
Vojtech Bubnik
306bd0a198 Fixed leakage of paint-on supports through thin objects. This is a bug
introduced during 2.4.0 refactoring.
Fixes To much support #6067
2021-08-27 15:05:18 +02:00
Lukas Matena
2844bee60b Added missing include (gcc 8.4) 2021-08-27 14:01:29 +02:00
Lukas Matena
7852ba061c Slightly reworded the 'Empty layers detected' warning,
it mentions the layers between which the problem occurs,
not just the upper one (which may be unclear).
2021-08-27 12:13:15 +02:00
enricoturri1966
9c4eeeaa18 Tech ENABLE_SEAMS_USING_INSTANCED_MODELS merged into tech ENABLE_SEAMS_USING_MODELS 2021-08-27 11:41:34 +02:00
Vojtech Bubnik
ae8e0311d7 debugging function debug_output_path() moved to utils.cpp/hpp
and it now prints to console the default path when called for the first time.
Fixed compilation of debugging output in SupportMaterial.
2021-08-27 11:25:50 +02:00
enricoturri1966
526700db76 Fixed conflicts after merge with master 2021-08-26 12:47:32 +02:00
enricoturri1966
39ec1a6318 Fixed conflicts after merge with master 2021-08-26 12:39:28 +02:00
enricoturri1966
2980418706 ENABLE_SEAMS_USING_INSTANCED_MODELS -> WIP: Render models using glDrawElementsInstanced 2021-08-26 12:37:55 +02:00
enricoturri1966
dbaaa35534 Tech ENABLE_SAVE_COMMANDS_ALWAYS_ENABLED -> 1st installment: Allow to save/load empty projects 2021-08-26 10:38:14 +02:00
enricoturri1966
8f3468030a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_retract_acceleration 2021-08-26 08:42:04 +02:00
enricoturri1966
67bc29299a Fixed sinking object popping up on bed when adding a modifier 2021-08-26 08:34:43 +02:00
Filip Sykala
9ea3be485f Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-25 16:56:24 +02:00
enricoturri1966
ca098d5763 Fixed manipulation of sinking multipart objects resulting in wrong object/parts positioning 2021-08-25 15:01:15 +02:00
Filip Sykala
790d445420 Merge branch 'master' into fs_QuadricEdgeCollapse
# Conflicts:
#	src/slic3r/GUI/NotificationManager.hpp
2021-08-25 13:16:01 +02:00
enricoturri1966
38cd7fea65 Fixed update of backend after the changes introduced with b3010a817b (Do not allow objects to be placed fully below bed) and pop object on the bed when only one part is left 2021-08-25 12:39:46 +02:00
Lukas Matena
3fc4cc84a7 Fixed invalidation when first_layer_height is changed 2021-08-25 12:01:51 +02:00
Filip Sykala
beb38d09ae Add reserve to mesh boolean operation 2021-08-25 10:51:11 +02:00
David Kocik
cfcfbc38d2 Hints notification random weighted order with saving used hints to cache/hints.cereal 2021-08-24 16:49:09 +02:00
Vojtech Bubnik
d3f11a6ab7 Follow-up to OctoPrint upload: ignore certificate revocation checks
6b03b66167

Renamed the new "printhost_ignore_check" option to "printhost_ssl_ignore_revoke"

Improved the Physical Printers dialog in regard to the new option checkbox
(added tooltip to the checkbox, moved it to the end of options).

Disabled the host_xxx options at the command line interface, they no
more work after these options were separated to Physical Printers profiles.

Little refactoring of Http.cpp/hpp, OctoPrint.cpp/hpp
Private local variables prefixed with m_, some renaming for clarity.
2021-08-24 13:57:52 +02:00
Vojtech Bubnik
c029cd44a4 Initialization of various Preset list of config options was made
thread safe.
2021-08-24 13:10:43 +02:00
Lukas Matena
16562a2e77 Do not print brim when object has raft, it is not supported and makes no sense 2021-08-24 12:43:56 +02:00
enricoturri1966
dfdfb32648 Fixed update of project dirty state after discarding config changes 2021-08-24 12:17:47 +02:00
Vojtech Bubnik
6b03b66167 OctoPrint upload: ignore certificate revocation checks
Fixes Hostname incorrect While test is positive (Bonjour discovery not
supported for the address field) #1781
(partial fix of #1781)
2021-08-24 11:24:48 +02:00
Vojtech Bubnik
fefc20dbbb Slight refactoring of the project state. 2021-08-24 09:34:31 +02:00
Filip Sykala
d7d4d52843 Fix
../src/libslic3r/QuadricEdgeCollapse.cpp:565:22: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:48:15: warning: unused variable 'min_triangle_count' [-Wunused-variable]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:160:9: warning: unused variable 'wanted_count' [-Wunused-variable]
..\src\slic3r\GUI\Gizmos\GLGizmoSimplify.cpp(167): warning C4305: '=': truncation from 'double' to 'float'
2021-08-24 08:21:14 +02:00
enricoturri1966
b3010a817b Do not allow objects to be placed fully below bed 2021-08-24 07:46:59 +02:00
Filip Sykala
89819c1c22 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-23 11:33:14 +02:00
enricoturri1966
fb1334af85 #5798 - Fixed naming of single part objects when loaded from 3mf files produced by 3rd part softwares 2021-08-23 11:23:31 +02:00
Vojtech Bubnik
1d6ade1d9c Optimization of ConfigBase::equals() to not create intermediate
list of modified options.

Optimization of DynamicConfig::equals(), ::diff(), ::equal()
to iterate over the two compared std::map trees instead of
first generating a list of keys and then searching for each key
in the respective map.

Optimization of PresetCollection::current_is_dirty() and ::saved_is_dirty()
to call DynamicConfig::equals() instead of ::diff().
2021-08-23 10:47:47 +02:00
enricoturri1966
720a65c4fd #6806 - Fixed naming of multipart objects when loaded from 3mf files 2021-08-23 09:57:35 +02:00
Merill
64fc2eb425
error when loading configbundle (#6822)
a little typo
2021-08-23 08:09:25 +02:00
Vojtech Bubnik
9a54c21c19 Disabled "expensive checks" in debug mode, TriangleSelector 2021-08-20 16:46:38 +02:00
Vojtech Bubnik
2a7f204859 Fixed update of slicing back-end with MMU-painted objects after change
of a printer from MMU to non-MMU (when number of extruders changes).
Also slightly optimized in case a MMU-painted object is sliced in
single extruder mode.
2021-08-20 16:19:00 +02:00
Vojtech Bubnik
f98f7ba3e8 Fixed unreliable application of filament overrides to PlaceholderParser.
Sometimes the PlaceholderParser used main config instead of filament
overrides and vice versa.
Follow-up to #3649
2021-08-20 14:21:22 +02:00
enricoturri1966
79e8e8627f Tech ENABLE_FIX_MIRRORED_VOLUMES_3MF_IMPORT_EXPORT - fixed export/import to/from 3mf file of mirrored volumes 2021-08-20 11:24:48 +02:00
enricoturri1966
f44d2e14a1 Removed debug code 2021-08-19 09:47:01 +02:00
enricoturri1966
81113218cc Added retract acceleration member variable to GCodeProcessor and modified GCodeProcessor::process_M204() method 2021-08-19 09:38:51 +02:00
tamasmeszaros
a3b089eceb Remove misleading comment 2021-08-18 16:51:14 +02:00
tamasmeszaros
1672130d45 Remove code duplication, clarify naming of orientation searches 2021-08-18 16:48:51 +02:00
tamasmeszaros
74edeb147b Add min z height orientation search 2021-08-18 16:48:51 +02:00
Oleksandra Yushchenko
caf8ef4aab
Auto selection of presets (#6817)
PresetComboBoxes: Auto selection of printer/material preset from the new added presets in ConfigWizard
+ Check unsaved changes if ConfigWizard is running from the PesetComboBoxes
2021-08-18 16:10:35 +02:00
Filip Sykala
27fcf55eaa Add cancel and statusFn into init phase of simplification
Move debug functions into NDEBUG macro
2021-08-18 12:07:46 +02:00
Filip Sykala
cc88b1e86b Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-18 10:37:21 +02:00
tamasmeszaros
5e0cbbef83 Fix SLA support strut piercing into model 2021-08-18 09:36:01 +02:00
tamasmeszaros
4e32863b99 Merge branch 'tm_rotfinder_fixes' 2021-08-17 16:15:41 +02:00
tamasmeszaros
24815381d2 Some improvements to "less supports" optimizer 2021-08-17 15:40:01 +02:00
Lukas Matena
86c1e5c50f Default values for brim_offset anf elefant_foot_compensation set to zero 2021-08-17 15:09:34 +02:00
Lukas Matena
82373334bc Merge remote-tracking branch 'origin/lh_brim_offset' 2021-08-17 15:02:41 +02:00
Filip Sykala
b90ca142a5 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-16 11:56:56 +02:00
Filip Sykala
6745076e79 Merge branch 'fs_QuadricEdgeCollapse' of https://github.com/prusa3d/PrusaSlicer into fs_QuadricEdgeCollapse 2021-08-16 11:55:43 +02:00
Filip Sykala
62f8ab1cbe Add check of neighbors
Add store triangle for debug purpose
2021-08-16 11:53:37 +02:00
tamasmeszaros
8b5a63eaf8 Make the input mesh transformation consistent.
Also add some comments
2021-08-16 11:29:48 +02:00