Commit Graph

3007 Commits

Author SHA1 Message Date
Vojtech Bubnik
c7aee35552 Merge of Fix proposal for crash on rectilinear #5399 2020-12-08 08:45:16 +01:00
Richard Hartmann
1874c42bb9
PrintConfig.cpp: Fix grammar mistake 2020-12-07 22:04:57 +01:00
Vojtech Bubnik
3e22b39a42 Improved error handling when loading invalid preset bundle. Improves
Import Configuration bundle can fail if profile names have spaces at the end #5291
2020-12-07 21:10:20 +01:00
Vojtech Bubnik
c7586e5713 Fix of Command line slicing bad gcode #5029
SL1 file was exported with a .gcode suffix if the user did not provide
output file name for SLA command line slicing.
2020-12-07 18:39:33 +01:00
Vojtech Bubnik
333577b905 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-07 17:09:11 +01:00
Vojtech Bubnik
780418435a Fix of Custom profiles prevent the slicer from starting up #4996
Creative user made a profile inherit from itself.
2020-12-07 17:09:02 +01:00
YuSanka
569200eb99 Added "G-code thumbnails" parameter to the Printer Settings tab 2020-12-07 16:42:20 +01:00
Vojtech Bubnik
b909ce7a3d Fix of [BUG]Environment variables not all exported while calling Post-Processing Scripts #4901 2020-12-07 14:59:36 +01:00
enricoturri1966
f77475e501 Tech ENABLE_SHOW_WIPE_MOVES set as default 2020-12-07 10:29:50 +01:00
enricoturri1966
17f00562de Tech ENABLE_SHOW_OPTION_POINT_LAYERS set as default 2020-12-07 09:34:31 +01:00
Vojtech Bubnik
9b05513ea9 Fix of rework of loading configs from 3MFs, AMFs, gcodes
as modifications of existing user or system presets.
2020-12-05 08:14:04 +01:00
Lukas Matena
997ee971b4 Bugfix: custom seam identification
Bounding boxes of polygons could overlap. Ask the AABB tree for all possible candidates.
Might be faster than searching for the closest triangle, that requires traversing the whole depth of the tree every time.
2020-12-05 02:02:22 +01:00
Lukas Matena
985a4a8bf3 Bugfix: custom seam did not work on first layer with elephant foot compensation active 2020-12-05 00:02:43 +01:00
Lukas Matena
98434eb77b Bugfix: seam enforcers not always respected (#5137, #5294) 2020-12-05 00:02:43 +01:00
enricoturri1966
6c8b0276e6 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-12-04 15:36:41 +01:00
enricoturri1966
1445c0ad3a Enabled tech ENABLE_RENDER_STATISTICS 2020-12-04 15:36:30 +01:00
Vojtech Bubnik
9c959d14e0 Limiting the resolution of G-code export for retract/deretract feedrate
to three digits.
Fixes excessive precision in gcode? #5362
2020-12-04 13:37:36 +01:00
enricoturri1966
7a54c4fdfe Fixed conflits after merge with master 2020-12-04 12:33:44 +01:00
enricoturri1966
26982b16c7 #5080 - Reworked logic for automatic selection of current view type in preview 2020-12-04 12:31:50 +01:00
Vojtech Bubnik
0688778a24 Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-12-04 11:53:29 +01:00
Vojtech Bubnik
e1fc0b17a2 Ramp up layer cooling fan over X layers #848
Fan speed will be ramped up linearly from zero at layer disable_fan_first_layers
to maximum at layer full_fan_speed_layer. full_fan_speed_layer will be
ignored if lower than disable_fan_first_layers, in which case
the fan will be running at maximum allowed speed at layer
disable_fan_first_layers + 1.;

WIP: The cooling PresetHints are likely not finalized yet.
2020-12-04 11:53:02 +01:00
Vojtech Bubnik
e42e25c933 1) Storing the physical_printer_settings_id into the 3MF, AMF, GCode.
2) Activating the physical_printer_settings_id when loading from 3MF, AMF, GCode.
   The physical printer is only activated if it references the printer_settings_id
   loaded from the same file.
3) When loading the presets from 3MF, AMF, GCode, the "external" profiles
   are no more created for profiles which differ from the local profiles
   the loaded profiles reference. Instead, the referenced profile is activated
   and modified with the loaded preset. If the referenced profile does not
   exist, but the profile refers to a system profile with the "inherits"
   fileds, the system profile is loaded and modified instead.
   This works for all profiles with the exception of multi-extruder
   printer with multiple filament profiles modified. In that case
   the first modified filament profile will be loaded as modified,
   while the other modified profiles will be loaded as "external".

This should fix
Physical printer + 3mf file, wrong preset used to generate gcode #5178
and possibly
https://github.com/prusa3d/PrusaSlicer/issues/5272
2020-12-04 10:48:51 +01:00
enricoturri1966
cc0688678c Fixed conflicts after merge with master 2020-12-03 15:27:34 +01:00
enricoturri1966
bcb2a4884b NotificationManager -> Separate notification update from its render to reduce the amount of scene refresh 2020-12-03 15:12:32 +01:00
tamasmeszaros
310de2f2ef Fix crash when splitting objects
fixes partially #2209
2020-12-03 14:58:56 +01:00
tamasmeszaros
91b1d469eb Fix arrange with malformed contours 2020-12-03 14:58:09 +01:00
tamasmeszaros
624494eab6 Merge branch 'tm_arrange_bugfixes' 2020-12-03 14:09:55 +01:00
Vojtech Bubnik
3dd9b8c718 Further improvement error reporting with buggy custom G-code sections #1516
1) The macro-processor sanitizes the source code line for invalid UTF-8
   characters. Ideally these invalid characters would be replaced with ?,
   they are just dropped as of now. Better than showing an empty string
   when converting to wxString though.
2) G-code export collects full error message for 1st occurence of an error
   for each custom G-code block.
3) The composite error message now displays the errors collected in 2).
4) The error window is now scaled bigger and the Slicer logo is smaller
   if the text is to be rendered with monospaced font, as the monospaced
   text will not be word wrapped.
2020-12-03 12:50:24 +01:00
tamasmeszaros
844ea89432 Fix out of bed items after arrange.
Disabled outline decimation for arrange and added very small (EPSILON) safety offset to bed detection boundaries.
2020-12-03 12:00:12 +01:00
Vojtech Bubnik
306acbdfb4 Improvement of Improve error reporting with buggy custom G-code sections #1516
Errors in the file output templates are reported in mono-spaced font,
so that the arrow character ^ is displayed at the right column
pointing to the offending spot.
2020-12-03 11:03:16 +01:00
Lukáš Hejl
98055de28c External paths avoid crossing perimeters of holes 2020-12-03 09:43:21 +01:00
Vojtech Bubnik
0a33aedc3a Documentation of OctoPrint behind HAProxy with basic auth enabled
in the print_host tooltip.
Improves Feature request: support for basic auth for octoprint #650
2020-12-03 08:22:55 +01:00
tamasmeszaros
869ae0247e Use smarter object function in partial arrangement with empty bed. 2020-12-02 17:53:22 +01:00
tamasmeszaros
2813db8906 Fix for bed filling with some existing items out of bed. 2020-12-02 17:52:40 +01:00
YuSanka
9d34d350a5 Localization: Update POT
+ Fixed translation for the "Extruder n" category on the Printer Settings Tab
 + Fixed a crash, when scrolling inside Search imGui with some localization (e.t. Russion)
2020-12-01 16:44:53 +01:00
Lukáš Hejl
f25e5c0ec6 Merge remote-tracking branch 'origin/master' into lh_avoid_crossing_perimeters 2020-12-01 14:31:22 +01:00
Lukáš Hejl
f0616b0736 Fixed return value of liang_barsky_line_clipping 2020-12-01 14:28:27 +01:00
David Kocik
994b69f19b cleanup 2020-12-01 12:06:10 +01:00
David Kocik
247f3a7dbe Set boost to use utf8 for system messages (in cmake). Fix of #5180. 2020-12-01 12:06:10 +01:00
enricoturri1966
dc736f7855 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-12-01 08:33:20 +01:00
enricoturri1966
6ae1a10614 #5333 - Reworked navigation of preview's sliders using the keyboard 2020-12-01 08:33:06 +01:00
Vojtech Bubnik
e62bb4a7c7 Fix of Head crash on completion with sequential printing #5349
In addition to an existing "layer_z" placeholder variable,
a new "max_layer_z" has been added to custom G-code sections accumulating
maximum of "layer_z" over the print. This value may be used for example
in the end G-code of a sequential print to lift the print head
up before travel over the whole print bed.
2020-12-01 08:23:46 +01:00
Vojtech Bubnik
518cbfa192 Renamed API key / user/password auth choices for SL1 2020-11-30 08:49:09 +01:00
Lukáš Hejl
f917b83706 Fixed compiler warnings 2020-11-29 17:29:11 +01:00
Lukáš Hejl
87879034f6 Merge remote-tracking branch 'origin/master' into lh_avoid_crossing_perimeters
# Conflicts:
#	src/libslic3r/MotionPlanner.cpp
#	src/libslic3r/libslic3r.h
2020-11-29 17:27:23 +01:00
Lukáš Hejl
dd97eaa812 Fixed case when lslices in Layer is empty 2020-11-29 17:26:02 +01:00
Lukáš Hejl
f16e8f1a72 Fixed uninitialized variable in ElephantFootCompensation 2020-11-29 14:00:34 +01:00
Lukáš Hejl
55c282d85d Revamp of implementation of the avoid crossing perimeters algorithm.
The strategy for the avoid crossing perimeters algorithm has been redesigned. But external travels (travel between objects or supports) have not been solved yet. For these travels is used a direct path between two points.
Much of the code has been reworked, which leads to significant speedup compared to the previous implementation.
Also, several potential bugs have been fixed.
2020-11-29 13:58:36 +01:00
Lukas Matena
ca09bf0805 Fix random seam for single contour islands (#5003) and for external_perimeters_first 2020-11-27 11:33:25 +01:00
Lukas Matena
f485f66b2a Seam - fix indexing of layers (#5112, #5014) 2020-11-27 10:09:20 +01:00
Lukas Matena
22f93a34a8 Fix horrible complexity of custom seam lookup (#5067)
- polygons are offset individually
- custom areas are kept separately for each PrintObject
- AABB tree is used to get logN lookup complexity
2020-11-27 10:09:20 +01:00
David Kocik
cbe0b4f0f1 Change log level of boost::filesystem::permisions error code message. Now it shouldnt bother like in #5254 2020-11-26 17:15:26 +01:00
enricoturri1966
00a67ba004 GCode Viewer -> Parse gcode produced by KISSSlicer 2020-11-26 16:07:07 +01:00
tamasmeszaros
dfbf4cbab2 Fix bed filling with more existing instances than needed 2020-11-26 15:11:54 +01:00
enricoturri1966
10fb75edf0 Enabled tech ENABLE_CTRL_M_ON_WINDOWS -> Added customizable support for legacy CTRL+M settings dialog on Windows in preference dialog 2020-11-26 11:00:24 +01:00
Vojtech Bubnik
2314a9e8c7 Fixing compilation issues on conforming compilers 2020-11-26 10:54:18 +01:00
enricoturri1966
67aaf0b78e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-11-26 10:09:53 +01:00
enricoturri1966
e2b4de455b Customizable association of .3mf, .stl and .gcode files on Windows 2020-11-26 10:09:34 +01:00
Vojtech Bubnik
aa6ddfec85 Added functions to export raw image data to PNG for debugging purposes.
Renamed PNGRead.cpp/hpp to PNGReadWrite.cpp,hpp
EdgeGrid: Resurrected debugging output to PNG.
2020-11-26 09:01:44 +01:00
enricoturri1966
7da1622e76 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-11-26 08:43:22 +01:00
enricoturri1966
4d483f323f GCode Viewer -> Show extimated layer time on the vertical slider for gcode produced by PrusaSlicer 2.3.0, Cura, Simplify3D, CraftWare, ideaMaker 2020-11-26 08:43:04 +01:00
Vojtech Bubnik
3e54c0b775 Gyroid infill: Lowered the threshold to drop infill line segments. 2020-11-25 14:56:11 +01:00
Vojtech Bubnik
e5b3af0e53 Fix of Monotonic infill leaves gaps in top infill where rectilinear does not #5259
and Chyba nebo vlastnost výplně Monotonic? #5225
2020-11-25 14:56:11 +01:00
enricoturri1966
f0aa4de20a Fixed conflicts after merge with master 2020-11-25 12:42:26 +01:00
enricoturri1966
df40f6ba11 ENABLE_GCODE_VIEWER set as default 2020-11-25 10:31:58 +01:00
tamasmeszaros
0bfbe18a3c Merge branch 'tm_arrange_perf_improve' 2020-11-24 16:20:17 +01:00
Vojtech Bubnik
62bdc192d8 Fix of [2.3.0-alpha4] Crash - several models cause crash when slicing #5208
Fixed some issues in internal anchors of the Adaptive Cubic infill.
The ugly and dangerous implicit casting operators in Line, MultiPoint,
Polyline and Polygon were made explicit.
2020-11-24 16:01:08 +01:00
tamasmeszaros
aa64902cf9 Increase arrange accuracy due to errors with large number of objects 2020-11-24 14:42:15 +01:00
tamasmeszaros
30693e29e4 Stop bed filling if enough instances are generated 2020-11-24 14:41:36 +01:00
enricoturri1966
9d71597e05 Fixed conflicts after merge with master 2020-11-24 13:37:52 +01:00
enricoturri1966
44fe3b8a00 Tech ENABLE_DRAG_AND_DROP_FIX -> Apply dialog implemented with 808c43cb4b also to drag and drop of project files into application executable 2020-11-24 13:35:43 +01:00
enricoturri1966
92953acc57 #5236 - Fixed color not correctly shown after slice
The bug was introduced with 148f4fe766 which is now replaced by this commit
2020-11-23 17:15:22 +01:00
enricoturri1966
f68cf49f3d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_wipe_moves 2020-11-23 10:11:04 +01:00
Vojtech Bubnik
3a75b0da7f Update of the perimeter_acceleration tooltip 2020-11-23 09:13:58 +01:00
Paul Arden
003ccf388d Add a new macro function random(min,max) which will return a random number in the range specified by the parameters. The type of parameters defines the type of the output, if the inputs are doubles then result will be a double and if the inputs are int the output will be in. Uses C++11 random functionality, compiler compatibility on Linux should be checked. Fixes #4001. 2020-11-22 18:22:48 +11:00
Vojtech Bubnik
f0606c2a76 Merge of https://github.com/prusa3d/PrusaSlicer/pull/2856
Add aligned rectilinear infill functionality by @m-schubert
Implements [Feature Request] Aligned rectilinear infill #1938
2020-11-21 14:10:17 +01:00
Vojtech Bubnik
25ca1fcf77 Some minor refactoring / polishing. 2020-11-21 13:16:03 +01:00
enricoturri1966
0e6acbc0e2 Preview - Visualization of wipe mones 2020-11-21 10:36:10 +01:00
Vojtech Bubnik
56c37d5c38 Make monotonic infill default for bottom layers as well #4963 2020-11-20 18:58:54 +01:00
Vojtech Bubnik
54a5c1da1e Fixed crash in reworked infill anchoring due to numeric issues.
Added some more asserts to EdgeGrid.
2020-11-20 18:47:06 +01:00
Lukáš Hejl
f394d26f83 Added missing includes to fix build on gcc 9 2020-11-20 15:19:49 +01:00
YuSanka
5330b34d0a Added "Filament -> Spool weight" parameter 2020-11-20 14:31:11 +01:00
Lukáš Hejl
606db666fc Fix missing include 2020-11-20 14:22:24 +01:00
Vojtech Bubnik
d5e6b17d70 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2020-11-20 13:40:40 +01:00
Vojtech Bubnik
8d1e13fccd Anchoring of sparse infills can now be disabled. 2020-11-20 13:36:58 +01:00
tamasmeszaros
20995c7b7a Merge branch 'tm_fill_with_instances' 2020-11-20 13:05:05 +01:00
Vojtech Bubnik
060f1d48c1 Little more refactoring. 2020-11-20 11:56:40 +01:00
Enrico Turri
148f4fe766 GCode Viewer - Fixed crash when switching to tool view with gcode generated by slicers other than PrusaSlicer 2020-11-20 11:50:25 +01:00
tamasmeszaros
adf81af6de Prototype feature: fill plater with instances of selected object
#fixes #1350
2020-11-20 09:58:52 +01:00
tamasmeszaros
e17e6b4d0e Add minimum bounding box rotation as starting point 2020-11-20 09:57:52 +01:00
tamasmeszaros
d5bdaceff2 Right mouse reaction to arrange button
Working arrange settings popup
2020-11-20 09:57:52 +01:00
tamasmeszaros
096d0c9860 Fix arrange objectfunction to avoid last object in awkward positions.
fixes #3900
2020-11-20 09:46:15 +01:00
YuSanka
5144feb319 Estimated printing time per layer for SLAPrint
Split the time if it's needed
2020-11-19 21:41:51 +01:00
David Kocik
5f97b2512b Merge remote-tracking branch 'aegean-odyssey/ao_profile_resources_patch' into master 2020-11-19 19:02:32 +01:00
YuSanka
03b336145f Updated UI for the "infill_anchor" parameter 2020-11-18 17:00:08 +01:00
YuSanka
feffb66085 Ruler for DoubleSlider: Added estimated print time 2020-11-18 05:02:51 -08:00
Vojtech Bubnik
f206b743fd Avoid crossing perimeters: Further refactoring for clarity, code review. 2020-11-17 15:34:50 +01:00
Vojtech Bubnik
62ab17bf6e AvoidCrossingPerimeters: Refactored for better encapsulation. 2020-11-17 10:42:27 +01:00
Vojtech Bubnik
04c2fde671 Removed the old motion planner. 2020-11-17 09:33:30 +01:00
enricoturri1966
afddcf71db Preview - Paint in grey toolpaths belonging to layers containing pause prints or custom gcodes 2020-11-16 15:01:13 +01:00
Lukáš Hejl
49ce613be7 Enable previous heuristics which was disabled by mistake 2020-11-16 14:37:42 +01:00
Lukáš Hejl
c702b3b71d Add heuristics for removing unnecessary detours 2020-11-16 14:22:32 +01:00
Lukáš Hejl
9936b8e34e Add missing includes 2020-11-16 14:22:32 +01:00
Lukáš Hejl
3db66af716 Fix another compiler warning 2020-11-16 14:22:32 +01:00
Lukáš Hejl
266e6dee5d Fix compiler warnings 2020-11-16 14:22:32 +01:00
Lukáš Hejl
c00c7eaed3 Rework of outer borders to reduce unnecessary detours along the border.
The resulting path now contains all intersection with borders, which allows eliminating more unnecessary detours and more simplify the path.
2020-11-16 14:22:32 +01:00
Lukáš Hejl
ef9de07740 Disabling wipe for avoid crossing perimeters 2020-11-16 14:22:32 +01:00
Lukáš Hejl
7f94e9fa59 Fixed perimeters crossing when supports are printed. 2020-11-16 14:22:32 +01:00
Lukáš Hejl
2afeea5b6f Fixed division by zero when the layer is empty 2020-11-16 14:22:32 +01:00
Lukáš Hejl
3e98e2a4bd Fixed avoiding of other printed objects, again
Calling std::move on itself causes that the first polygon is empty, which results in disabling this feature on Linux.
This was fixed before, but I accidentally reverted it when AvoidCrossingPerimeters was moved to separate file.
2020-11-16 14:22:32 +01:00
Lukáš Hejl
8adf02a289 Moved AvoidCrossingPerimeters to separate file 2020-11-16 14:22:32 +01:00
Lukáš Hejl
4288be0e06 Fixed a case when the intersection is one of the endpoints of the line 2020-11-16 14:22:32 +01:00
Lukáš Hejl
c828a5d6e9 Added the possibility to set the maximum length of the detour 2020-11-16 14:22:32 +01:00
Lukáš Hejl
c16aad7e0b Reworked the algorithm for avoid crossing perimeters for multiple objects 2020-11-16 14:21:36 +01:00
Lukáš Hejl
69658a57d8 Fixed crossing perimeters in some cases 2020-11-16 14:21:36 +01:00
Lukáš Hejl
556c212f9d Fixed crossing perimeters when option "Wipe while retracting" is enabled 2020-11-16 14:21:36 +01:00
Lukáš Hejl
39e3358af5 Avoid crossing perimeters bugfix 2020-11-16 14:21:36 +01:00
Lukáš Hejl
a4fc435f75 Clear generated boundaries from previous layer 2020-11-16 14:21:36 +01:00
Lukáš Hejl
5c073d0ddb Improved documentation of avoid crossing perimeters algorithm. 2020-11-16 14:21:36 +01:00
Lukáš Hejl
46bae74e48 Finalization of avoid crossing perimeters algorithm
EdgeGrid::Grid is used to find the intersection of a path with a polygon.
Simplification of find path.
Calculation of boundaries that not be crossed.
2020-11-16 14:21:36 +01:00
Lukáš Hejl
074406647a Fixed bug when algorithm stuck in a loop 2020-11-16 14:21:36 +01:00
Lukáš Hejl
6573bc15a5 Selection of shortest path around polygon boundary 2020-11-16 14:21:36 +01:00
Lukáš Hejl
7a4ba7d131 A simple algorithm to follow the boundary of polygons 2020-11-16 14:21:36 +01:00
Vojtech Bubnik
620f94331c fix of OSX build: workaround of non-standard std::optional 2020-11-16 13:44:15 +01:00
Vojtech Bubnik
a864d584a6 Fillers: Renamed Rectilinear2 to Rectilinear. 2020-11-16 13:24:57 +01:00
Vojtech Bubnik
2249e5d4b2 Renamed FillRectilinear.cpp,h to FillLine.cpp,h 2020-11-16 13:17:18 +01:00
Vojtech Bubnik
db05f00860 Fixing compilation issues. 2020-11-16 13:11:58 +01:00
Vojtech Bubnik
812cbade4d Fills:
1) New algorithm for connecting along the perimeters is now applied
   to Honeycomb, Hilbert and similar planar filling curves.
2) The old expensive path chaining is not applied if the new algorithm
   to connect along the perimeter lines is called afterwards.
2020-11-16 12:51:51 +01:00
Vojtech Bubnik
e9fa36ea7d Fillers: Removal of old FillRectilinear, using of "override" instead
of "virtual" where applicable.
2020-11-16 11:16:44 +01:00
Vojtech Bubnik
e77fc43159 Merge remote-tracking branch 'remotes/origin/master' into lh_adaptive_infill_hooks 2020-11-16 10:54:19 +01:00
Vojtech Bubnik
4280fdb5f2 Reworked connection of infill lines to perimeter lines.
Added a new "infill_anchor" parameter.
2020-11-16 10:54:00 +01:00
enricoturri1966
e04c6a4d17 Fixed screen-size for point markers used to visualize retraction/unretractions and other options in preview 2020-11-16 10:29:54 +01:00
Vojtech Bubnik
84693a5810 New get_extents(const std::vector<Points> &pts),
refactored Lian Barsky line clipping
2020-11-16 10:20:47 +01:00
Vojtech Bubnik
32362cff0b SVG export: Implemented flipping in Y axis. Now flipped by default
to match the 3D print paths view when looking at the print from the top.
2020-11-16 10:18:51 +01:00
enricoturri1966
808c43cb4b Added dialog to choose import action when dragging and dropping a project file 2020-11-16 08:39:25 +01:00
enricoturri1966
0688a76c73 Code cleanup 2020-11-13 11:50:52 +01:00
enricoturri1966
e78e3ad80b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential 2020-11-13 10:46:41 +01:00
YuSanka
d962d431c0 Localization:
* added missed phrases
* fixed some phrases
* updated POT-file and PO/MO-files for the CZ-translation
2020-11-12 21:35:39 +01:00
enricoturri1966
f1d10f3c90 ENABLE_GCODE_VIEWER set as default in libslic3r 2020-11-12 14:03:58 +01:00
Vojtech Bubnik
4d102ac8ca FillAdaptive:
1) More accurate trimming of an anchor with another infill line
   or by another anchor line.
2) Trimming of very short infill lines, which are not anchored,
   by another infill lines.
2020-11-11 16:49:11 +01:00
enricoturri1966
80e8b5e985 Removed the legacy PreviewData.cpp,hpp 2020-11-11 16:38:51 +01:00
enricoturri1966
4ad42d6171 WIP - Sequential print visualization using vertical slider in preview (missing travel moves) 2020-11-11 16:22:09 +01:00
David Kocik
0a4ce079e8 escape_ampersand function and changed order of printer names and pictures in config wizard 2020-11-11 16:08:27 +01:00
enricoturri1966
4f85a42830 Follow-up of bb74d2da5b and 7b2aca0159 -> Removed inclusions of GCode/Analyzer.hpp and GCodeTimeEstimator.hpp 2020-11-11 15:41:48 +01:00
Vojtech Bubnik
26836db629 FillAdaptive: Handling of a special case when the infill lines
touch at their ends.
2020-11-11 11:51:26 +01:00
Vojtech Bubnik
decda76344 AdaptiveInfill:
1) Shortening the anchor lines when touching another infill line
   to avoid over extrusion.
2) Reduction of the Intersection structure complexity by referencing
   the source lines.
2020-11-10 15:54:32 +01:00
Vojtech Bubnik
89df9c1038 Improvement of AdaptiveFill:
1) Merging of collinear infill lines separated by a thin gap created
   by trimming with the boundary polygon.
2) Sorting of the T-joints separately to the left / right of the common
   line.
3) Trimming self intersections of the anchor lines.
4) Dropping of very short segments, not anchoring short segments.
2020-11-10 13:56:12 +01:00
enricoturri1966
bf12c7cb8c GCode Viewer - Fixed color print visualization for gcode containing multiple extruders 2020-11-09 13:06:20 +01:00
enricoturri1966
479d4b70f2 GCode Viewer - Show print/printer/filament settings names in legend 2020-11-09 08:41:14 +01:00
Vojtech Bubnik
517477f0dd Fix of the previous Adaptive Cubic infill refactoring
plus couple of fixes of the old logic.
2020-11-06 16:24:15 +01:00
enricoturri1966
8f31f404a3 Disabled tech ENABLE_CTRL_M_ON_WINDOWS 2020-11-06 11:55:57 +01:00
enricoturri1966
277376ee09 Enabled tech ENABLE_CTRL_M_ON_WINDOWS to produce an experimental build 2020-11-06 11:42:54 +01:00
enricoturri1966
41ef6cf15c Disabled tech ENABLE_CTRL_M_ON_WINDOWS 2020-11-06 11:09:47 +01:00
enricoturri1966
411159b5e7 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-11-06 11:03:56 +01:00
enricoturri1966
944e760722 #4892 - Follow-up of 30481e1ea8 -> Fixed behavior of imgui dialog for settings of 3DConnexion devices (CTRL+M) on Windows 2020-11-06 11:03:41 +01:00
Vojtech Bubnik
139b58a6f2 Adaptive Cubic infill with anchors: Trimming anchors with not only
with a neighbor T-joint line, but also with other crossing lines.
2020-11-06 08:56:53 +01:00
YuSanka
ed2f03ec79 Localization:
Some phrases are corrected in the code
The POT-file is updated
2020-11-05 22:17:49 +01:00
Vojtech Bubnik
239d588c5d 1) Implemented anchoring of infill lines to perimeters with length
limited anchors, while before a full perimeter segment was always
   taken if possible.
2) Adapted the line infills (grid, stars, triangles, cubic) to 1).
   This also solves a long standing issue of these infills producing
   anchors for each sweep direction independently, thus possibly
   overlapping and overextruding, which was quite detrimental
   in narrow areas.
3) Refactored cubic adaptive infill anchroing algorithm
   for performance and clarity.
2020-11-05 17:32:40 +01:00
enricoturri1966
8491872fb7 #5079 - Fixed GCode Viewer changing files modified date on Windows 2020-11-05 14:02:43 +01:00
enricoturri1966
747fcb1d07 Follow-up of d2e5be89e3 -> Fixed processing of color print, pause print and custom gcode tags 2020-11-04 13:33:27 +01:00
David Kocik
3ca3a544a8 New Export Finished notification showing path and opening containing folder. Fix of #4917. Fixed wrongly grayed eject button in File menu. Hopefully fix of ctrl shortcut of tooltips at sidebar. 2020-11-04 09:29:08 +01:00
Vojtech Bubnik
414fdaefc5 Merge remote-tracking branch 'remotes/origin/master' into lh_adaptive_infill_hooks 2020-11-03 15:07:38 +01:00
enricoturri1966
8af25f7771 Fixed post-processing of placeholders in gcode when not exporting remaining times 2020-11-03 12:26:48 +01:00
enricoturri1966
eff95bcdb2 Disabled tech ENABLE_CTRL_M_ON_WINDOWS 2020-11-03 09:07:23 +01:00
enricoturri1966
30481e1ea8 Tech ENABLE_CTRL_M_ON_WINDOWS [Experimental] to re-enable imgui dialog for settings of 3DConnexion devices (CTRL+M) on Windows 2020-11-03 08:41:04 +01:00
enricoturri1966
9dbc0c6ba2 #4395, #4701, #1336 - Added the ability to invert the scroll wheel when zooming 2020-11-02 13:08:13 +01:00
Vojtech Bubnik
9e545eba13 Fixed quadratic complexity of the time estimator post processor
with a constant complexity (amortized) code.
2020-10-30 09:13:04 +01:00
Vojtech Bubnik
5ccd9d9d9a Fixed previous commit for Linux/OSX 2020-10-29 13:16:32 +01:00
Vojtech Bubnik
2fd7c20a86 Workaround for missing or partially implemented std::from_chars() 2020-10-29 11:37:45 +01:00
Vojtech Bubnik
50b603df5d Optimized for reduced memory allocation and clarity. 2020-10-29 11:37:28 +01:00
Vojtech Bubnik
d2e5be89e3 Fix of Slicer image not good #4992
Tighter parsing of PrusaSlicer's own G-code annotations
to avoid clashes with comments inside user G-codes.

Also the GCodeReader was extended to return string_views instead
of copying a substring, and the GCodeProcessor was partially adapted
to string_views.
2020-10-29 10:51:51 +01:00
Vojtech Bubnik
bb74d2da5b Removed the dead code GCode/Analyzer.cpp,hpp to simplify code navigation. 2020-10-28 17:26:08 +01:00
Vojtech Bubnik
7b2aca0159 Removed the legacy GCodeTimeEstimator.cpp,hpp
It was difficult to navigate through the live code with the dead code
still available for full search.
2020-10-28 17:19:43 +01:00
Vojtech Bubnik
502aa42ac0 Removed FillRectilinear3, it was a dead end. 2020-10-28 13:33:22 +01:00
Vojtech Bubnik
afaa7a4cc2 Manual merge of Increased filament stats precision in generated gcode file #780 2020-10-28 10:46:59 +01:00
Vojtech Bubnik
7c571c1d9d Merge of pull request Add support for RepetierServer #4384 by @docbobo
with the following refactorings:

1) Removed the "printhost_slug" config from the Printer config
   and from all the Printer config related spots.
2) "printhost_slug" renamed to "printhost_port". Slug sounds nasty.
3) Improved error reporting of RepetierHost class.
4) Refactored for the new "Physical Printers"

Following refactorings were done independently of the Repetier pull request:
1) Removed PrintHost static print config.
2) Clean-up after conversion of print host configuration
   from Printer config to Physical Printer config.
3) Fixed some issues, where the Printer config was still queried for
   host configuration. Vojtech believes that this should not happen
   after the host configuration is converted to physical printers.

Vojtech still feels that more refactoring is needed in regard to porting
the host configuration from Printer profile to the new Physical Printer
profile.
2020-10-28 09:51:05 +01:00
enricoturri1966
0798fa8185 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-10-27 17:21:41 +01:00
enricoturri1966
128e4cff2d #4982 - Load config data when importing gcode produced by Slic3r and Slic3rPE 2020-10-27 17:18:15 +01:00
enricoturri1966
90c69e6bda #4986 - Fixed remaining print time and SD-percentage calculation not correct (replaces e14c122d12) 2020-10-27 15:50:04 +01:00
Vojtech Bubnik
06c16b085d Snapshots extended to capture and restore sla_print, sla_material,
physical_printers.
Updated the snapshots dialog to display sla_print and sla_material.
Updated the snapshots dialog to display physical_printer instead of
printer if the physical_printer key is nonempty.
The "physical_printer" key was moved from [extras] to [presets] section
of PrusaSlicer.ini
2020-10-27 12:48:31 +01:00
Vojtech Bubnik
751ae8e789 Fixed crash in monotonous infill due to some unexpected pinching
of the inner contour at a single vertical infill line without
pinching the outer contour.
2020-10-27 09:38:51 +01:00
tamasmeszaros
969ca98b52 Revert "Require minimum version 5.0 of CGAL"
This reverts commit f3327adf49.
2020-10-26 14:41:23 +01:00
tamasmeszaros
f3327adf49 Require minimum version 5.0 of CGAL 2020-10-26 14:30:44 +01:00
enricoturri1966
e14c122d12 Fixed percentage value exported into gcode M73 lines 2020-10-26 11:44:38 +01:00
Vojtech Bubnik
ce020781d3 Refactored loading of Get/SetThreadDescription() on Windows:
These new API functions are not available on Windows 7 and on older Windows 10,
thus they are newly loaded dynamically and the functions using it retur
a bool indicating whether the functionality is supported or not.
Also the OSX variants that are not supported newly return false instead
of throwing an exception.

Fixes #4972 #4974
2020-10-26 08:09:17 +01:00
Vojtech Bubnik
e1f6bb4a92 Follow up on Add G10 temperature G-code support for the RepRapFirmware flavour.
Reduced copy / paste.
2020-10-24 17:32:30 +02:00
David Kocik
64f6499db5 Fix of empty error string. No testing errors for boost::filesystem::permission. 2020-10-23 18:35:32 +02:00
David Kocik
8b647ab41b fix of copy_file_inner 2020-10-23 15:36:32 +02:00
Lukas Matena
8cd13803ca Updated the G10 RepRapFirmware pull request to current master 2020-10-23 13:27:45 +02:00
Lukas Matena
18f72d82b9 Merge branch 'pa_reprap_g10_temperature_support' of https://github.com/ardenpm/PrusaSlicer into lm_g10 2020-10-23 11:42:35 +02:00
David Kocik
cb2f751aed missing header 2020-10-23 11:19:31 +02:00
David Kocik
115cbd4650 aditional information to FAIL_COPY_FILE error message and changed bools controlling Export finished notification 2020-10-23 10:18:14 +02:00
Lukas Matena
5670f5ffb0 Fix couple of build issues on gcc 2020-10-23 07:51:58 +02:00
Vojtech Bubnik
9a4376ddc6 Fix of previous commit 2020-10-22 17:54:32 +02:00
Vojtech Bubnik
b1b7a5ad1b Fix of ironing invalidation. Fixes
Ironing flag ignored on infill rotate #4937
Ironing does not take effect when you change Top Fill Pattern. #4900
Ironing layer not shown in preview when settings are changed #4510
2020-10-22 17:36:51 +02:00
YuSanka
0f9faeda98 Fixed conversion from/to imperial units for objects with parts/modifiers 2020-10-22 15:45:17 +02:00
Vojtech Bubnik
d8f45ff1d8 Workarounds and documentation of OSX posix incompatibilities 2020-10-22 14:57:50 +02:00
Vojtech Bubnik
723406dfea Workaround for OSX non-compliant implementation of
pthread_getname_np / pthread_setname_np
2020-10-22 14:45:15 +02:00
Vojtech Bubnik
0d2c31d0e4 and again a fix on Windows 2020-10-22 14:35:20 +02:00
Vojtech Bubnik
6e2a5419cc Fixes of previous commit on Posix platforms 2020-10-22 14:29:40 +02:00
Vojtech Bubnik
81b6883710 Thread names shortened to 15 characters to fit Posix norm.
Added get_current_thread_name()
2020-10-22 14:11:08 +02:00
Vojtech Bubnik
6531061d09 Support for naming slicer own threads for debugging.
The following threads are named with this commit:
slic3r_main, slic3r_BackgroundSlicingProcess,
slic3r_tbbpool_xx_yy where xx is a one based index of the TTB thread
and yy is the platform thread ID.
2020-10-22 13:54:15 +02:00
enricoturri1966
844ec8447d ENABLE_PAN_ROTATE_SCENE_IN_GIZMOS set as default 2020-10-22 11:01:30 +02:00
Vojtech Bubnik
70e44c3e8e Fixed definition of psSlicingFinished to fix notification updates
after the slicing finishes.
2020-10-21 14:00:56 +02:00
Vojtech Bubnik
3e50699576 Renamed Line::offset to extend
Don't use unscaled constants! What if the scaling constant changes
in the future?
2020-10-20 09:17:26 +02:00
enricoturri1966
68a7e5ce41 Rotating/panning the view, using mouse left/right + CTRL modifier, while any gizmo is active 2020-10-19 15:55:16 +02:00
Lukas Matena
ebcd073fd3 Removed unused include (related to #4912) 2020-10-19 11:16:43 +02:00
Vojtech Bubnik
7896de892b Fix of the "dock" menu on OSX to start a new instance of PrusaSlicer
in case a single instance is disabled.
Make the "single_instance" enabled by default on OSX initially
to match the platform.
2020-10-17 09:23:05 +02:00
Vojtech Bubnik
86ee8e7687 Improved matching of Print and Filament profiles after switching the Printer
profile. The matching has the following priority:

1) Compatible Print profile with the same logical name aka alias.
2) Prefered Print profile with the same layer height.
3) Compatible Print profile with the same layer height.
4) Prefered Print profile.
5) Any compatible profile.

The same logic applies to the selection of Filament profile, only
a filament_type is compared, not the layer height.
2020-10-16 16:03:31 +02:00
Vojtech Bubnik
d49a98f154 When switching Printer profiles, a profile with the same logical name
aka alias is searched for first before activating the default
print / filament profile as configured in the printer settings.
2020-10-16 14:45:54 +02:00
tamasmeszaros
edb8b9f46d Cover various overhang types cumulatively 2020-10-16 11:14:57 +02:00
tamasmeszaros
fb1f3589ed Use rotated bounding box to calculate eccentricity 2020-10-16 11:14:57 +02:00
enricoturri1966
daf1011705 Changed heuristic to clamp toolpaths width 2020-10-16 09:02:37 +02:00
Vojtech Bubnik
a8fda7d2f1 Fixed some more issues in copy / paste of objects and volumes
due to the layer_height_profile, paint on supports and seam
being stored as an object on its own onto the Undo / Redo stack.
2020-10-15 17:29:49 +02:00
YuSanka
00a7799341 UnsavedChangesDialog : improvements
* Added "Remember my choice" checkbox
* Center on the screen and set position in respect to the position of mainframe or settings dialog

Preferences : Added checkboxes for enable/suppress showing of the UnsavedChangeDialog

SearchImGui : close after parameter selection_is_changed_according_to_physical_printers

PhysicalPrinterDialog, SavePresetDialog : Center on the screen
2020-10-15 16:53:14 +02:00
Vojtech Bubnik
90ddffa83c This broke the SLA support point generator test. Why? 2020-10-15 13:35:45 +02:00
Vojtech Bubnik
c388c42055 Fixed assignment of the slicing timestamp to the slicing finished
notification.
2020-10-15 12:02:55 +02:00
enricoturri1966
3fc12fdaaa Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2020-10-15 10:25:22 +02:00
enricoturri1966
8580ecacca Added option to apply the sequential slider in preview to top layer only or to whole gcode toolpaths 2020-10-15 10:25:13 +02:00
Vojtech Bubnik
19a115260a A little bit cheaper triangle random sampling + documentation. 2020-10-15 07:58:13 +02:00
Vojtech Bubnik
447f4b8303 Polishing of NotificationManager:
Fixed pairing of PrintObjects with slicing warning notifications.
Removed or commented out dead code.
Added documentation.
2020-10-14 16:49:06 +02:00
Vojtech Bubnik
e0c5309bc3 wxEVT_CREATE and wxEVT_ACTIVATE is not being called on the main frame
on application start-up, at least not on Windows.
wxEVT_CREATE was called for some control deep in the Plater, however
the event was delivered to the main frame and only for slicer, not
for G-code viewer. Thus the callbacks for 3D Mouse were not registered
for and the 3D mouse did not work on Windows.

Fixed by calling the callback registration from the first execution
of the Idle function.
2020-10-14 12:55:07 +02:00
Vojtech Bubnik
8c0b8f89d0 Updated the command line single-instance processing and help text.
Updated escaping of the command line arguments when passed to the other
instance.
2020-10-12 17:06:03 +02:00
enricoturri1966
5356b72a86 Tech ENABLE_GCODE_DRAG_AND_DROP_GCODE_FILES set as default 2020-10-12 13:09:04 +02:00
enricoturri1966
f04d9c1806 Tech ENABLE_GCODE_APP_CONFIG as default 2020-10-12 12:38:34 +02:00
Lukáš Hejl
958acad85b Fix another compiler warnings 2020-10-12 00:17:17 +02:00
Lukáš Hejl
caafcf43b0 Fix compiler warning and fix a bug in connecting infill using hooks 2020-10-11 23:31:59 +02:00
Lukáš Hejl
b8d574093d Small rework of connecting infill with perimeters using hooks
Hooks are preferably generated in the direction of printed perimeters.
Small refactoring of the algorithm. Some parts of the algorithm are better documented.
2020-10-11 15:45:50 +02:00
Lukáš Hejl
de242f48cb Refactoring of the adaptive infill using hooks 2020-10-11 03:46:11 +02:00
Lukáš Hejl
cd2881e14e Orient hooks in the direction of the adjacent extrusion line 2020-10-10 22:38:22 +02:00
Lukáš Hejl
53975eeaa3 Rework of hooks adding 2020-10-10 22:25:51 +02:00
Lukáš Hejl
0b4733f656 The length of the hook is derived from spacing 2020-10-10 21:34:04 +02:00
lukasmatena
89e4a78722
Merge pull request #4747 from wavexx/monospaced_gcode
Use monospaced fonts in gcode sections
2020-10-10 14:01:48 +02:00
enricoturri1966
fe971defcd Disabled tech ENABLE_ENVIRONMENT_MAP 2020-10-10 10:11:27 +02:00
Vojtech Bubnik
95af708171 Removed m_ prefix from public member variables. 2020-10-09 13:09:21 +02:00
Vojtech Bubnik
170fe23b46 Fixing Undo / Redo issues after copy / paste due to not updating
ObjectIDs of support painting / seam painting / layer height profile.
2020-10-09 12:26:28 +02:00
tamasmeszaros
267907e5ba SLA: Fix for crash with only 1 layer
fixes #4836
2020-10-08 10:00:55 +02:00
enricoturri1966
ce0312acbd Fixed gcodeviewer application title on Linux and Mac 2020-10-07 16:02:01 +02:00
Vojtech Bubnik
26b95e3c3c Legacy conversion of "monotonous" to "monotonic" 2020-10-07 09:38:36 +02:00
enricoturri1966
7bee5b5479 Added Preference dialog to standalone gcode viewer 2020-10-06 15:11:08 +02:00
Lukas Matena
b42a12db66 Fixup of 8df0181 (turning off the export of machine limits)
This should solve #1212 for good
2020-10-06 13:31:42 +02:00
Lukáš Hejl
6ed25f6e1c Fixed avoiding of other printed objects
Calling std::move on itself causes that the first polygon is empty, which results in disabling this feature
2020-10-06 13:19:39 +02:00
YuSanka
764565dbc3 Added info message about successfully save of the preset(s) modifications
+ more warnings fixes
2020-10-06 12:32:28 +02:00
Lukas Matena
dbedd3f9b0 Merge branch 'lm_painter_fixes' 2020-10-06 12:09:56 +02:00
Lukas Matena
8bcdbb7a60 Painter gizmos should now work with non-uniformly scaled models 2020-10-06 12:06:39 +02:00
Vojtech Bubnik
e407b79c94 Docker icon on OSX 2020-10-06 12:05:05 +02:00
Vojtech Bubnik
ecade4ac23 Fixed limitation of acceleration values written into G-code
in case the machine limits are disabled.
2020-10-06 10:24:06 +02:00
Vojtech Bubnik
7fbdda9080 Renamed monotonous infill to monotonic. 2020-10-05 16:38:28 +02:00
enricoturri1966
c94fb13369 AppConfig modified to generate a separate config file for the standalone gcodeviewer 2020-10-05 15:42:35 +02:00
Lukas Matena
4d3190f988 Changed cmake minimal version to 3.13 (#4720) 2020-10-05 12:10:19 +02:00
enricoturri1966
04a928b241 Follow-up of 8df01818dd -> GCodeProcessor uses new Machine Limits limitations 2020-10-05 09:15:43 +02:00
bubnikv
8df01818dd Limiting the application of Machine Limits
https://github.com/prusa3d/PrusaSlicer/issues/1212

WIP: The hints do not rescale when switching the "usage" combo box.
The new g-code time estimator needs to be updated to not read
the machine limits if not enabled.
2020-10-02 17:32:03 +02:00
enricoturri1966
0f44caa99c ENABLE_SLOPE_RENDERING set as default
Slope rendering active only when using Gizmo FDM supports
2020-10-02 15:43:39 +02:00
enricoturri1966
11d8a2ad8e Start PrusaSlicer in gcode viewer mode when dragging and dropping a .gcode file on the application icon 2020-10-02 11:40:21 +02:00
Lukáš Hejl
7a9aec2b0b Connect infill with perimeters using hooks 2020-10-02 11:15:55 +02:00
enricoturri1966
1130778d5e Small fix in debug tech ENABLE_GCODE_VIEWER_DATA_CHECKING 2020-10-02 09:14:43 +02:00
Lukáš Hejl
1a8a5984ad Connect lines in the adaptive infill using hooks 2020-10-02 04:18:44 +02:00
YuSanka
2bba0e3131 Physical printers: Implemented import/export to/from the ConfigBundle.
+ fixed a bug : Case sensitivity of printer's name wasn't check during the adding of a new printer,
as a result in printers list was appeared both of printers (ex. "YuSanka" and "yusanka"), but related file was just one.
2020-10-01 22:48:57 +02:00
Lukas Matena
1ca8120398 Sphere selection added as an option for painting gizmos 2020-10-01 00:05:01 +02:00
Lukas Matena
c696e6ec19 Experiment with spherical cursor (painting gizmos) 2020-09-30 17:34:11 +02:00
enricoturri1966
980fe77b32 #4806 - Fixed detection of move type for G1 lines containing Z>0 and E>0 2020-09-30 08:34:29 +02:00
bubnikv
ab0890ed34 Merge remote-tracking branch 'remotes/origin/vb_modelobject' 2020-09-29 16:31:18 +02:00
Lukas Matena
48b0a14c4c Fixup of previous commit 2020-09-25 13:00:43 +02:00
Lukas Matena
b178d0af38 Wipe tower - small refactoring and fix
Collection of data from internal wipe tower gcode generator now uses move semantics.
Part of gcode at the end of priming was erroneously not exported (extruder current reset etc.)
2020-09-25 12:35:20 +02:00
Lukáš Hejl
0b0709b3d8 Fix crash in adaptive infill when an extrusion line width is zero.
When an extrusion line width is set to zero, then an extrusion line width is calculated from nozzle diameter.
2020-09-25 09:54:27 +02:00
Vojtech Bubnik
e0b0a2cdcf Fix of previous commit. 2020-09-24 20:32:52 +02:00
Vojtech Bubnik
7a799be426 DynamicPrintConfig::normalize() renamed to normalize_fdm(),
optimization of Print::apply()
2020-09-24 19:03:33 +02:00
Vojtech Bubnik
94aac4cf97 What MSVC could process I always wonder. 2020-09-24 15:45:04 +02:00
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
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