Commit Graph

2510 Commits

Author SHA1 Message Date
YuSanka
befbd6b0fe Merge remote-tracking branch 'origin/master' into custom_gcodes 2020-06-08 12:27:29 +02:00
YuSanka
43cfd44864 Fixed export/import from/to amf and 3mf file. 2020-06-08 12:25:29 +02:00
enricoturri1966
ca17948f87 ENABLE_GCODE_VIEWER_AS_STATE -> Load gcode from file and process it 2020-06-08 09:12:20 +02:00
YuSanka
629584e28f Editing of the custom GCodes like ColorChange and PausePrint 2020-06-07 22:42:54 +02:00
enricoturri1966
bd5a5bf78f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-06-05 16:51:11 +02:00
enricoturri1966
70a6fb0e20 Added new tech ENABLE_GCODE_VIEWER_AS_STATE -> GCodeViewer as a new application state (WIP) + fix of conflicts after merge with master 2020-06-05 16:50:17 +02:00
YuSanka
530786fca4 Object merge: fixed merge of the objects with changed rotation, scale and mirror
+ Fixed get_object_stl_stats()
2020-06-05 13:15:49 +02:00
Vojtech Bubnik
3e0e537b7a Offset curve from a Voronoi diagram: Fixed distance calculation
to a bisector of two segments.
2020-06-04 15:34:35 +02:00
enricoturri1966
ad7e7ae1cd Added tech ENABLE_OPENGL_ERROR_LOGGING -> log opengl errors when SLIC3R_LOGLEVEL=5 2020-06-04 14:48:52 +02:00
enricoturri1966
c3d643ead3 Fixed conflicts after merge with master 2020-06-04 13:57:39 +02:00
Vojtech Bubnik
6f4d24ab95 WIP: Generating offset curves with properly rounded corners from
a Voronoi diagram. Curve extraction is based on the OpenVoronoi implementation.
2020-06-04 13:50:09 +02:00
Vojtech Bubnik
b8267a5f6f G-code placeholder parser - new values:
print_bed_min, print_bed_max, print_bed_size
calculated from a bounding box of bed_shape vector of points.

Also added first_layer_print_size as a size of a first layer print
bounding box.
2020-06-03 16:30:37 +02:00
Vojtech Bubnik
6529543518 WIP: first_layer_print_min/max, first_layer_print_convex_hull
placeholders for the G-code export.
2020-06-03 16:30:37 +02:00
Lukas Matena
ed98a859af Fix of #3919 (extremely wide wipe tower with 0.35mm FAST profile)
This is an excerpt from ec86d94, which was recently reverted because
the other changes from that commit broke some functionality.
2020-06-03 15:34:33 +02:00
Lukas Matena
8ecb0bfe0e Revert "Workaround for the Prusa3D Fast (layer height 0.35mm) profile, which"
This reverts commit ec86d94f02.
2020-06-03 15:34:33 +02:00
tamasmeszaros
10c59b0d00 Fix the tests after EigenMesh3D refactor 2020-06-02 17:15:08 +02:00
enricoturri1966
06a8bfa588 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-06-02 10:03:00 +02:00
enricoturri1966
aa92cbf051 New tech ENABLE_SMOOTH_NORMALS (disabled) -> Added two experimental functions to smooth normals using libigl (none of them working properly in detecting edges) when calling GLIndexedVertexArray::load_mesh_full_shading() 2020-06-02 10:02:50 +02:00
tamasmeszaros
4be0e37963 Workaround for items out of bed after arrange.
Fixes #4329
2020-06-01 16:16:30 +02:00
enricoturri1966
71db69ef41 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-29 12:29:24 +02:00
Vojtech Bubnik
6f92538c20 BoundingBox support for Lines,
BoundingBox constructor will no more throw for empty vector of points.

GMP allowed for Vojtech's fork of boost::polygon Voronoi implementation.

Added libslic3r tests for boost::polygon Voronoi. All Voronoi issues
ever reported on the Internet are captured by the tests. Two issues
reported (the two test cases) are real issues which may influence
PrusaSlicer negatively, namely

https://github.com/boostorg/polygon/issues/43
2020-05-28 15:53:53 +02:00
enricoturri1966
e9d57c932a Fixed conflicts after merge with master 2020-05-28 15:50:21 +02:00
enricoturri1966
0599dc4df7 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-05-28 15:27:39 +02:00
enricoturri1966
c63e03c367 1st installment of tech ENABLE_ENVIRONMENT_MAP 2020-05-28 15:27:29 +02:00
Lukas Matena
2c244732db Introduced a limit on max print z (1.2 m)
A follow-up of 815989d, related to #2877
2020-05-28 12:03:48 +02:00
enricoturri1966
0e018e6690 Merge branch 'et_gcode_viewer' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-27 16:31:26 +02:00
enricoturri1966
35190936a3 GCodeViewer -> Newer version of shader for options 2020-05-27 16:19:40 +02:00
enricoturri1966
edb643e178 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-27 16:03:56 +02:00
Yuri D'Elia
c6f0cd5b5b Ironingy typo 2020-05-27 14:31:17 +02:00
enricoturri1966
448d92df68 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-27 14:29:54 +02:00
Lukas Matena
48c186331a Includes cleanup:
GUI_App.hpp      (should not include) MainFrame.hpp
MainFrame.hpp    Plater.hpp
ModelArrange.hpp Model.hpp
Slicing.hpp      PrintConfig.hpp
FillBase.hpp     PrintConfig.hpp
GUI_App.hpp      PrintConfig.hpp
OptionsGroup.hpp GUI_App.hpp
2020-05-27 14:01:47 +02:00
YuSanka
ee1942e4e9 Implemented merge of the objects to the one multi-part object
+ Implemented merge of the parts to the one object. But now this function doesn't used.

+ Fixed Model::looks_like_imperial_units()
2020-05-27 11:59:43 +02:00
enricoturri1966
908650630b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-27 10:45:19 +02:00
enricoturri1966
2eb4b2caed Fixed conflicts after merge with master 2020-05-27 10:32:02 +02:00
Lukas Matena
3ced59d2a3 Reenabled SLIC3R_HOLE_RAYCASTER before unit tests are updated properly
There are still tests of removing holes on slices and raycasting on unaltered mesh (which was eventually superseded by CGAL boolean operations)
2020-05-27 10:05:54 +02:00
Lukas Matena
55395e046f EigenMesh3D does not store a copy of the mesh
Instead, it stores a pointer to extern TriangleMesh (which must not be destroyed before the EigenMesh3D object)
2020-05-27 00:51:11 +02:00
Lukas Matena
1f833921a2 More code cleaning,...
optimizations regarding normals calculation
removed unused EigenMesh3D(const Contour3D &other) constructor
removed unused class si_result
2020-05-27 00:51:11 +02:00
Lukas Matena
d85fa8e9ab EigenMesh3D now stores TriangleMesh inside, not a mesh in Eigen format
Rotfinder was apparently building the AABB tree needlessly
2020-05-27 00:51:11 +02:00
Lukas Matena
9224a6a3e6 Removed some unused code
- removed define USE_AABB_INDIRECT (which switched between old and new AABB implementation)
- removed define SLIC3R_SLA_NEEDS_WINDTREE (relied on igl and was not used anyway)
- new define SLIC3R_HOLE_RAYCASTER (hides currently unused code)
- slight include cleanup
- removed obsolete source file SupportTreeIGL.cpp
2020-05-27 00:51:11 +02:00
Lukas Matena
cdf80c3b3f Switched to new AABB tree implementation for raycasting 2020-05-27 00:13:38 +02:00
Lukas Matena
32a353058f Fixed few warnings 2020-05-26 16:06:11 +02:00
Lukas Matena
c2cd430941 Few more include chains broken 2020-05-26 13:46:59 +02:00
Lukas Matena
02838eaa30 Slight include cleanup 2020-05-26 13:45:36 +02:00
Lukas Matena
fb9d8b2025 Include cleanup: do not include Model.hpp from 3DScene.hpp 2020-05-26 13:45:36 +02:00
enricoturri1966
1d317489fd GCodeViewer -> Temporary ImGui dialog for editing shaders parameters 2020-05-26 08:16:08 +02:00
enricoturri1966
314995fa0b ENABLE_SHADERS_MANAGER set as default 2020-05-22 16:08:02 +02:00
enricoturri1966
80c2f107c1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-22 12:12:56 +02:00
Vojtech Bubnik
ac1f24e5c9 AABB: Some further polishing and a reference to an SSE implementation
of the 3D Box vs. ray intersection implementation.
2020-05-22 11:35:49 +02:00
Vojtech Bubnik
dc46589a8e AABB - triangle intersection wrapped to mimize copying into Vector3D 2020-05-22 09:29:21 +02:00
Vojtech Bubnik
c64b7b2e21 Fix of the previous commit. 2020-05-22 09:29:21 +02:00
Vojtech Bubnik
7b6dff3f03 Little simplification of Point to boost::polygon bindings 2020-05-22 09:29:21 +02:00
Vojtech Bubnik
4c365ad583 Replaced many defines in libslic3r.h with constexpr,
removed some macros to support old visual studio compiler.
2020-05-22 09:29:21 +02:00
Vojtech Bubnik
99514ba42b WIP: AABBTreeIndirect - optimized ray_box_intersect_invdir() test,
sandbox for comparing the AABBTreeIndirect with libigl::AABB
2020-05-22 09:29:21 +02:00
Vojtech Bubnik
2b8f655020 WIP AABBIndirect: Documentation, polishing. 2020-05-22 09:29:21 +02:00
Vojtech Bubnik
eeb9590d28 WIP: own AABBTreeIndirect, builds up the tree 4x quicker than libigl. 2020-05-22 09:29:21 +02:00
Vojtech Bubnik
abf279fc44 Fixed compilation with Shiny profiler. 2020-05-22 09:29:21 +02:00
enricoturri1966
dd424b6bcf Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-21 11:38:22 +02:00
Lukas Matena
35c8c84631 Fix of #3965 (properly disable linear advance with RepRap firmware) 2020-05-21 10:47:50 +02:00
enricoturri1966
cae84d2857 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-21 10:15:24 +02:00
YuSanka
8afd273c4b Implemented "from/to imperial units conversation" for loaded objects and volumes 2020-05-20 20:07:31 +02:00
enricoturri1966
cbfb09a241 Fixed build for all 4 cases of tech ENABLE_SHADERS_MANAGER and ENABLE_GCODE_VIEWER enabled/disabled and code cleanup 2020-05-20 17:03:53 +02:00
enricoturri1966
c7c87973b7 First installment of tech ENABLE_SHADERS_MANAGER, using class GLShadersManager as a central point to manage OpenGL shaders 2020-05-20 14:11:22 +02:00
enricoturri1966
8a834b76e4 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-19 07:57:19 +02:00
YuSanka
504066e64b Merge remote-tracking branch 'origin/ys_imperial_unit' 2020-05-18 16:01:10 +02:00
enricoturri1966
c49f46d904 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-15 17:58:07 +02:00
enricoturri1966
9487676680 ENABLE_CANVAS_TOOLTIP_USING_IMGUI set as default 2020-05-15 13:40:45 +02:00
enricoturri1966
b9f0b9eeda ENABLE_GIZMO_TOOLBAR_DRAGGING_FIX set as default 2020-05-15 12:42:29 +02:00
enricoturri1966
a68eefbe4a Tech ENABLE_GCODE_VIEWER -> Refactoring and code cleanup 2020-05-15 12:25:38 +02:00
enricoturri1966
e57bc8afc1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-15 09:23:20 +02:00
enricoturri1966
5be901547e GCodeViewer -> Imgui slider for sequential view replaced by DoubleSlider::Control (wip) 2020-05-15 09:22:51 +02:00
tamasmeszaros
f91c27b2ff Do reprojection also after netfabb repair 2020-05-13 14:53:20 +02:00
tamasmeszaros
f7a43f9757 Reproject support and hole points after a reload from disk op. 2020-05-13 14:53:20 +02:00
enricoturri1966
2bd514614b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-13 12:34:50 +02:00
Lukas Matena
b046eb4fc9 Merge branch 'master' into lm_fdm_custom_supports_polishing 2020-05-11 17:03:03 +02:00
enricoturri1966
3475604362 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-11 16:37:19 +02:00
tamasmeszaros
4fe99c7569 Fix missing support mini sticks 2020-05-11 14:07:21 +02:00
enricoturri1966
89dafeac95 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-07 10:49:34 +02:00
enricoturri1966
5c6a56ca29 GCodeAnalyzer and GCodePreviewData removed from tech ENABLE_GCODE_VIEWER 2020-05-07 10:49:12 +02:00
bubnikv
b73e675aaa Changed the Ironing G-code preview color based on Jindra's feedback. 2020-05-06 18:28:23 +02:00
bubnikv
0940db7b2e Improvements of the monotonous infill ordering:
Calculate the initial path length and set the initial pheromone level
accordingly.
Implemented a stopping criterion to ant colony optimization.
Fixed some compilation warnings.
2020-05-06 18:28:23 +02:00
enricoturri1966
aa49575e0f Fixed conflicts after merge with master 2020-05-06 12:48:00 +02:00
enricoturri1966
0bb56736a1 Tech ENABLE_NON_STATIC_CANVAS_MANAGER set as default 2020-05-06 12:19:34 +02:00
YuSanka
75fa07136f Merge remote-tracking branch 'origin/master' into ys_imperial_unit 2020-05-05 17:26:14 +02:00
Lukas Matena
e0b04e7d36 Merge branch 'master' into lm_fdm_custom_supports_polishing 2020-05-05 13:46:01 +02:00
Lukas Matena
272de22055 Undo/redo in FDM supports gizmo 2020-05-05 13:45:04 +02:00
enricoturri1966
813e268d7e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-05-04 09:37:29 +02:00
bubnikv
f479b77e01 Fixed compilation warning. 2020-04-30 12:04:49 +02:00
YuSanka
bf09d8f93a Merge remote-tracking branch 'origin/master' into ys_imperial_unit 2020-04-29 19:17:20 +02:00
YuSanka
495db2ff2e Imperial units: Implemented just for the object's position and size 2020-04-29 19:10:13 +02:00
YuSanka
99d49a74d0 Merge remote-tracking branch 'origin/master' into ys_search 2020-04-29 14:56:31 +02:00
enricoturri1966
05e4476808 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-04-29 12:53:55 +02:00
David Kocik
d828a1e80b single slicer instance
check for other instances during startup
send message with command line arguments if found and terminate
listen for those messages and load objects from paths in messages from them
2020-04-29 10:53:48 +02:00
enricoturri1966
c9bd0840b3 GCodeViewer -> Code cleanup 2020-04-29 08:24:39 +02:00
bubnikv
4de4d765ee Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-04-28 19:31:18 +02:00
bubnikv
ef89c73fd5 fixing a compilation issue on a buggy GCC on R-PI 2020-04-28 18:28:11 +02:00
bubnikv
ec81de7553 Ironing and Monotonous infill - first working implementation. 2020-04-28 17:19:11 +02:00
enricoturri1966
3267d3368f GCodeViewer -> Use glMultiDrawElements() in place of glDrawElements() to draw extrude and travel paths 2020-04-28 15:08:36 +02:00
tamasmeszaros
572b5ba8bb Add PNG and wxWidgets 3.1.3 uniformly to all platforms with cmake build.
wx is built with png as a dependency, wxpng is disabled.
2020-04-28 15:01:56 +02:00
enricoturri1966
a00c391f0f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-04-28 10:29:44 +02:00
enricoturri1966
1cb0f044db GCodeProcessor::MoveVertex -> added placeholder for time 2020-04-28 10:29:25 +02:00
enricoturri1966
2a4d011817 GCodeViewer -> Toggle extrusion role visibility by clicking on legend 2020-04-28 08:50:52 +02:00
Lukas Matena
2bd524849a Custom support blockers are now working 2020-04-27 17:45:55 +02:00
enricoturri1966
eac4b3c15a GCodeViewer -> Added debug statistics imgui dialog 2020-04-27 14:10:18 +02:00
Lukas Matena
bf2a10803e Fixing debug build broken after recent merge 2020-04-27 12:15:45 +02:00
bubnikv
033548a568 Introduction of Monotonous infill type. Fill no-sort only for monotonous
and ironing infills.
2020-04-25 08:15:04 +02:00
Lukas Matena
8afc9338de Merge branch 'lm_fdm_custom_supports_backend' 2020-04-24 15:16:33 +02:00
enricoturri1966
e5c45405d4 Fixed conflicts after merge with master 2020-04-24 10:59:03 +02:00
bubnikv
e390ebc95c WIP: Monotonous infill 2020-04-24 09:41:48 +02:00
enricoturri1966
81a29169ae GCodeViewer -> Coloring of travel paths 2020-04-24 08:46:31 +02:00
Lukas Matena
5a80f0442f Optimization of the custom support projection algorithm
- transformation matrix is precalculated for each volume
- number of heap allocations was reduced
2020-04-24 01:26:13 +02:00
tamasmeszaros
217477a9ff SLA archive import with miniz, marching square bugfixes
Fix compilation on Windows


Fix array subscript out of range error in MarchingSquares


Fix normals of mesh constructed from slices


Improve performance of mesh construction from slices
2020-04-23 19:12:07 +02:00
tamasmeszaros
247fca6d55 Initial version of sl1 import with sla::Raster refactor. 2020-04-23 19:05:32 +02:00
tamasmeszaros
728d90cb33 Separate jobs from Plater, re-add big bed workaround 2020-04-23 18:47:51 +02:00
tamasmeszaros
1bffc2b99b Add ModelArrange.hpp as extension to Model.hpp, use it for duplicating
Refactored Arrange interface: remove the union based BedShapeHint, replace it with proper function overloads

WARN: this commit is only intermediate, it does not compile.
2020-04-23 18:19:03 +02:00
tamasmeszaros
44ca0a6c3d Add universal method to get bed shape from Config objects 2020-04-23 18:18:23 +02:00
tamasmeszaros
8c04536514 Integrate scaling and unscaling into Point.hpp 2020-04-23 18:17:50 +02:00
tamasmeszaros
89d376dc35 Add min_object_distance method as free function taking ConfigBase argument 2020-04-23 18:17:37 +02:00
enricoturri1966
90d5cf1735 Fix to previous commit 2020-04-23 15:46:21 +02:00
enricoturri1966
66964c44c1 GCodeViewer -> Refactoring and code cleanup 2020-04-23 15:12:40 +02:00
enricoturri1966
7a0df4bcb4 GCodeViewer -> Extrusion toolpaths colored by color print (wip) + visualization of tool changes, color changes, pause prints, custom gcodes + refactoring 2020-04-22 16:29:07 +02:00
Lukas Matena
61e5eab35d Custom supports projection now runs in parallel 2020-04-22 16:08:36 +02:00
Lukas Matena
a40d60ce08 Custom support generation now ignores triangles with upward-pointing normal 2020-04-22 14:01:29 +02:00
Lukas Matena
d74b5cb1da Custom supports data change forces invalidation of supports step 2020-04-22 11:16:28 +02:00
bubnikv
03eb5ffcd5 WIP: Reworking of FillRectilinear2 to support monotonous infill
with ant colony optimization and 3-opt flips.
2020-04-22 10:54:11 +02:00
Lukas Matena
8d95345ede Fixed a logic error in the algorithm
The error created extremely large projections of triangles that were close to horizontal
2020-04-22 10:11:42 +02:00
Lukas Matena
7fc4a71715 Moved the projection function into PrintObject.cpp 2020-04-21 13:50:47 +02:00
enricoturri1966
443a511420 GCodeViewer -> Extrusion toolpaths colored by volumetric rate 2020-04-21 11:38:42 +02:00
Lukas Matena
79ef456d7c Fixed the algorithm so it works for horizontal triangles
Partial code cleanup
2020-04-21 01:39:40 +02:00
Lukas Matena
20068842ec Project each part of the triangle on one slice only (WIP) 2020-04-21 01:39:35 +02:00
Lukas Matena
7b104bcdd1 Save z heights of the triangle vertices 2020-04-20 14:01:11 +02:00
enricoturri1966
aee80dbd01 GCodeViewer -> Extrusion toolpaths colored by width 2020-04-20 13:24:25 +02:00
enricoturri1966
6e5a6f3b43 GCodeViewer -> Extrusion toolpaths colored by height 2020-04-20 10:52:16 +02:00
enricoturri1966
3a07e8730f GCodeViewer -> Basic legend using imgui 2020-04-18 10:41:37 +02:00
Lukas Matena
c570fc40de First partially working implementation of custom supports at the backend
The solution is temporary and should be improved and moved elsewhere - see comments in the code.
2020-04-17 13:15:26 +02:00
enricoturri1966
9c68abfb35 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-04-17 08:18:20 +02:00
Lukas Matena
546b0702f9 Custom supports data are saved into ModelObject and propagate to the backend
Invalidation of supports after they change is not implemented yet.
2020-04-16 16:57:46 +02:00
enricoturri1966
75d1e8373d GCodeViewer -> extrusion paths colored by extrusion role 2020-04-16 15:09:04 +02:00
YuSanka
ae51f280b8 Merge remote-tracking branch 'origin/master' into ys_search 2020-04-16 11:46:29 +02:00
bubnikv
10110ed307 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02:00
enricoturri1966
c3eb65c461 Added class GCodeViewer -> basic render of gcode toolpaths using dedicated shaders 2020-04-14 10:02:08 +02:00
YuSanka
167f7cf5de Added map for save Group and Category values for each option
+ Some code refactoring in Tab (the translation of the titles moved to the OptionGroups) and Search
+ Fixed assert in fts_fuzzy_match
2020-04-13 17:55:38 +02:00
Lukas Matena
a380053a17 Merge branch 'lm_gizmos' into lm_fdm_supports_gizmo 2020-04-07 17:16:48 +02:00
enricoturri1966
22cf0396fc Added missing include 2020-04-06 17:32:35 +02:00
enricoturri1966
2c69d96239 Reduced size of GCodeProcessor::MoveVertex 2020-04-06 17:24:11 +02:00
enricoturri1966
57dad5dfd2 GCodeProcessor additions:
process color change comment tag

process pause print comment tag

process custom code comment tag

process end pause print or custom code comment tag
2020-04-06 11:53:15 +02:00
enricoturri1966
1caac17b02 GCodeProcessor additions:
process M108 lines

process M132 lines

process M135 lines

process M401 lines

process M402 lines
2020-04-06 08:55:48 +02:00
enricoturri1966
dce1f24ad8 GCodeProcessor additions:
process G10 lines

process G11 lines

process G22 lines

process G23 lines

process M106 lines

process M107 lines

process mm3_per_mm comment tag
2020-04-03 10:15:46 +02:00
enricoturri1966
f05de150c5 Added another missing include 2020-04-02 15:52:42 +02:00
enricoturri1966
d0ce17656f Added missing includes 2020-04-02 13:19:42 +02:00
enricoturri1966
ab1e90ec0d Fixed conflicts after merge with master 2020-04-02 12:29:30 +02:00
enricoturri1966
956f7a4593 GCodeProcessor additions:
process G90 lines

process G91 lines

process G92 lines

process M82 lines

process M83 lines

process T lines

process extrusion role/width/height comment tags

debug output
2020-04-02 12:03:18 +02:00
enricoturri1966
a6fe16c612 3rd attempt to fix build on AppleClang 2020-04-02 08:11:25 +02:00
enricoturri1966
f27999e136 Follow-up of cfb6ac76fc - Another attempt to fix the build on AppleClang (std::array in lambdas) 2020-04-01 16:47:35 +02:00
enricoturri1966
cfb6ac76fc Fixed build on AppleClang 2020-04-01 15:54:25 +02:00
enricoturri1966
f598c2d5d8 Fixed conflicts after merge with master 2020-04-01 15:06:30 +02:00
bubnikv
31b0ae164d Optimization of the GCodeTimeEstimator to only keep a fixed number
of trapeziodal blocks around. The number is hard coded to 64,
and 3x64 blocks are flushed everytime the queue grows over 4x64 blocks.
This time estimator is slightly more close to what the firmware does, which
keeps a fixed number of blocks and it recalculates all the blocks
every time a new block is added while the oldest block is pushed out
of the queue. Therefore this optimization shall produce negligible
differences to what the previous code produced.
2020-04-01 13:42:26 +02:00
enricoturri1966
8a03d5642d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-04-01 09:58:48 +02:00
enricoturri1966
1f3046f65d #3964 - Attempt to fix crash when closing on Linux (Debian unstable) 2020-04-01 09:58:31 +02:00
bubnikv
b843a094f6 Slic3r::format(), Slic3r::GUI::format_wxstr():
wrappers around boost::format using C++17 variadic templates,
replacing the ugly and verbose
	(boost::format("template") % arg1 % arg2).str()
syntax.
The wrappers also implictely convert input parameters including the template
from wxString to UTF8.

The new format wrapper has been applied at multiple places as a start,
also some double macros _(L()) with new single macro _L().
2020-04-01 09:49:04 +02:00
tamasmeszaros
70baa0d246 Fix arrange for large beds 2020-03-30 13:26:24 +02:00
enricoturri1966
29cbfa7c9e Fixed conflicts after merge with master 2020-03-30 09:36:37 +02:00
enricoturri1966
35e963a566 Small refactoring 2020-03-30 09:01:50 +02:00
bubnikv
ec86d94f02 Workaround for the Prusa3D Fast (layer height 0.35mm) profile, which
collides with the maximum allowed layer height at the Printer Extruder
0.25mm.

Works around "MMU2s and supports on prusaslicer 2.2.0 issue #3919"
2020-03-27 14:15:09 +01:00
bubnikv
b3cebdb672 Fix after merge 2020-03-25 17:55:46 +01:00
bubnikv
750e704b37 Merge remote-tracking branch 'remotes/origin/et_slope_shader' 2020-03-25 16:09:04 +01:00
bubnikv
8d7f88b381 Imported error reporting when loading presets with option keys
or option values that our poor software does not understand.
This applies to configs added by some forks of slic3r, for example
slic3r++
PrusaSlicer has encountered an error: Failed loading the preset file: #3909
2020-03-25 16:04:11 +01:00
enricoturri1966
a54d77699b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_canvas_manager 2020-03-25 14:54:10 +01:00
enricoturri1966
f12b39be25 Fixed conflicts after merge with master 2020-03-25 14:41:47 +01:00
bubnikv
4656102dba Compile with 32bit coord_t by default. 2020-03-25 14:35:41 +01:00
bubnikv
c27297f6cc 64bit coord_t
Vec3i as a vertex index to TriangleMesh constructor
2020-03-25 14:35:41 +01:00
enricoturri1966
a1a4d49f15 Fixed conflicts after merge with master 2020-03-25 12:07:59 +01:00
enricoturri1966
10eb954c7e ENABLE_AUTO_CONSTRAINED_CAMERA set as default 2020-03-25 10:24:52 +01:00
enricoturri1966
3d6c9e54e9 ENABLE_THUMBNAIL_GENERATOR set as default 2020-03-25 10:15:02 +01:00
enricoturri1966
fac28ea27a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_bug_fixes 2020-03-25 09:34:17 +01:00
enricoturri1966
c300b66b7e ENABLE_MODIFIED_GIZMOBAR_MOUSE_EVENT_HANDLING merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 09:05:35 +01:00
enricoturri1966
69ca14a695 ENABLE_MODIFIED_TOOLBAR_MOUSE_EVENT_HANDLING merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 08:52:57 +01:00
enricoturri1966
6f1c99db34 ENABLE_CANVAS_DELAYED_TOOLTIP_USING_IMGUI merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 08:43:18 +01:00
enricoturri1966
36041ced26 ENABLE_CANVAS_CONSTRAINED_TOOLTIP_USING_IMGUI merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 08:31:15 +01:00
Lukas Matena
97b9de47b4 Merge branch 'master' into dev 2020-03-24 21:51:05 +01:00
enricoturri1966
4c1d867ba0 #3897 - Small optimisation in GCodePreviewData::RangeBase::get_color_at (thanks to rongith) 2020-03-23 16:12:52 +01:00
bubnikv
046f0dbfa2 Fixed a regression issue to PrusaSlicer 2.1.1
Custom printer with center of bed at 0,0 results in "toolpath outside print area" #3510
The G92 A0 B0 was incorrectly considered to be equal to just G92
to reset all axes.
2020-03-21 10:09:33 +01:00
bubnikv
1cbb822dd7 Enabled "clip multipart objects" by default, see discussion in
https://github.com/prusa3d/PrusaSlicer/issues/2803#issuecomment-524602137
2020-03-20 18:25:11 +01:00
bubnikv
a9fc39491e Fix of weird double extrusions with multiple regions and their
parameters being changed between slicing runs.
2020-03-20 13:37:13 +01:00
enricoturri1966
5b24a0fb91 Fixed conflicts after merge with master 2020-03-20 10:55:37 +01:00
enricoturri1966
2501cf64c0 Modified mouse events handling for gizmobar
The gizmobar was consuming the mouse up event preventing the gizmos to update their tooltip

The gizmobar was also consuming the mouse dragging event transforming a gizmo manipulation into a scene rotation
2020-03-19 14:05:49 +01:00
Lukas Matena
08daddb5de WIP: First working implementation of the triangle selector for the FDM support gizmo 2020-03-19 11:15:17 +01:00
enricoturri1966
739d8131ab Modified mouse events handling for toolbar
The toolbar was consuming the mouse up event preventing the gizmos to update their tooltip
2020-03-18 16:59:30 +01:00
enricoturri1966
61f3b53ef8 Fixed conflicts after merge with master 2020-03-18 14:26:44 +01:00
enricoturri1966
cd55b235ad Canvas tooltip constrained inside canvas 2020-03-18 14:13:50 +01:00
enricoturri1966
f4aa9c5b0e #3858 - Added missing reset for fan speed visualization 2020-03-18 08:10:05 +01:00
enricoturri1966
166389e6a8 Initial delay for ImGUI-based tooltip 2020-03-17 14:35:56 +01:00
enricoturri1966
7a1fa3d847 Canvas' tooltip using ImGUI 2020-03-17 13:01:38 +01:00
bubnikv
98fb8b626f Fix of Wipe to Infill causes severe overextrusion (thicker walls & infill) (#3842)
Regressinon in regard to PrusaSlicer 2.2.1 due to Vojtech's refactorings
for efficiency.
2020-03-17 09:41:54 +01:00
enricoturri1966
2ab8a474c2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_slope_shader 2020-03-17 07:59:10 +01:00
tamasmeszaros
5ed7d0aa29 Fix arrangement with items larger or equal to bed dimesions.
fixes #2897 
fixes #1186
2020-03-16 14:37:54 +01:00
enricoturri1966
ac4d9ea172 Fixed conflicts after merge with master 2020-03-16 08:09:52 +01:00
bubnikv
7f376fa927 Fix of infill type update with vase mode enabled after change
of the number of bottom layers.
related to [2.2.1-RC] Vase mode prints base no matter what #3823
2020-03-14 11:59:50 +01:00
bubnikv
dc1ffe15a8 Revert "Added "Filament spool weight" option to filament options"
This reverts commit 3d3e36ba8d.

The change is too risky just before the PrusaSlicer 2.2.0 final release
and the feature may need a bit of polishing before release.
2020-03-14 09:49:12 +01:00
bubnikv
6b58f67fb8 "inifinit_skirt" renamed to "draft_shield"
Polished the tooltip for the draft shield.
Legacy conversion from old skirt_heigth == -1 to draft_shield = 1
2020-03-14 07:46:39 +01:00
bubnikv
37b3780a72 Merge remote-tracking branch 'remotes/origin/et_free_camera' 2020-03-14 07:02:08 +01:00
bubnikv
c8b177966d Merge remote-tracking branch 'remotes/origin/ys_improvements' 2020-03-13 16:01:30 +01:00
enricoturri1966
b36051af82 New tech ENABLE_SLOPE_RENDERING - 1st installment of rendering objects colored by facets slope 2020-03-13 15:09:07 +01:00
YuSanka
56c6193ff4 Merge remote-tracking branch 'origin/ys_add_new_options' into ys_improvements 2020-03-13 11:49:51 +01:00
Enrico Turri
3fd6c8a2ff #2922 - Fan speed for gcode visualization modified as proposed by rongith 2020-03-13 08:25:48 +01:00
Enrico Turri
4c16ce442f #3816 - Use constrained camera when navigating the 3D scene with regular mouse, if free camera is not selected 2020-03-12 09:29:24 +01:00
bubnikv
88fcdf4b97 num_extruders is now available from the output_file_name template. 2020-03-11 18:12:44 +01:00
Lukas Matena
a6a77361ba Multimaterial purging lines fixed on rectangular beds with non-standard origin (#3805) 2020-03-11 16:10:51 +01:00
YuSanka
7fd9c736b3 Implemented "Use unlimited skirt" option 2020-03-11 11:43:08 +01:00
Lukas Matena
a48a79603c Multimaterial purging lines fixed on rectangular beds with non-standard origin (#3805) 2020-03-10 15:31:53 +01:00
YuSanka
3d3e36ba8d Added "Filament spool weight" option to filament options 2020-03-09 17:01:05 +01:00
Enrico Turri
5693545d15 Fixed conflicts after merge with master 2020-03-09 16:03:15 +01:00
Lukas Matena
85bf78f7e7 Fix of #3765 - relaxed empty layer detection 2020-03-05 15:27:00 +01:00
Lukas Matena
0869a63eaf Fix of #3769 - wipe into infill 2020-03-05 15:26:52 +01:00
Enrico Turri
d9d5722bf7 Reduced ram used by GCodeTimeEstimator by removing unused data from GCodeTimeEstimator::Block 2020-03-05 14:58:03 +01:00
Enrico Turri
da86472bf1 Reduced ram used by GCodeTimeEstimator by removing unused redundant data from GCodeTimeEstimator::Block::Trapezoid 2020-03-05 12:16:58 +01:00
Enrico Turri
de7a09f833 Fixed conflicts after merge with master 2020-03-05 10:41:11 +01:00
bubnikv
a2b7c6945c Merge remote-tracking branch 'remotes/origin/vb_3dconnexion_refactoring' 2020-03-05 09:56:06 +01:00
Vojtěch Bubník
b7bed7f118
Merge pull request #3778 from sckunkle/master
Fix double space message.
2020-03-05 09:41:43 +01:00
sckunkle
ebfe7fd01a Fix double space message. 2020-03-04 13:33:25 -06:00
Enrico Turri
bf3888fc49 Reduced ram used by GCodeAnalyzer by replacing doubles with floats into GCodeAnalyzer::GCodeMove 2020-03-04 13:21:03 +01:00
bubnikv
cab42b89ad Fixed some compilation warnings. 2020-03-04 13:06:21 +01:00
bubnikv
ab7109568a WIP: Fixed some compilation issues on OSX, fixed some "override" vs. "virtual"
warnings.
2020-03-04 12:48:04 +01:00
Lukas Matena
eb3b65d8af Fixing build against wxWidgets 3.0
The wxString saga continues. wxWidgets 3.0 don't have the wxString::FromUTF8(const std::string&) overload, we must use the GUI::from_u8 helper
Also wxWidgets 3.0 don't allow to disable wxString->const char* conversion, so calling show_info(wxWindow*, wxString, const char*) was ambiguous
Several includes moved around
2020-03-04 10:34:59 +01:00
Lukas Matena
7589e4ebfc Fixed some more warnings 2020-03-03 15:53:26 +01:00
Lukas Matena
6918f11100 Removed SLA unused code
Mostly the dead-ends that were tried when hollowing was being implemented
2020-03-03 15:53:26 +01:00
Lukas Matena
c70b34b6c8 Fixed several warnings
The biggest difference is changing PresetCollection::m_idx_selected from int to size_t, which fixed many warnings at once.
2020-03-03 15:47:02 +01:00
Enrico Turri
3b6d334d7b ENABLE_GCODE_VIEWER - Basic framework for new gcode viewer 2020-03-02 15:13:23 +01:00
Enrico Turri
0a3555f73b Reintroduced tech ENABLE_HACK_CLOSING_ON_OSX_10_9_5 2020-03-02 14:37:01 +01:00
Enrico Turri
d11548cbf9 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_canvas_manager 2020-03-02 12:45:42 +01:00
tamasmeszaros
e3a583292a Promote max_bridges_on_pillar to be a runtime parameter.
This way the user greater control over support tree branching and the amount of pillars created.
2020-03-02 12:43:00 +01:00
Enrico Turri
3f69336204 Removed tech ENABLE_HACK_CLOSING_ON_OSX_10_9_5 2020-03-02 12:13:39 +01:00
Enrico Turri
2f8970de86 Fixed conflicts after merge with master 2020-03-02 11:35:03 +01:00
Enrico Turri
0b629eb905 GLCanvas3DManager moved from being a static member of _3DScene to be a normal member of GUI_App 2020-03-02 10:58:46 +01:00
Enrico Turri
d6b86b5e2b Workaround to remove crash when closing PrusaSlicer on OSX 10.9.5 2020-02-27 14:55:27 +01:00
David Kocik
26c89300f3 copy file result enum 2020-02-27 10:44:25 +01:00
bubnikv
29086aa00b Fix of a regression from e0811e4aa5
Due to refactoring of G-code export some "don't care" extrusions
were not extruded at all.
2020-02-21 18:18:17 +01:00
Lukas Matena
8be3d074fd Fix of wipe into object
The bug was introduced in 15eedef. lower_bound_by_predicate implementation returns first item that does not satisfy the predicate, not last item that does.
2020-02-21 10:05:33 +01:00
YuSanka
487ac0423e Implemented time estimation for PausePrint (#3544)
DoubleSlider: fixed get_color_for_color_change_tick()
2020-02-20 17:33:43 +01:00
David Kocik
746a5c1788 bug fix at check_copy() while exporting to sd/usb 2020-02-20 10:35:53 +01:00
tamasmeszaros
bfd79fc48c Fix English tooltip and label for elefant_foot_min_width 2020-02-19 13:48:10 +01:00
bubnikv
dfbae648bf Follow up on 6deb6a776d:
Fixed orientation of contours after Elephant Foot Compensation.
2020-02-19 12:58:03 +01:00
bubnikv
ab72d5135b Fix of Placeholders do not respect filament overrides. #3649 2020-02-19 10:56:30 +01:00
tamasmeszaros
fcaa498abd Merge branch 'tm_sla_efc_SPE-1080' 2020-02-18 17:39:56 +01:00
tamasmeszaros
6deb6a776d Do EFC for the first faded layers of SLA, interpolate efc parameters
Compensated slices have negative orientation...


Move efc to common params


Fix elefant foot compensation reversed contours


Remove redundant assertions and don't apply absolute correction if zero
2020-02-18 17:39:36 +01:00
bubnikv
0228375512 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-02-18 15:44:07 +01:00
bubnikv
b47246f69b Fixed a bug, where the top or bottom solid layers were created even
if the number of top / bottom solid layers was set to zero while
the top / bottom minimum shell thickess was set nonzero.

With this commit, if the top / bottom solid layers is set to zero,
there are no top / bottom solid layers generated independent from
the minimum top / bottom shell thickness.
2020-02-18 15:44:01 +01:00
tamasmeszaros
726f645f84 Fix default hard coded parameters for SLA
fixes #3650
2020-02-18 15:39:30 +01:00
bubnikv
25d6818fc7 Fix of
Opening saved project removes Print Host settings #3655
Octoprint Settings when Opening a .3MF file #3244

When loading a configuration file (from AMF, 3MF, .ini or .gcode),
and if the host settings ("print_host", "printhost_apikey", "printhost_cafile")
in the configuration file is empty, then the config is considered to be anonymized,
and these anonymized keys are loaded from the referenced "derived from" profile,
if it exists in user's PrusaSlicer configuration directory.

We are aware that this is a patch work and a better long term solution
is to separate physical printer settings from logical printer settings,
but this is a good enough solution for PrusaSlicer 2.2.0 release.
2020-02-18 14:13:56 +01:00
bubnikv
43f2171446 Partial fix of v2.2.0 alpha2 Unhandled exception - extrusion width #3482
Exceptions thrown by Flow calculation were made explicit classes derived
from std::invalid_argument.

The PresetHints::recommended_thin_wall_thickness() newly catches these
exceptions and it shows the reason of why the hint is invalid.
2020-02-18 12:26:56 +01:00
Lukas Matena
b1145df566 Fixed incorrect filtering of extrusions during gcode generation
The behaviour resulted in duplicate extrusions in some cases
Fix of #3665
2020-02-18 09:52:34 +01:00
Lukas Matena
9b73ecdf02 Fixed printing order of skirt-brim intersecting extrusions (#3634) 2020-02-17 12:57:43 +01:00
Lukas Matena
cd937d62b5 Make sure that filament stats in gcode are on separate lines 2020-02-14 12:50:26 +01:00
tamasmeszaros
41d77b492c Added new parameter elefant_foot_min_width 2020-02-14 09:21:00 +01:00
tamasmeszaros
96d5c8c35d Add elephant foot compensation to SLA print
Work in progress


Convert efc input to the right scaling


Apply EFC on the slice index to make it visible in the preview.
2020-02-14 09:21:00 +01:00
Enrico Turri
ebbebe3727 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-02-14 08:32:06 +01:00
Enrico Turri
131257cef1 GCodeProcessor basic framework 2020-02-14 08:31:31 +01:00
tamasmeszaros
1cdde90971 Add tooltip and rename labels of hollowing params 2020-02-13 14:58:17 +01:00
Enrico Turri
4a59a45d51 ENABLE_SHOW_SCENE_LABELS set as default 2020-02-13 13:24:52 +01:00
tamasmeszaros
c4c2cf4ead Merge remote-tracking branch 'origin/tm_fix_commandline' 2020-02-13 12:53:31 +01:00
Enrico Turri
6914f688f8 ENABLE_BACKWARD_COMPATIBLE_RELOAD_FROM_DISK set as default 2020-02-13 12:43:19 +01:00
Enrico Turri
847efec2ed ENABLE_6DOF_CAMERA set as default 2020-02-13 12:13:54 +01:00
Enrico Turri
904263d231 ENABLE_CONFIGURABLE_PATHS_EXPORT_TO_3MF_AND_AMF set as default 2020-02-13 11:25:34 +01:00
Enrico Turri
b0218daafe ENABLE_MODIFIED_TOOLBAR_TEXTURES set as default 2020-02-13 09:50:06 +01:00
Enrico Turri
5797c9edc2 ENABLE_3DCONNEXION_Y_AS_ZOOM set as default 2020-02-13 09:20:20 +01:00
tamasmeszaros
25e303493e Revert c55173eb as it breaks features.
Output file name is not picked up in the SLA export file dialog.
2020-02-12 18:25:18 +01:00
Enrico Turri
c55173eba4 Follow-up of 00ecafe3d5 -> Fix of #3650 moved into 'SLAPrint::output_filename()' as the previous fix was breaking the export from GUI 2020-02-12 15:39:04 +01:00
Enrico Turri
00ecafe3d5 #3650 - Fixed extension of exported file when processing models for sla printers from command line 2020-02-12 14:23:54 +01:00
YuSanka
fcd1cf371b Alignments of options in settings tabs
+ msw_rescale() is overridden for PrinterTab to rescale of all the option Pages and not just a respect to current print technology
+ A Setting of the option.width in PrintConfig is no need anymore
2020-02-12 12:51:34 +01:00
Lukas Matena
2e62f03ba8 Small fix of 41388bd:
Interior mesh can be empty and TriangleMeshSlicer would fail in that case.
Also, recalculating shared vertices after repair should probably be done, TMS relies on it.
2020-02-11 15:25:28 +01:00
tamasmeszaros
cd88643558 Merge branch 'tm_hollowing' 2020-02-10 17:03:11 +01:00
tamasmeszaros
384d1ae1bb Use parallel execution for cutting the hollowed interior
partial solution for #3622
2020-02-10 16:57:17 +01:00
bubnikv
26a6a9b23f Fixed regression crashing when generating G-code with supports. 2020-02-10 16:37:38 +01:00
tamasmeszaros
41388bdb01 Remove the hollowed interior slices from the model slices in 2D 2020-02-10 16:33:59 +01:00
bubnikv
7655488639 Ammendment of
Reverted the time estimate number stored into the G-code from
    days/hours/minutes to days/hours/minutes/seconds, because who knows
    who is already parsing the file.
2020-02-10 15:53:11 +01:00
bubnikv
9f40e9e56e Reverted the time estimate number stored into the G-code from
days/hours/minutes to days/hours/minutes/seconds, because who knows
who is already parsing the file.
2020-02-10 15:46:08 +01:00
bubnikv
a25f58731e Fix of d81f7d8465
(SlicedInfo: Removed secondes from estimated times):
GCodeTimeEstimator::_get_time_dhm() shall round to minutes, old
code rounded down to minutes, new code rounds to 1/2.
2020-02-10 14:40:21 +01:00
bubnikv
bfbf3ac94d Follow up on the hot fix of #3637 53bfb6bed3
This is the correct solution, which maintains the optimization introduced
by 3e0690b37b
2020-02-10 14:24:28 +01:00
YuSanka
d81f7d8465 SlicedInfo: Removed secondes from estimated times 2020-02-10 12:52:32 +01:00
bubnikv
53bfb6bed3 Hot fix of Object disappears when wipe to object turned on #3637
which is a regression of an optimization 3e0690b37b

With the optimization disabled, the G-code generator will not be slower
than PrusaSlicer 2.1.1. I am leaving the code there to mark for
further optimization opportunities.
2020-02-10 08:24:39 +01:00
bubnikv
519a982fe9 Fix of #3632: Crash if a thin wall object is not printable, therefore
no extrusion is generated.

Now the situation is detected and an exception is thrown.
2020-02-09 18:34:06 +01:00
bubnikv
5eb1e7e886 Fixed a bug in the update of the backend when the Spiral Vase option
is enabled / disabled.

Spiral Vase forces different kind of slicing than the normal model:
In Spiral Vase mode, holes are closed and only the largest area contour is kept at each layer.
Therefore toggling the Spiral Vase on / off requires complete reslicing.

This commit moves the update to the correct location.
2020-02-09 13:56:42 +01:00
bubnikv
e7d2fcf0be Fixed unit tests broken with the previous commit (Spiral Vase fix).
Fixed a crash in the previous commit.
2020-02-09 09:43:15 +01:00
bubnikv
4e11552da9 Spiral vase improvements and bugfixes.
Fixes Connecting / expanding Bottom Layers to Vase Perimeter #253
Fixes Slicing error in vase mode #452
Fixes Slicing Issue (Vase Mode, 0.6mm dmr nozzle) #1887
Fixes Top fill pattern isn't used in spiral vase mode #2533
Fixes Cisar's vase doesn't slice correctly, creates artefacts #3595

When the model is sliced, all the contours are newly oriented
counter-clockwise (even holes), merged and then only the largest area
contour is retained. In perimeter generator, if the largest contour
splits into multiple perimeters, newly only the largest area perimeter
is retained in spiral vase mode. These two changes solve #3595 and similar.

The infill is newly calculated only for the bottom solid layers
if the spiral vase mode is active (removes various unwanted infill
along the vase walls), and the last bottom solid layer is switched
to a top solid pattern (solves #2533).

The thin walls are newly enforced to be disabled in spiral vase mode,
and the "ensure vertical shell wall" is enforced in spiral vase mode
to extend the bottom of the vase to the vase hull (fixes #253).
2020-02-08 21:36:43 +01:00
tamasmeszaros
8cda986ffb Follow-up for hole point randomization 2020-02-07 16:59:34 +01:00
tamasmeszaros
eb4b24e136 Hollowing: randomize hole mesh translations before unification.
To prevent self intersections in the output mesh.
2020-02-07 16:33:04 +01:00
tamasmeszaros
f512892f6b Report failing union on holes instead of faulty input mesh. 2020-02-07 15:59:33 +01:00
bubnikv
348bf39012 Fix of the previous commit: Fixed sequential print unit tests. 2020-02-07 14:43:13 +01:00
bubnikv
b8c898bf40 Fixed a bug in validation of the FDM Print to check for extruder
collisions against already printed objects: Rotation of an object
was not being taken into account.
Fixes #2450 PrusaSlicer 2.0 Sequential printing vs rotate object
Fixes #3585 Always Sequential Printing Error (Regardless of setting, placement or object size)

Fixed some collisions in sequential print just after arrangement by
making the validation using a slightly lower extruder radius value
than the arrangement.

Refactored PrintObject coordinate system so that the PrintObject's
coordinate system is always centered in respect to its ModelObject's
geometries. This refactoring may improve path planning a bit and
it may lower the requirements on bits representing Clipper coordinates
by 1 bit.
2020-02-07 14:10:27 +01:00
Enrico Turri
a1c0a29af2 ENABLE_BACKWARD_COMPATIBLE_RELOAD_FROM_DISK - Fixed inconsistencies for splitted and cutted objects 2020-02-07 09:49:48 +01:00
YuSanka
455f36119a Localization: Updated PrusaSlicer.pot and list.txt
+ added missed icons
2020-02-06 20:37:12 +01:00
Lukas Matena
665bc9e960 Hollowing: allow to place drain holes on the inner surface of a hollowed cavity
Drain holes are not allowed to be placed on its own inner surface. This was recently (0e3ebb3)
done by forcing invalidation of the slaposDrillHoles, which also invalidates and therefore
hides the drilled mesh. However, that also hides the hollowed mesh and it is not possible
to place holes inside the cavity.

This change does not dump the drilled mesh, but checks that no raycast hit ends up in a hole.
2020-02-06 17:58:26 +01:00
bubnikv
fb235cb675 Color change - handling Color Change data stored for different
printer configuration:

ss -> sm : Just apply the color changes of the original ss project at the active extruder.
ss -> mm : There are no tool changes stored. Ignore color changes, they are invalid because they are extruder non-specific.

sm -> ss : Apply tool changes as color changes (tool changes remember the target color), apply original color changes.
sm -> mm : Ignore both color changes and tool changes.

mm -> ss/sm : Ignore both color changes and tool changes.
2020-02-06 14:03:27 +01:00
Enrico Turri
f37a31596c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-06 09:15:15 +01:00
tamasmeszaros
d58f451d5d Merge branch 'tm_cgal_improvements_SPE-1088' 2020-02-05 17:56:52 +01:00
tamasmeszaros
bd76c345f2 Handle CGAL exceptions and add tests for mesh boolean operations
Add conversion to exact predicates exact construction kernel format for consecutive booleans (experiments)
2020-02-05 17:40:05 +01:00
bubnikv
495a71ed00 Implemented top_solid_min_thickness / bottom_solid_min_thickness.
The two new config keys define a minimum vertical shell thickness.
The top shell thickness is calculated as a maximum of sum over
top_solid_layers * layer heights and top_solid_min_thickness,
the bottom shell thickness is calculated as a maximum of sum over
bottom_solid_layers * layer heights and bottom_solid_min_thickness.

The results of the formula above are shown at the Print parameter page
below the two new values to hint the user about the interaction
of the old versus new config values.

top_solid_min_thickness has no meaning if top_solid_layers is zero,
bottom_solid_min_thickness has no meaning if bottom_solid_layers is zero.
2020-02-05 16:53:48 +01:00
Enrico Turri
5c4b481e35 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-05 15:27:20 +01:00
tamasmeszaros
a66dcf58f7 Fix for failing build without PCH 2020-02-05 09:57:22 +01:00
bubnikv
bca3e86455 Fixed invalidation of FDM back end if a custom per layer
extruder change is added or removed.
2020-02-04 17:46:31 +01:00
bubnikv
059bdb4711 Implemented handling of complex ConfigOptionFloatOrPercent chains
by the PlaceholderParser.

Namely, all the options with the "ratio_over" reference are now handled
correctly by the PlaceholderParser with the exception
of the "first_layer_extrusion_width", which overrides speed of extrusions
by their respective extrusion type.

Also the various extrusion widths (extrusion_width, first_layer_extrusion_width,
external_perimeter_extrusion_width etc.) produce the same numbers
as if ran through the back-end, with the assumption of not overriding
layer height by the variable layer height editing tool or layer height
modifiers.
2020-02-04 15:27:38 +01:00
Lukas Matena
808cf2e38a Hollowing: merge meshes of holes with igl (intersecting holes) 2020-02-04 15:03:10 +01:00
Enrico Turri
dc393e2f0a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-04 12:28:06 +01:00
Lukas Matena
d0f21dda4a Make sure that when drill holes are manipulated with, all data are invalidated properly
It is needed to regenerate hollow_mesh_with_holes completely, it may contain holes that were deleted by the user in the meantime
2020-02-03 17:31:18 +01:00
tamasmeszaros
ad3e3be3bc optimize string_printf 2020-02-03 17:11:24 +01:00
tamasmeszaros
0c4797e92e use vsnprintf instead of snprintf in string_printf function
Also, revert to old location: Utils.hpp and utils.cpp
2020-02-03 16:00:53 +01:00
Lukas Matena
227cc4dc33 Fixed conflicts after merge
slaposHollowing was divided into slaposHollowing and slaposDrillHoles on master
This commit takes this into account on the code that was merged from lm_drilling_backend_rebased
2020-02-03 15:42:54 +01:00
Lukas Matena
a1d4dab999 Merge branch 'master' into lm_drilling_backend_rebased 2020-02-03 15:20:16 +01:00
Enrico Turri
6fa49f5931 Added sequential print order id to 3D scene labels 2020-02-03 11:44:26 +01:00
Enrico Turri
0937c576ac Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-03 11:43:37 +01:00
tamasmeszaros
992a0c3d7a remove duplicate string_printf
#3594, #3592
2020-02-03 11:19:11 +01:00
tamasmeszaros
8aec5f6726 string_printf Wformat-security hack #
#3594, #3592
2020-02-03 11:09:54 +01:00
Enrico Turri
251a7d1329 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-02-03 08:23:55 +01:00
tamasmeszaros
36e92b0141 Put hole drilling into separate step 2020-01-31 08:58:21 +01:00
Lukas Matena
4bc4e347fb Fixed a crash during cut (typo introduced in 645f13a) 2020-01-31 08:54:41 +01:00
bubnikv
9ef65b23d8 Implemented loading of hollowed SLA mesh into the scene
in place of the normal mesh.

WIP: The code is inefficient (it does not store the timestamp
of the hollowed mesh, therefore it refreshes the hollowed mesh on each
scene update) and if the hollowing gets invalidated, the original mesh
is currently not being reloaded and the hollowed mesh is still visible.
2020-01-30 17:58:49 +01:00
bubnikv
1278aabf3e Fixed some compiler warnings. 2020-01-30 13:00:51 +01:00
bubnikv
c5fa400208 Fixed regression of 71fa411100
where the PrintObject bounding box was not invalidated correctly
when the transformation matrices of instances changed.

Also refactored PrintObject::size() for const correctness.
2020-01-30 12:22:30 +01:00
Lukas Matena
b0aa937215 Trying to improve drilling stability by handling CGAL exceptions 2020-01-29 15:57:49 +01:00
Enrico Turri
16fa68df0c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-01-29 14:46:09 +01:00
tamasmeszaros
7156ed9987 Remove redundant code 2020-01-29 14:13:21 +01:00
Lukas Matena
b41c6d7d64 Refuse to drill a broken mesh
Hole parameters defaults and limits changed a bit
2020-01-29 14:07:12 +01:00
Enrico Turri
504413cc91 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_labels 2020-01-29 12:31:50 +01:00
Lukas Matena
5ae2f8a467 Function sla_trafo made accessible from outside SLAPrint.cpp unit 2020-01-29 10:07:10 +01:00
tamasmeszaros
6988752d05 Re-apply fix for Win32 2020-01-28 15:24:23 +01:00
tamasmeszaros
9d0d0cde21 Fix broken build on non-linux platforms 2020-01-28 15:08:07 +01:00
tamasmeszaros
04a58e41c4 Fix cgal when used from distro package
fix CMake -frounding-math propagation from CGAL.
2020-01-28 14:49:39 +01:00
Enrico Turri
d5b258c267 1st installment of object/instance labels in 3D scene 2020-01-28 13:15:21 +01:00
Enrico Turri
69549af9ac Invalidate object bounding box after arrange 2020-01-28 11:11:45 +01:00
bubnikv
dced3ce783 Fix of 2.2.0-A3: Sequential Printing: Wrong location after slicing #3570
This is a regression from 71fa411
2020-01-24 17:11:14 +01:00
tamasmeszaros
848fe4750f Add prusaslicer.ini to sl1 output zip 2020-01-24 15:23:59 +01:00
tamasmeszaros
743a03a8c2 append full config to sla zipped ini
SPE-1081
2020-01-24 14:31:31 +01:00
tamasmeszaros
7591637c89 Bugfixes and refactoring for SLA backend
remove duplicate code


Mark conversion constructors of EigenMesh3D `explicit`


Working on mesh simplification for hollowed interior


Fix bug SPE-1074: crash with empty supports and disabled pad.


fix regression after refactor


Remove unfinished code


Fix missing includes and dumb comments
2020-01-24 14:26:19 +01:00
tamasmeszaros
9f6ad70f0b Merge branch 'lm_tm_hollowing' 2020-01-24 13:51:49 +01:00
tamasmeszaros
c6a2b69419 32 bit MSVC workaround for CGAL 2020-01-24 13:41:37 +01:00
Lukas Matena
1c0aedbbe5 Hollowing gizmo can now trigger the backend calculation 2020-01-24 10:53:40 +01:00
Lukas Matena
d58ee47e4d Fixed incorrect hole normal transformation when the object is anisotropically scaled 2020-01-24 10:53:40 +01:00
Lukas Matena
022cc0871a Allowed to do drilling without hollowing 2020-01-24 10:53:40 +01:00
tamasmeszaros
6b0af43665 Use mesh boolean in the backend to drill holes. 2020-01-24 10:53:40 +01:00
tamasmeszaros
b45e95877e Merge branch 'master' into lm_tm_hollowing 2020-01-23 17:43:18 +01:00
tamasmeszaros
cb39f6b212 Use CheckAtomic differently 2020-01-23 17:20:02 +01:00
YuSanka
5ff8ae955b Implemented editing for extruder of existing ToolChangeCode tick
+ Code refactoring: DoubleSlider is extracted from wxExtensions
2020-01-23 16:11:21 +01:00
YuSanka
1ed313ab79 Synchronized mode of color_print data to/from 3mf/amf
+ Code refactoring " CustomGCode extracted to separate namespace and file
2020-01-23 16:11:21 +01:00
tamasmeszaros
75260eea12 Fix latomic linking on Mac
SPE-1079
2020-01-23 13:18:44 +01:00
tamasmeszaros
f8a5796ca5 add mesh simplification.
SPE-1072 
Working but flipped normals with the interior.
Testing on treefrog passed
Oversampling for hollowed mesh should not be less than 3x
Flip back normals after simplify and remove redundant test code.
2020-01-23 10:58:18 +01:00
bubnikv
71fa411100 Refactored PrintObject::m_copies to PrintInstances,
so that the ordering code at G-code export may work directly with
pointers to PrintInstances instead of with pair of <PrintObject, copy idx>.
Also the PrintInstance knows its source ModelInstance, which allows
sorting of PrintInstances for sequential printing in the order
they appear in Plater's object list.
2020-01-23 09:53:06 +01:00
bubnikv
cea7cbfaa0 The print order for sequential print now corresponds to the order
at the object list.
Partial fix of https://github.com/prusa3d/PrusaSlicer/issues/3455
2020-01-22 10:50:20 +01:00
bubnikv
094cef26d4 Fix of the new PlaceholderParser int() conversion.
Fixes https://github.com/prusa3d/PrusaSlicer/pull/3271
Also some old errors (typos, UBs) were fixed.
2020-01-21 17:12:06 +01:00
lukasmatena
6100a71406
Merge pull request #3548 from KyleMaas/fix-ooze-prevention-issue-2901
Fix bug #2901 - Ooze Prevention on dual extruders (regression)
2020-01-21 14:41:41 +01:00
Enrico Turri
2b93900ac0 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-21 14:07:22 +01:00
Enrico Turri
dd09077bba Reload from disk command enhanced to work with 3mf/amf files saved with PrusaSlicer 2.1.0 and earlier 2020-01-21 14:07:13 +01:00
David Kocik
93f9fc1049 Throwing exceptions with text after copy file check failure and renaming from .tmp failure 2020-01-21 13:39:27 +01:00
Lukas Matena
63b0eec5a9 Merge branch 'master' into lm_tm_hollowing 2020-01-21 13:00:07 +01:00
bubnikv
05ea01bdcc Ported PlaceholderParser unit tests to C++. 2020-01-21 12:10:09 +01:00
Vojtěch Bubník
071d3b2762
Merge pull request #3271 from smurfix/upstream
Add int() and % (modulo) functions
2020-01-21 04:15:56 -05:00
bubnikv
7efca35c27 Don't store "print_host", "printhost_apikey", "printhost_cafile"
into the G-code.
2020-01-21 09:55:44 +01:00
Jebtrix
5342ad8990 Fix [scale] from being assigned to [year] placeholder
[year] in output filename format results in blank file name (Issue #2349)
2020-01-20 11:27:00 -05:00
foxox
07d6fd8f7e Platter->Plater 2020-01-20 11:16:49 -05:00
bubnikv
5fe5378367 Fixed AstroBox upload type selection. 2020-01-20 16:57:50 +01:00
Enrico Turri
c87e951da5 #3536 - Fixed PrusaSlicer not closing the file when trying to open an invalid 3mf (actually any zip) file 2020-01-20 13:29:59 +01:00
tamasmeszaros
87f2578ee7 Try to fix libatomic linkage on raspbian
SPE-1073
2020-01-20 12:50:48 +01:00
tamasmeszaros
ce34ae4716 Try to fix libatomic linkage on raspbian 2020-01-20 10:38:40 +01:00
Enrico Turri
cbe5132832 #3540 - Fixed toolpaths preview for empty ranges 2020-01-20 10:38:01 +01:00
KyleMaas
53980d074e Fix bug #2901 2020-01-19 11:13:42 -05:00
Lukas Matena
d8f2c8cdab Fixed a bug in the hole-aware raycaster 2020-01-17 16:02:23 +01:00
Enrico Turri
b368f8ff24 Fixed conflicts after merge with master 2020-01-17 14:58:19 +01:00
YuSanka
2259f7b3e8 Code refactoring to mode comparison 2020-01-17 12:24:58 +01:00
Enrico Turri
cc19e9c48f ENABLE_KEEP_LOADED_VOLUME_TRANSFORM_AS_STAND_ALONE set as default 2020-01-17 12:12:38 +01:00
Enrico Turri
94a3d38afd ENABLE_3DCONNEXION_DEVICES_CLOSE_SETTING_DIALOG set as default 2020-01-17 11:45:52 +01:00
Enrico Turri
4eee702984 ENABLE_ADAPTIVE_LAYER_HEIGHT_PROFILE set as default 2020-01-17 11:26:26 +01:00
Enrico Turri
ccb126a5f4 ENABLE_RELOAD_FROM_DISK_MISSING_SELECTION set as default 2020-01-17 11:07:10 +01:00
Enrico Turri
b6ab6378d7 ENABLE_VIEW_TOOLBAR_BACKGROUND_FIX set as default 2020-01-17 10:50:25 +01:00
Enrico Turri
dad09c737c ENABLE_GIZMO_ICONS_NON_ACTIVABLE_STATE set as default 2020-01-17 10:34:32 +01:00
Enrico Turri
34aac7e292 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_6dof_camera 2020-01-17 08:13:58 +01:00
Enrico Turri
67655743b9 Follow-up of merge of pull request #3293 -> Fixed missing include (for MAC build) 2020-01-16 16:18:35 +01:00
YuSanka
52c590f57a Merge remote-tracking branch 'origin/ys_cp_improvements' 2020-01-16 16:06:19 +01:00
Enrico Turri
46819224ee Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-01-16 16:03:14 +01:00
Enrico Turri
75c2b44d23 Follow-up of merge of pull request #3293 -> Fixed link error and toolpaths role colors 2020-01-16 16:02:40 +01:00
YuSanka
89fcd7f95a Added "mode" variable for custom_gcode_per_print_z 2020-01-16 16:01:19 +01:00
YuSanka
20fd874ff2 Merge remote-tracking branch 'origin/master' into ys_cp_improvements 2020-01-16 15:01:57 +01:00
bubnikv
3acfae92e1 Fix of recent wipe tower / tool ordering refactoring. 2020-01-16 14:59:16 +01:00
tamasmeszaros
fada7224f1 MeshBooleans with CGAL only 2020-01-16 14:31:31 +01:00
YuSanka
099118d6f2 Merge remote-tracking branch 'origin/master' into ys_cp_improvements 2020-01-16 14:02:19 +01:00
Enrico Turri
6be4b3865b Merge remote-tracking branch 'foxox/feature/ScaleSpeedLegendToVisible2' 2020-01-16 13:55:59 +01:00
bubnikv
1b354d8d3c WIP: Enhancement of the FDM back end to support Color Change situations,
when a project was switched from multi-extruder printer to single
extruder printer.
2020-01-16 13:39:03 +01:00
Enrico Turri
9f7feedc8b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_6dof_camera 2020-01-16 09:18:21 +01:00
tamasmeszaros
e6bdec4aa5 Remove wrapper around std::mt19937 2020-01-15 17:44:15 +01:00
bubnikv
8e5ba5ccc5 Added synonyms to some PrintSteps:
psWipeTower now equals to new psToolOrdering indicating that
the ToolOrdering has been calculated (only if non-sequential mode is active).

psBrim now equals to new psExtrusionPaths
psExtrusionPaths shall be the last step before psWipeTower, indicating
that all the printing extrusions are calculated for the G-code preview
slider to edit the custom per print_z color changes, tool changes etc.
2020-01-15 16:20:16 +01:00
YuSanka
15f873dd74 DoubleSlider: Implemented code for check of used extruders for MustiAsSingle mode 2020-01-15 15:35:56 +01:00
Enrico Turri
62e60bcb43 Six degrees of freedom camera - 1st installment 2020-01-15 12:49:34 +01:00
bubnikv
2c958c021d Fixed regression in placement of Color Change event at the correct layer. 2020-01-14 17:35:42 +01:00
bubnikv
10d1b459bb Fix of
Skirt loops not being honored, only producing single loop #2193
First layer skirt only has half the loops when using multiple extruders #469

The skirt generator used to prime all printing extruders at the 1st layer
if enough skirt lines were configured, while at the other layers the skirt
used to be printed with the 1st extruder printing the layer.

There was a bug introduced quite a long time ago, where not enough skirt
lines were extruded if some extruders were not needed to print the 1st layer.

Newly the skirt generator works the same way on all layers:
All the extruders planned to print a layer are primed over the skirt
if enough skirt lines are configured.
2020-01-14 16:38:34 +01:00
bubnikv
390376daae Fix of recent refactoring of color print. 2020-01-14 16:11:03 +01:00
Lukas Matena
fd6c9582d5 Refactoring fix: making sure that mark_wiping_extrusions doesn't report it wiped something it didn't 2020-01-14 15:43:43 +01:00
bubnikv
ab6a2b71e8 Another bugfixes of GCode export after refactoring. 2020-01-14 15:12:45 +01:00
bubnikv
b54ce0d468 Fixing GCode Skirt generator after refactoring. 2020-01-14 14:24:38 +01:00
bubnikv
c96fc5eb51 gcc & clang do not like taking reference of const temporaries. 2020-01-14 12:10:01 +01:00
bubnikv
98e49772ed Custom G-code references are now being assigned to ToolOrdering::LayerTools()
and the superfluous M600 (color change) events are filtered out there.

Fixed a handful of compiler warnings.
2020-01-14 11:54:09 +01:00
tamasmeszaros
e6244f7bdb Eliminate use of uninitialized variable. 2020-01-14 10:48:22 +01:00
tamasmeszaros
ce49f0a294 Test sla support point generation determinism with seed parameter 2020-01-14 10:48:22 +01:00
tamasmeszaros
6205524d75 Make support point generator deterministic. 2020-01-14 10:48:22 +01:00