Commit Graph

2787 Commits

Author SHA1 Message Date
Vojtech Bubnik
dde64d361b Tiny polishing and documentation. 2020-09-23 12:59:15 +02:00
Vojtech Bubnik
0dad7adfa1 "There is an object with no extrusions on the first layer."
should throw SlicingError, not RuntimeError.
2020-09-23 12:58:58 +02:00
Vojtech Bubnik
056c46d01f Undo/Redo serialization extension:
If an object indicates a valid timestamp, then the timestamp
is relied upon to not serialize the object data if the timestamp
of the same object on the undo/redo stack matches.
2020-09-23 12:18:39 +02:00
Lukas Matena
4bf49d960c Merge branch 'lm_seam_painter_backend' 2020-09-22 21:02:07 +02:00
Lukas Matena
a13fc805d7 Removed obsolete wipe tower related code
Most of the code is already commented out for a long time, it should be safe to remove now.
2020-09-22 15:20:24 +02:00
Lukas Matena
e7ae26fb8a Fix of #2834 (unretracted wipes on wipe tower)
Wiping moves performed before moving away from the wipe tower were replaced by
scheduling a regular wipe that is performed after normal gcode generator regains
control. This makes it consistent with wipes on the model and gets rid of the
unretracted wipes.
2020-09-22 15:20:19 +02:00
Vojtech Bubnik
230dbb7394 Adaptive Cubic infill:
1) Fixed a wrong offset when extracting infill lines from the octree.
2) Added a variant for testing triangle in a bounding sphere
   when buildind the octree. Currently not used as the box test
   is more tight.
3) "Bridging infill" regions are now triangulated and used to densify
   the octree as well to support the bridging infill correctly.
2020-09-22 08:53:45 +02:00
Vojtech Bubnik
6cdb19971f Fixed crash in Adaptive Cubic infill if just a single line was extracted.
New function to chain lines, however not used by the Adaptive Cubic infill.
2020-09-21 11:10:57 +02:00
Lukas Matena
cf50224248 Fix build on macOS and one logic error 2020-09-18 14:26:06 +02:00
Lukas Matena
6db2d3a0b2 Merge branch 'master' into lm_seam_painter_backend 2020-09-18 13:44:45 +02:00
Lukas Matena
f2951b53c0 Fix build on Linux 2020-09-18 13:37:37 +02:00
Vojtech Bubnik
348c654c26 Adaptive infill:
Fixing compilation on Linux,
WIP: Better chainining of infill lines.
2020-09-18 13:35:35 +02:00
Lukas Matena
8123930ee5 Store seam history for more islands 2020-09-18 12:20:02 +02:00
Lukas Matena
8dd345ed4c use center of enforcer only with spAligned 2020-09-18 12:00:48 +02:00
Lukas Matena
fffb79a085 Simple implementation of spRandom 2020-09-18 12:00:40 +02:00
Lukas Matena
5d6bf3261e fixed center-finding algorithm 2020-09-18 12:00:40 +02:00
Lukas Matena
e78221409a Renamed CustomSeam to SeamPlacer, move to a separate file 2020-09-18 12:00:14 +02:00
Lukas Matena
a1fadaf955 Partially working implementation of custom seam backend 2020-09-18 12:00:14 +02:00
Vojtech Bubnik
7e756b20e6 Adaptive infill: Reshuffled the namespaces. 2020-09-18 10:53:50 +02:00
Vojtech Bubnik
37c5fe9923 Refactoring of adaptive cubic / support cubic:
1) Octree is built directly from the triangle mesh by checking
   overlap of a triangle with an octree cell. This shall produce
   a tighter octree with less dense cells.
2) The same method is used for both the adaptive / support cubic infill,
   where for the support cubic infill the non-overhang triangles are
   ignored.
The AABB tree is no more used.
3) Optimized extraction of continuous infill lines in O(1) instead of O(n^2)
2020-09-17 18:39:28 +02:00
enricoturri1966
fb4493c9d1 Restore estimated time lines in sidebar info 2020-09-17 11:42:58 +02:00
tamasmeszaros
af785d1486 Fix hollowing crash when splitting broken object has zero parts. 2020-09-16 11:08:58 +02:00
ardenpm
541c31afb0
Merge branch 'master' into pa_reprap_g10_temperature_support 2020-09-15 11:40:38 +10:00
Vojtech Bubnik
1eadb6a1a9 Replaced some of Slic3r::RuntimeError exceptions with Slic3r::SlicingError.
Only Slic3r::SlicingError are now displayed by a notification, other
exceptions are shown by a pop-up dialog.
2020-09-14 18:03:22 +02:00
Vojtech Bubnik
067cde85f1 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
Yuri D'Elia
cd4ad5e78b Introduce ConfigOptionDef::is_code to select code_font() 2020-09-13 02:36:50 +02:00
Yuri D'Elia
a32bb59d8e Do not include (incorrect!) seconds in get_time_dhm 2020-09-12 18:20:22 +02:00
Yuri D'Elia
776a775996 Add missing forward declarations 2020-09-11 16:51:05 +02:00
enricoturri1966
dd6994c3b2 Logging of memory used by the gcode processor and viewer 2020-09-11 15:19:23 +02:00
Lukáš Hejl
137e7a0712 Fix compiler warnings and failing compilation on macOS 2020-09-10 22:57:58 +02:00
Lukáš Hejl
7ef5def077 Fix typo in function build_octree 2020-09-10 22:38:37 +02:00
Lukáš Hejl
e9a325c9ca Fix rotation in support cubic infill 2020-09-10 22:30:49 +02:00
tamasmeszaros
7766c6ebc4 Merge branch 'tm_rotfinder' 2020-09-10 20:06:18 +02:00
tamasmeszaros
20bd7b99f9 Significant performance improvements for elevated and non-elevated case
Apply bruteforce for elevated models
2020-09-10 19:35:45 +02:00
YuSanka
f1f9785a8a SplashScreen:
* Show it on the display same as an Application
 * Code refactoring : All related functions moved to the SplashScreen class
 * Add a possibility o hide/show splash scree in Preferences
2020-09-10 18:54:29 +02:00
Lukáš Hejl
40a7a44495 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-09-10 17:02:54 +02:00
Lukáš Hejl
f49144a9ef Move support cubic infill to separate class.
Support infill is enabled in the GUI.
2020-09-10 16:53:08 +02:00
Lukáš Hejl
8fb9b290b2 A prototype of adaptive support infill 2020-09-10 14:55:48 +02:00
Lukáš Hejl
680b1b9809 Construct octree based on inserted points 2020-09-10 14:52:26 +02:00
Lukáš Hejl
c261624999 A simple version of adaptive cubic support, for testing purposes 2020-09-10 14:52:26 +02:00
Lukáš Hejl
e55d184a7d Fix missing initialization in TriangleMesh constructor 2020-09-10 14:52:26 +02:00
Lukáš Hejl
70cb67430c Move rotation from building octree to infill generating 2020-09-10 14:52:21 +02:00
enricoturri1966
131cc0a41c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-09-10 14:35:40 +02:00
enricoturri1966
b991b613de Updated titlebar and splash screen + hidden statusbar for gcode viewer 2020-09-10 14:33:55 +02:00
tamasmeszaros
d527122046 Performance optimizations and bugfix 2020-09-10 14:03:30 +02:00
tamasmeszaros
3b7ea5587e Fix build on win 2020-09-10 14:03:30 +02:00
tamasmeszaros
0d4c67b9a3 Mostly working, inefficiencies remain, status indication partly broken 2020-09-10 14:03:30 +02:00
tamasmeszaros
b4b9af4100 cosmethics
Comments and cosmethics
2020-09-10 14:03:30 +02:00
tamasmeszaros
c10ff4f503 fixing optimizer and concurrency::reduce 2020-09-10 14:03:30 +02:00
tamasmeszaros
c193d7c930 Brute force optimization code, buggy yet
wip


wip


wip refactor
2020-09-10 14:03:30 +02:00
tamasmeszaros
b4e30cc8ad rotation finder experiments
wip
2020-09-10 14:03:30 +02:00
tamasmeszaros
7713a55d45 Do a mesh split before openvdb conversion, unify each part's grid
Do a mesh redistance after the part splitting and openvdb csgUnion
2020-09-10 13:39:43 +02:00
tamasmeszaros
50836914fc Calibration changes to address new algorithm behavior. 2020-09-10 13:37:58 +02:00
tamasmeszaros
a21ff4141b Fix failing test due to changes in support point genertion 2020-09-10 13:19:17 +02:00
tamasmeszaros
26d5c30366 Improvements to support point generator
- Separate the 3 bands -- dangling, sloping and full overhanging -- regions and handle them with different support force deficits.

- Use a heuristic for overhanging edges to increase the number of support points generated for them


- Try to make overhangs and slopes deficit depend on stable area.
2020-09-10 13:19:17 +02:00
enricoturri1966
659c24d3d8 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-09-10 08:50:00 +02:00
enricoturri1966
88457bf412 Tech ENABLE_GCODE_VIEWER_AS_STANDALONE_APPLICATION set as default 2020-09-10 08:49:50 +02:00
Vojtech Bubnik
6a11e7996e Merge branch 'lh_adaptive_infill' 2020-09-09 16:46:43 +02:00
Vojtech Bubnik
7b318e1698 Refactoring of adaptive cubic infill:
Don't create an octree for the infill if it is not needed.
2020-09-09 15:55:06 +02:00
enricoturri1966
3527cd48e8 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-09-09 15:04:40 +02:00
enricoturri1966
2f9dd9d9e8 Completed implementation of 'File->GCode preview...' command 2020-09-09 15:03:51 +02:00
Lukáš Hejl
5e9399247c Check if exist any boundary polyline 2020-09-09 14:40:14 +02:00
Lukáš Hejl
5633526ecf Enable changing adaptive infill density for different objects 2020-09-09 14:40:14 +02:00
Lukáš Hejl
aca212c5bc Octree representation rework 2020-09-09 14:40:14 +02:00
Lukáš Hejl
acedb66cdc Change to using raw_mesh instead of mesh 2020-09-09 14:40:14 +02:00
Lukáš Hejl
000987451a Fix bug in lines merging 2020-09-09 14:40:14 +02:00
Lukáš Hejl
03e103fcc8 Connect infill to perimeters 2020-09-09 14:40:14 +02:00
Lukáš Hejl
398d429ce1 Code cleanup 2020-09-09 14:40:14 +02:00
Lukáš Hejl
d09ac41d2c Octree's first cube depends on model size. 2020-09-09 14:40:14 +02:00
Lukáš Hejl
2debffc496 Fix tests which expect make_fills without arguments 2020-09-09 14:40:14 +02:00
Lukáš Hejl
33121b705a Change in passing octree struct 2020-09-09 14:40:08 +02:00
Lukáš Hejl
9eeb5e4364 Fix wrong data type 2020-09-09 14:37:20 +02:00
Lukáš Hejl
65ba40f044 Fix crash on inconsistent input 2020-09-09 14:37:20 +02:00
Lukáš Hejl
867681ae56 Fix discontinuous extrusion lines for adaptive infill 2020-09-09 14:37:20 +02:00
Lukáš Hejl
14a7fbc9f7 Switch to smart pointers 2020-09-09 14:37:17 +02:00
Lukáš Hejl
c0d21bd2b4 Polylines merging 2020-09-09 14:34:04 +02:00
Lukáš Hejl
c311b84b21 Add function for check existence of triangle in define radius 2020-09-09 14:34:04 +02:00
Lukáš Hejl
9f049b2619 Generating polylines from octree 2020-09-09 14:34:04 +02:00
Lukáš Hejl
34f38c4a79 Building octree based on distance from mesh 2020-09-09 14:34:04 +02:00
Lukáš Hejl
0d26df3cf6 Preparation for new infill 2020-09-09 14:34:04 +02:00
enricoturri1966
d8530e7d9f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-09-09 09:12:56 +02:00
enricoturri1966
6b10214bec Fixed export of pause print lines into gcode 2020-09-09 09:06:50 +02:00
enricoturri1966
8cb2636afc Fixed conflicts after merge with master 2020-09-08 15:38:35 +02:00
Vojtech Bubnik
ce06fc6cb7 Added networking support for SL1 Digest authorization.
Renamed login/password/authorization_type to printhost_user/printhost_password/printhost_authorization_type.
Added initialization of physical printer preset with default values.
2020-09-08 15:31:10 +02:00
enricoturri1966
67d10a3c0c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-09-08 11:55:35 +02:00
enricoturri1966
f58d3116bf Fixed crash when loading gcode files saved with older version of PrusaSlicer 2.3.0.alpha 2020-09-08 11:43:18 +02:00
enricoturri1966
ab556a398b GCode viewer using the proper layout when started as a standalone application 2020-09-08 11:40:06 +02:00
enricoturri1966
8579184d70 Follow-up of 573194e059 -> Fixed crash when opening a gcode file 2020-09-07 11:30:31 +02:00
Lukáš Hejl
97e62be902 Check if exist any boundary polyline 2020-09-07 09:14:06 +02:00
enricoturri1966
e10d1eba54 GCodeProcessor -> Use decorations to detect toolpaths height for gcode files generated by PrusaSlicer 2020-09-07 08:35:34 +02:00
Lukáš Hejl
6c01d537e4 Enable changing adaptive infill density for different objects 2020-09-03 23:15:46 +02:00
Lukáš Hejl
ce18b824ad Octree representation rework 2020-09-03 19:21:55 +02:00
Lukáš Hejl
c2af265df8 Change to using raw_mesh instead of mesh 2020-09-03 16:08:40 +02:00
Lukáš Hejl
184cb7afd9 Fix bug in lines merging 2020-09-03 14:28:25 +02:00
Lukáš Hejl
353c65fa4c Connect infill to perimeters 2020-09-03 13:05:28 +02:00
Lukáš Hejl
a3a1c20172 Code cleanup 2020-09-03 11:56:41 +02:00
enricoturri1966
573194e059 GCodeProcessor -> Added cancel callback 2020-09-03 08:32:06 +02:00
Lukáš Hejl
fd3a31651c Octree's first cube depends on model size. 2020-09-03 08:04:05 +02:00
Lukáš Hejl
71237cf11f Fix tests which expect make_fills without arguments 2020-09-03 07:52:53 +02:00
Lukáš Hejl
5997f2759c Change in passing octree struct 2020-09-02 22:53:10 +02:00
YuSanka
4d053cc4ee Merge remote-tracking branch 'origin/master' into ys_unsaved_changes 2020-09-02 09:15:11 +02:00
Lukas Matena
7844ca12fa First naive prototype of seam painter 2020-09-02 00:36:30 +02:00
Lukas Matena
60cf002e94 Fixed merge conflicts (whitespace only) 2020-09-02 00:36:30 +02:00
Lukas Matena
6646198a9b Merge branch lm_seam_painter_frontend 2020-09-01 23:03:16 +02:00
Lukas Matena
9c59b4f930 Custom seam: Model integration, backend invalidation, 3MF loading/saving 2020-09-01 22:35:01 +02:00
Lukas Matena
255469347f Fixed several indentation-related warnings 2020-09-01 18:18:56 +02:00
tamasmeszaros
761e71eb63 Fix build on msvc 2020-09-01 18:18:56 +02:00
Lukas Matena
1eef1d32a0 Added two missing includes to fix build on gcc 2020-09-01 18:12:51 +02:00
bubnikv
08580a9b18 WIP: prusa-gcodeviewer command line wrapper to start the PrusaSlicer
in standalone G-code viewer mode.
Linux and OSX stuff will follow.
2020-09-01 16:56:12 +02:00
Vojtech Bubnik
683af51685 Replaced boost::filesystem::canonical() with boost::filesystem::absolute(),
as canonical() is broken on Windows (reparse points aka symbolic links
are not processed correctly).

Fixes
https://github.com/prusa3d/PrusaSlicer/issues/732
https://github.com/prusa3d/PrusaSlicer/issues/3956
https://github.com/prusa3d/PrusaSlicer/issues/4557
2020-09-01 14:15:37 +02:00
enricoturri1966
e32930aa6c Code cleanup 2020-09-01 09:28:02 +02:00
enricoturri1966
bf7b952eff GCodeViewer -> Smoothed solid toolpaths corners 2020-09-01 08:29:06 +02:00
Lukáš Hejl
423d1f2f40 Fix wrong data type 2020-08-31 08:49:17 +02:00
Lukáš Hejl
8e6760e033 Fix crash on inconsistent input 2020-08-30 20:38:07 +02:00
enricoturri1966
b563010bf1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-28 12:30:45 +02:00
enricoturri1966
93921dc7c8 ENABLE_GCODE_VIEWER -> Experimental taskbar icon 2020-08-28 08:54:58 +02:00
tamasmeszaros
79567a1958 Add some comments for png read interface 2020-08-27 23:14:42 +02:00
tamasmeszaros
ad0df8fd09 Be compatible with earlier libpng versions. 2020-08-27 23:14:42 +02:00
tamasmeszaros
b09552e56f Don't use fmemopen, its not standard. 2020-08-27 23:14:42 +02:00
tamasmeszaros
8541ce4060 SLA archive import will now recover the model's original position. 2020-08-27 23:14:42 +02:00
tamasmeszaros
769ee15475 Move SLA import to libslic3r with png reading using libpng
Also fix flipped object issue
2020-08-27 23:14:42 +02:00
tamasmeszaros
2bcd36d155 PNG image read with libpng 2020-08-27 23:14:42 +02:00
tamasmeszaros
19e1d877aa Don't use sla::EncodedRaster in SLAImport, revive opencsg sandbox 2020-08-27 23:14:42 +02:00
enricoturri1966
e22e85e8e2 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-27 13:11:49 +02:00
Lukáš Hejl
b28f9b8935 Fix discontinuous extrusion lines for adaptive infill 2020-08-27 13:04:53 +02:00
bubnikv
17170b81b5 Clean-up of Shiny profiler integration, so that the intrusiver profiling
can be controlled per module.
2020-08-27 12:14:49 +02:00
enricoturri1966
689c8691ee Another code cleanup 2020-08-27 10:15:07 +02:00
enricoturri1966
af30a3ab7e Code cleanup 2020-08-27 09:13:30 +02:00
enricoturri1966
88b6835258 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-27 08:00:45 +02:00
Lukáš Hejl
c5a73a7cd6 Switch to smart pointers 2020-08-27 07:28:43 +02:00
Lukáš Hejl
cb328c99aa Polylines merging 2020-08-27 01:59:35 +02:00
Lukáš Hejl
fb24d8167a Add function for check existence of triangle in define radius 2020-08-26 23:28:52 +02:00
Lukáš Hejl
eaaff4e707 Generating polylines from octree 2020-08-26 22:18:51 +02:00
bubnikv
41f474a884 Fixed performance issues when adding / removing Presets into PresetCollection.
This improves application startup time by 25-33%.
2020-08-26 21:51:50 +02:00
Lukáš Hejl
3ac16d9c9c Building octree based on distance from mesh 2020-08-26 18:15:59 +02:00
Lukáš Hejl
42a7f2b1d8 Preparation for new infill 2020-08-26 16:51:34 +02:00
enricoturri1966
ba9c3a74ed GCodeViewer -> 1st iteration of rendering of extrude toolpaths as solid 2020-08-26 15:29:33 +02:00
enricoturri1966
e4f767b2ed Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-24 15:11:15 +02:00
Lukas Matena
c51a45ee0f Drainholes are saved elevated for 3MF compatibility
This is a follow-up of previous commit
2020-08-24 08:11:12 +02:00
Lukas Matena
a95509ce36 Changed internal coordinates of drain holes
Drain holes reference position was saved slightly above the mesh to avoid problem when the hole is placed on flat or nearly flat surface
The depth of the hole was internally bigger than what the user has set to compensato for it
However, this leads to problem with scaling and makes reprojection of the holes on the mesh complicated

This commit changes the reference point to the point on the mesh and the extra elevation is handled when rendering and drilling the hole.
The change is reflected in 3MF drain holes versioning so that old 3MFs are loaded correctly.
Reprojection on the mesh after reload from disk/fix through netfabb has been enabled.
2020-08-24 08:11:12 +02:00
enricoturri1966
34759f9a70 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-21 11:10:27 +02:00
enricoturri1966
7a093b08fd GCodeViewer -> Show printbed model and texture for system printers detected when loading gcode files produced by PrusaSlicer 2020-08-21 10:59:07 +02:00
Paul Arden
f6d25d0634 Rework G10 temperature support to be enabled only for a new Firmware type RepRapFirmware leaving the RepRap/Sprinter behaviour alone. Rename the enum for gcfRepRap to gcfRepRapSprinter and add new gcfRepRapFirmware enum value. Also adds code to only use the G10 searching in custom G-code if the flavour is RepRapFirmware. 2020-08-21 14:08:32 +10:00
Lukas Matena
739cd2a4a2 Fixed several indentation-related warnings 2020-08-19 17:15:01 +02:00
YuSanka
15545bbd90 Merge remote-tracking branch 'origin/master' into ys_unsaved_changes 2020-08-19 15:44:24 +02:00
enricoturri1966
af200e47c1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-19 08:18:23 +02:00
tamasmeszaros
5052149b81 Fix build on msvc 2020-08-18 13:45:18 +02:00
enricoturri1966
bd4e4535f9 GCodeProcessor -> Calculate per layer time estimate 2020-08-18 12:37:07 +02:00
Lukas Matena
6db1e5ab8f Slight code cleanup 2020-08-18 12:00:26 +02:00
Lukas Matena
97bc092cce Renamed FacetSupportType to EnforcerBlockerType
So it's not misleading if we use it for seam painting
2020-08-18 12:00:26 +02:00
tamasmeszaros
4ef52af906 Add dedicated tests for support point generation 2020-08-18 11:41:14 +02:00
enricoturri1966
ca27d7296f Fixed build when ENABLE_GCODE_VIEWER is disabled 2020-08-18 08:27:07 +02:00
enricoturri1966
c81d87b470 Code cleanup 2020-08-17 15:59:36 +02:00
enricoturri1966
73603e4937 GCodeProcessor -> Do not export width tags to gcode 2020-08-17 14:37:26 +02:00
enricoturri1966
b156153405 GCodeViewer -> Use rounded values for toolpaths height, width and volumetric rate to reduce the number of generated paths 2020-08-17 13:07:13 +02:00
enricoturri1966
5b579aee9a GCodeProcessor -> Extract toolpaths width from gcode moves 2020-08-17 10:54:41 +02:00
enricoturri1966
f2d02faef4 GCodeProcessor -> Added debug code to check toolpaths data extracted from gcode, as mm3 per mm, height and width 2020-08-17 10:06:41 +02:00
YuSanka
618f04717f Unsaved Changes : improvement for the GUI_App::check_unsaved_changes()
Added use of UnsavedChangesDialog
2020-08-14 18:17:16 +02:00
enricoturri1966
6a603eed25 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-14 11:45:54 +02:00
tamasmeszaros
add3894e8c Add reserve_vector to libslic3r.h to be globally usable. 2020-08-13 15:42:31 +02:00
tamasmeszaros
7158690ddd Fix build on win and rpi 2020-08-13 15:09:22 +02:00
tamasmeszaros
1003c32f76 Merge branch 'tm_minor_refactor' 2020-08-13 14:36:47 +02:00
tamasmeszaros
929cea59f3 replace ccr_::enumerate with flexible for_each
enumerate is unusual and would only work effectively with random access iterators

this for_each takes advantage of tbb blocked_range
replace ccr_::enumerate with flexible for_each

enumerate is unusual and would only work effectively with random access iterators

this for_each takes advantage of tbb blocked_range
2020-08-13 14:35:14 +02:00
tamasmeszaros
9486901b93 Minor change to SLAPrinter interface 2020-08-13 14:35:14 +02:00
enricoturri1966
b80bde11f3 GCodeProcessor -> Extract toolpaths height from gcode moves 2020-08-13 12:51:50 +02:00
enricoturri1966
7be5860908 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-12 15:07:31 +02:00
Lukas Matena
6d4bb10ec5 Fix of custom supports: object offset for Clipper was incorrectly accounted for 2020-08-12 11:28:30 +02:00
Lukas Matena
fd93d9768d Fixes of two crashes in paint-on supports 2020-08-12 11:08:10 +02:00
Vojtech Bubnik
12f43736bd Fix of Support generator debugging functions after some refactoring 2020-08-12 10:51:15 +02:00
enricoturri1966
4ca026d4b6 ENABLE_GCODE_VIEWER -> More general drag and drop for .gcode files 2020-08-11 15:44:32 +02:00
enricoturri1966
5a0e048079 ENABLE_GCODE_VIEWER -> Drag and drop .gcode files into gcode viewer 2020-08-11 14:23:47 +02:00
enricoturri1966
5882c121cc GCodeProcessor -> Fixed time estimate for stealth mode 2020-08-11 11:12:30 +02:00
enricoturri1966
dea641183c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-08-10 14:22:46 +02:00
enricoturri1966
6ed2cb661d GCodeProcessor -> Export remaining time (lines M73) to gcode 2020-08-10 14:22:05 +02:00
YuSanka
f9e47b2702 Code refactoring: AppConfig.cpp(hpp) are removed from the GUI to libslic3r 2020-08-08 17:03:20 +02:00
enricoturri1966
64001c0fe5 GCodeProcessor -> Fixed export of estimated time to gcode filename 2020-08-07 15:30:08 +02:00
YuSanka
a6dc3d37f5 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-08-06 17:02:48 +02:00
Lukas Matena
41b1dc3d80 Fix of custom supports 3MF loading
Multiple-part objects were not handled correctly
2020-08-06 14:08:05 +02:00
enricoturri1966
2aa1c2776c GCodeViewer -> Estimated printing times shown in the legend 2020-08-06 10:15:34 +02:00
enricoturri1966
8fc5be7e4f Refactoring to allow to quickly build the various options to show the estimated printing time in gcode viewer scene 2020-08-05 15:43:46 +02:00
enricoturri1966
25c3552555 Fixed conflicts after merge with master 2020-08-04 09:58:19 +02:00
tamasmeszaros
0614d6d4a8 Remove leftover junk comments 2020-08-03 19:07:30 +02:00
tamasmeszaros
f3c0bf46d4 finish optimizer interface and remove commented code 2020-08-03 19:06:57 +02:00
tamasmeszaros
927b81ea97 Working small-to-normal support merging
Fixed fatal bug with anchors for mini supports

Make the optimization cleaner in support generatior

Much better widening behaviour

Add an optimizer interface and the NLopt implementation into libslic3r

New optimizer based only on nlopt C interfase
Fix build and tests
2020-08-03 19:05:30 +02:00
tamasmeszaros
8cb115a035 Add possible manipulation of small support diameter. 2020-08-03 19:05:30 +02:00
tamasmeszaros
7c655b5d7e Fix junction made below ground level. 2020-08-03 19:05:30 +02:00
tamasmeszaros
1eec6c473c Rename EigenMesh3D to IndexedMesh and SupportConfig to SupportTreeConfig 2020-08-03 19:05:30 +02:00
tamasmeszaros
645fbed88b Make compile time support tree conf params constexpr 2020-08-03 19:05:30 +02:00
tamasmeszaros
f19b3a2344 Id-s put in a base class for support tree primitives 2020-08-03 19:05:30 +02:00
tamasmeszaros
301a168b89 Fix bugs and non working tests
Fix failing tests


Try to fix build on windows


Try to fix failng tests on Mac
2020-08-03 19:05:30 +02:00
tamasmeszaros
184f64f828 Separate support tree routing and meshing, remove Common.hpp/.cpp .
* Remove Common.hpp and Common.cpp, move things into their respective modules in sla.
2020-08-03 19:05:30 +02:00
tamasmeszaros
2ff04e6f68 Bugfixes for support generator
* Fix support heads floating in air
* Fix failing tests for the bridge mesh intersection
* Fix failing assertions
WIP refactoring support tree gen, as its a mess.
2020-08-03 19:05:30 +02:00
tamasmeszaros
ed460a3e7e Remove the headless step of support support tree gen 2020-08-03 19:05:30 +02:00
tamasmeszaros
7b6565abeb Improvements on mini pillars 2020-08-03 19:05:30 +02:00
tamasmeszaros
67b61c23f7 Remove the discard region for bottom points removal.
This was a workaround for small supports not to end up in the middle of the gap between the pad and the object. The issue needs to be solved at the support generation.
2020-08-03 19:05:30 +02:00
tamasmeszaros
0622322146 Create smaller supports in problematic areas with established strategies
Completely remove the concept of CompactBridge.

Replace it with Heads having the same back radius as front radius. 

Try to apply the same rules for mini supports as in the route_to_model step.

Increased accuracy of bridge_mesh_intersect shot from support points


Refining mini support integration
2020-08-03 19:05:30 +02:00
tamasmeszaros
38239f09e3 Fix remove_bottom_points function 2020-08-03 19:03:02 +02:00
David Kocik
b3f8ae5ca7 Notifications & warning dialog
notifications
dialog with warnings produced by slicing is shown before exporting
2020-08-03 15:49:25 +02:00
enricoturri1966
0840b2328a Tech ENABLE_GCODE_VIEWER_AS_STATE set as default 2020-08-03 15:00:19 +02:00
enricoturri1966
0eb6ba96d6 Fixed conflicts after merge with master 2020-08-03 14:17:40 +02:00
enricoturri1966
5249b3e018 ENABLE_GCODE_VIEWER -> Estimated print time statistics moved from PrintStatistics to GCodeProcessor 2020-08-03 13:57:10 +02:00
enricoturri1966
757572b760 Tech ENABLE_LAYOUT_NO_RESTART set as default 2020-08-03 11:08:17 +02:00
enricoturri1966
1532920d81 GCodeProcessor -> Extended import of config data from gcode saved by PrusaSlicer 2020-08-03 08:46:32 +02:00
enricoturri1966
534e8bb909 ENABLE_GCODE_VIEWER -> Export to gcode layer z and layer height at each layer change 2020-07-30 13:49:57 +02:00
enricoturri1966
0348986bda Follow-up of 9d4344a78c -> ensure printbed always rendered as custom in gcode preview mode 2020-07-29 14:20:01 +02:00
enricoturri1966
9d4344a78c GCodeProcessor/GCodeViewer -> Extract bed shape from gcode files generated by PrusaSlicer 2020-07-29 12:47:42 +02:00
enricoturri1966
16e282110d GCodeProcessor -> Load config data from gcode files generated by PrusaSlicer 2020-07-29 11:13:48 +02:00
enricoturri1966
11cf9a87f1 GCodeProcessor -> Calculate mm3 per mm on the fly 2020-07-29 10:04:10 +02:00
YuSanka
3c3e463f50 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-07-28 14:14:16 +02:00
YuSanka
68ae95509f Improved InfoMsg for a delete preset:
* Now we show a list of printers name with selected preset

+ Added a edit_button for the editing of the physical printer fro the Settings Tab
+ Show whole list of the loaded presets with "Print host upload"
2020-07-28 12:43:26 +02:00
enricoturri1966
d9228ee82c GCodeProcessor -> Human readable extrusion roles in gcode 2020-07-28 09:48:55 +02:00
enricoturri1966
14366800e2 GCodeProcessor -> Added parsing of 3d part generated gcodes 2020-07-27 15:45:29 +02:00
enricoturri1966
48ae8dc9a2 Modal estimated printing time dialog
Fixed conflicts after merge with master
2020-07-27 14:53:17 +02:00
Lukas Matena
248fba82a4 TriangleSelector: 3MF loading and saving 2020-07-24 17:47:16 +02:00
Lukas Matena
7ddb64783b TriangleSelector: edge limit is derived from cursor size 2020-07-24 17:47:16 +02:00
Lukas Matena
74a1aeff8e TriangleSelector: bugfix - backend did not correctly account for mirrorring 2020-07-24 17:47:16 +02:00
Lukas Matena
5a1d9aee15 TriangleSelector: Fix of a macOS crash
Calling reset() from constructor relied on uninitialized variable
2020-07-24 17:47:16 +02:00
Lukas Matena
afb5d929c4 TriangleSelector: Schedule restarting background process after edit 2020-07-24 17:47:16 +02:00
Lukas Matena
3b91d11ddf TriangleSelector: backend is aware of divided triangles 2020-07-24 17:47:16 +02:00
Lukas Matena
0756a7e4b3 TriangleSelector: 'Select by angle' and 'reset selection' functions fixed 2020-07-24 17:47:16 +02:00
Lukas Matena
6baff45759 TriangleSelector: Separated frontend/backend, support of multiple volumes, etc. 2020-07-24 17:47:16 +02:00
Lukas Matena
953d1417a0 TriangleSelector: draft of interface 2020-07-24 17:47:16 +02:00
YuSanka
a4c12b90f1 PhysicalPrinterCollection: Use select_preset() instead of select_preset_by_name()
+ changed signature for select_preset()
2020-07-23 12:17:18 +02:00
YuSanka
631b15b7d3 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-07-22 15:53:31 +02:00
enricoturri1966
8e679d8b75 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-07-22 10:37:35 +02:00
enricoturri1966
8f90fe1609 Code cleanup and small refactoring 2020-07-22 10:37:25 +02:00
YuSanka
6d28d68e4a PhysicalPrinter : Implemented synchronizations from user printer profiles with "Print Host upload" information to the new physical printers 2020-07-22 09:24:12 +02:00
rongith
435355adfe Temporary ironing icon to avoid crashes on GTK
Ironing type and spacing can be set per-object
2020-07-22 09:11:48 +02:00
enricoturri1966
6bbc7c048f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-07-21 16:01:27 +02:00
bubnikv
f7ceffb46e Fixed back-end warning infrastructure: The Print / PrintObject
should have been derived from ObjectBase, not from ObjectID.
2020-07-21 15:33:36 +02:00
enricoturri1966
5aadfe3d1c Fixed conflicts after merge with master 2020-07-21 09:48:41 +02:00
YuSanka
f138978fe7 Merge remote-tracking branch 'origin/master' into ys_ph_printers 2020-07-21 09:47:29 +02:00
enricoturri1966
dc59e86d2c ENABLE_GCODE_VIEWER -> Partial refactoring in preparation for removal of old time estimator 2020-07-21 09:34:54 +02:00
enricoturri1966
b587289c14 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-07-21 09:09:09 +02:00
enricoturri1966
6e80065240 Added well-known metadata to 3mf export 2020-07-21 09:08:48 +02:00
Lukas Matena
d910f7934b Empty layer check fix
The test gave false positive in case there were supposed to be both object and support extrusions on the first layer
2020-07-21 08:43:23 +02:00
YuSanka
3d990a9189 First try to convert a user printer profiles to the physical printers 2020-07-20 16:27:39 +02:00
YuSanka
72ec414f1e PhysicalPrinters improvements:
- Added possibility to correct delete presets considering with the physical printers
- Smart switching to the printer preset if physical printer was selected
2020-07-20 14:56:09 +02:00
enricoturri1966
2de442b617 Pull request #4235 - Fix tick/untick ironing feature in preview by rongith 2020-07-20 13:31:39 +02:00
Paul Arden
e275197518 Add G10 temperature G-code support for the RepRapFirmware flavour. 2020-07-20 20:57:37 +10:00
enricoturri1966
51f0fd8912 GCodeViewer -> Added visualization of percentage in estimated printing time dialog 2020-07-20 09:45:49 +02:00
YuSanka
5eac36a310 Update for PresetComboBoxes
All "Printer-PresetName" pairs are like a separated items now

+ some code refactoring for PresetComboBoxes::update()
2020-07-17 14:32:38 +02:00
enricoturri1966
b03ae392c5 GCodeViewer -> Added estimated printing times for extrusion roles 2020-07-17 10:50:16 +02:00
enricoturri1966
5d845c7a25 Fixed conflicts after merge with master 2020-07-17 08:58:12 +02:00
enricoturri1966
f7164db68e GCodeViewer -> Added estimated printing times for move types 2020-07-17 08:27:23 +02:00
Lukas Matena
f326352ceb Empty layers check converted to a warning (except for the first layer) 2020-07-16 15:42:33 +02:00
enricoturri1966
602a9bc75f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_gcode_viewer 2020-07-16 11:09:46 +02:00
enricoturri1966
3a88e69896 ENABLE_GCODE_VIEWER -> Integration of time estimator into GCodeProcessor 2020-07-16 11:09:21 +02:00
bubnikv
ba0146746d Fix of previous commit. 2020-07-15 18:13:11 +02:00
bubnikv
f64da8e6cc Update of back-end warnings:
Back-end warnings contain two new members: "current" and "message_id".
A warning is set to "not current" if its milestone is invalidated.
2020-07-15 18:03:39 +02:00
YuSanka
c5197f3350 PhysicalPrinterDialog is completed 2020-07-14 15:34:08 +02:00
Vojtech Bubnik
746ece4c40 Support for collecting warnings from the background processing.
Multiple warnigns may be collected per Print / PrintObject milestone
and a status update is sent to the UI immediately after a warning
is issued.
2020-07-14 11:52:34 +02:00
enricoturri1966
f5215cac44 Attempt to fix crash on Mac when rotating an object while layer editing is active 2020-07-13 13:16:18 +02:00
enricoturri1966
73b885fc37 GCodeViewer -> Added imgui dialog for estimated printing times 2020-07-08 13:33:50 +02:00
YuSanka
0b88e86634 PhysicalPrinter improvements:
* implemented PresetForPrinter class
2020-06-30 14:12:47 +02:00
enricoturri1966
69de5c8c9f GCodeViewer -> Pass vertex normal to shaders for toolpaths 2020-06-29 14:00:08 +02:00
YuSanka
6d4a0d91fc Fixed typo in PresetComboBox.hpp and added missed include in libslic3r.h 2020-06-26 16:58:53 +02:00
YuSanka
d96b5f3606 PhysicalPrinter : Next improvements:
* Create full printer name as a PrinterName + RelatedPresetName
 * Added printer model to the PhysicalPrinter.config => Enable to select just between presets with same printer model
 * When physical printer is selected and create new preset ask if should we use this preset for selected ph_printer or just to switch for it
2020-06-26 10:00:03 +02:00
YuSanka
1a2926050f PhysicalPrinter. PhysicalPrinterDialog improvements 2020-06-25 12:58:59 +02:00
YuSanka
8ac839f427 Physical printers: Delete selected printer
+ Added context menu for the cog-button near the printer presets
2020-06-24 12:28:00 +02:00
YuSanka
02624689ce Physical Printers.
- save/load printers
 - consistency between selection on Tab and Plater
2020-06-24 08:50:01 +02:00
enricoturri1966
eb215fe994 ENABLE_GCODE_VIEWER_AS_STATE -> Removed tabs from gcode viewer state 2020-06-19 15:32:44 +02:00
enricoturri1966
5c7b0948bc Fixed conflict after merge with master 2020-06-19 11:49:59 +02:00
enricoturri1966
f6b5c64642 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_layout 2020-06-17 09:34:56 +02:00
YuSanka
19c4f32604 Preset and PresetBundle are moved to the _libslic3r_ folder 2020-06-16 17:03:06 +02:00
Vojtech Bubnik
81b809f2a1 Fixed broken compilation of Perl bindings. 2020-06-16 14:39:08 +02:00
Vojtech Bubnik
b101a8e266 Fixes of the offset curves from Voronoi diagram.
The offset curve extractor is already quite usable,
though singular cases are still not covered yet
when the offset curve intersects or nearly intersects
a Voronoi vertex.

Removal of the PRINTF_ZU "%zu" Visual Studio printf compatibility macro.
Fixes of a contours self intersection test for collinear segments.
SVG exporter now exports white background, so that the GNOME Eye viewer is usable.
2020-06-16 13:15:48 +02:00
enricoturri1966
3982d8b51e Fixed conflict after merge with master 2020-06-15 16:55:14 +02:00
enricoturri1966
dcf68aefd7 Enable built-in DPI changed event handler when building against wxWidgets 3.1.3 2020-06-15 16:20:34 +02:00
enricoturri1966
ab60499298 Fixed conflicts after merge with master 2020-06-12 10:35:18 +02:00
enricoturri1966
aa14b42638 GCodeProcessor -> Added processing of gcode lines G0 2020-06-12 09:01:20 +02:00
enricoturri1966
42a8a4aa77 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_layout 2020-06-12 07:32:06 +02:00
Vojtech Bubnik
1c95ceaeaa Reworked algorithm for Voronoi Offset curve extraction.
Now the algorithm is very different from the OpenVoronoi implementation
and hopefully it is now correct (save numerical issues, which will be
a big PITA).
2020-06-11 16:11:02 +02:00
enricoturri1966
8c998e5f08 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_layout 2020-06-11 14:04:08 +02:00
enricoturri1966
920d9677da Added new tech ENABLE_LAYOUT_NO_RESTART -> Enable changing application layout without the need to restart it 2020-06-11 14:02:59 +02:00
tamasmeszaros
f53289ae2d Fix support and hole point reprojection after reload and netfabb 2020-06-10 14:16:11 +02:00
YuSanka
f74b1c6547 Added uncommitted changes 2020-06-08 12:36:42 +02:00
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