Commit Graph

2486 Commits

Author SHA1 Message Date
Vojtech Bubnik
54976e29bb New class ModelConfig wrapping DynamicPrintConfig and a timestamp
to help with detecting "not changed" event when taking
Undo/Redo snapshot or synchronizing with the back-end.

Converted layer height profile and supports / seam painted areas
to the same timestamp controlled structure.
2020-09-24 15:34:13 +02:00
Vojtech Bubnik
0d6eb842b0 Merge branch 'vb_undoredo_timestamp' 2020-09-23 13:00:01 +02:00
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
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