Commit Graph

3585 Commits

Author SHA1 Message Date
Vojtech Bubnik
d6943ddd03 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-09-23 18:46:15 +02:00
Vojtech Bubnik
049bb96271 Fixed endless loop in support raft generator. 2021-09-23 18:46:11 +02:00
David Kocik
9e100bd292 Blacklisted AMHook.dll 2021-09-23 11:15:08 +02:00
enricoturri1966
ba60d2b254 Tech ENABLE_FIX_SEAMS_SYNCH - Fix the synchronization of seams with the horizontal slider in preview 2021-09-23 09:25:13 +02:00
Oleksandra Yushchenko
4e17e61be4 Check unsaved changes (#6991)
* Check Unsaved changes (partially related to #5903)
 + Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

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

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

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

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

* Improved suggested name for a project when Application is closing

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

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

Added assert for 3D convex hulls constructed by QHull. They shall be
manifold (however sometimes they are not).
2021-09-21 16:04:04 +02:00
Justin Schuh
fd41a72f51 Fix float accuracy issue when thick_bridges is off (#6957) 2021-09-21 15:50:04 +02:00
Vojtech Bubnik
978e42f57c Fixed visualization of G-code lines in G-code viewer (3D view).
Improved speed of parsing external G-code.
2021-09-21 15:30:37 +02:00
Vojtech Bubnik
a78fc4926e Fixed triangulation of meshes split by the cut tool. 2021-09-21 11:07:40 +02:00
Lukáš Hejl
2f0d1428fc Added a missing include (GCC 11.1). 2021-09-21 10:45:57 +02:00
Vojtech Bubnik
53a5c23d0f Eradicated admesh from TriangleMesh:
TriangleMesh newly only holds indexed_triangle_set and
TriangleMeshStats. TriangleMeshStats contains an excerpt of stl_stats.
TriangleMeshStats are updated when initializing with indexed_triangle_set.

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

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

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

Fixed cut_mesh(): Orient the triangulated faces correctly.
2021-09-20 17:12:22 +02:00
Vojtech Bubnik
1a54236361 Fix of Print setting changes not applied to all copies if one copy rotated #6971 2021-09-20 14:41:19 +02:00
enricoturri1966
1cf2eeb391 Tech ENABLE_RETRACT_ACCELERATION set as default 2021-09-17 08:21:25 +02:00
Lukas Matena
4253ec190c LocalesUtils: fixed BSD and improved performance of decimal point formatting functions 2021-09-15 19:52:32 +02:00
Lukas Matena
f88d2d5eba Fixed comparison of layer height profiles when printing with wipe tower:
while the layer height profile vector may not contain all print z
values, the only real case with two eqiuvalent layer height profiles is
when one was created as a copy of another, so the vectors should in fact be equal.
2021-09-15 16:37:41 +02:00
Lukas Matena
e03bcc7c4e Fix several warnings 2021-09-15 16:36:59 +02:00
enricoturri1966
4cfe8c8e1c Tech ENABLE_SINKING_CONTOURS set as default 2021-09-14 15:45:21 +02:00
enricoturri1966
f4c31270ca Follow-up of d52ee52098 - Removed forgotten tech key 2021-09-14 15:17:24 +02:00
enricoturri1966
762e7f9474 Tech ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER set as default 2021-09-14 15:05:33 +02:00
Vojtech Bubnik
9142fcc109 WIP: admesh eradication
follow-up to 58d8ab3dea
2021-09-14 14:51:40 +02:00
enricoturri1966
3ee4d3688c Tech ENABLE_DELAYED_TRANSPARENT_VOLUMES_RENDERING set as default 2021-09-14 14:34:21 +02:00
Vojtech Bubnik
ea532997f6 Fix of 58d8ab3dea 2021-09-14 13:11:21 +02:00
Vojtech Bubnik
01451d2e63 Removed the PRUS format parser. WIP: admesh eradication:
stl_stats are newly only accessed by TriangleMesh::stats(),
most of the direct access to TriangleMesh::stl is gone with the exception
of parsing input files (3MF, AMF, obj).
2021-09-14 11:58:14 +02:00
Lukáš Hejl
e932289777 Replaced atof and atoi inside 3MF attribute parsing with fast_float::from_chars and boost::spirit that are faster. 2021-09-14 11:09:43 +02:00
enricoturri1966
3034093082 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk_changes 2021-09-14 10:05:18 +02:00
Vojtech Bubnik
49568caaee Fix of Can't convert polyline with more than two points to a line (#6933)
Sometimes Clipper produces a polyline with more than 2 points when
clipping a line with a polygon or a set of polygons. We hope the intermediate
points are collinear with the line, so we may just ignore them.
2021-09-13 15:40:56 +02:00
Vojtech Bubnik
380a19f63e Some reduction of unnecessary conversions when calling ClipperUtils. 2021-09-13 15:13:10 +02:00
Vojtech Bubnik
c9cba522c3 Follow-up to ae7d6db1d9
Exporting G-code on a worker thread did not work correctly as the worker
threads were using user's locale, not "C" locale.
The "C" locale is newly enforced to TBB worker threads by
name_tbb_thread_pool_threads_set_locale()
2021-09-13 13:04:12 +02:00
Vojtech Bubnik
f4ea58dc6b Follow-up to e7591e6aa6
GCodeFormatter default copy constructor / copy operators were not safe
and they were used in debug mode.
2021-09-13 12:51:50 +02:00
Vojtech Bubnik
fe43b58e93 GCodeWriter: published GCodeFormatter, made it more generic, so
it could be used outside of GCodeWriter.
Ported the GCodeWriter::retract/deretract to GCodeFormatter.
2021-09-13 11:55:44 +02:00
Vojtech Bubnik
1e7965a3a2 Parallelization of the G-code export.
Follow-up to
03b6048684
beee18f229
b5a007a683
etc
2021-09-13 10:04:21 +02:00
Lukáš Hejl
665494e421 Optimized export of floating-point value inside emit_axis.
Change the behavior of generated G-code commands. Now all redundancy padding zeros are removed, which makes G-code a little bit smaller.
2021-09-11 00:54:30 +02:00
Lukáš Hejl
28a67ea610 Added fast_float library as a replacement for std::from_chars and strtod. 2021-09-11 00:54:30 +02:00
Vojtech Bubnik
407a338902 Pimping up SpiralVase code, fix of 03b6048684 2021-09-10 12:10:00 +02:00
Vojtech Bubnik
193a960e89 Follow-up to beee18f229
WIP to G-code export parallelization through pipelining:
Decoupled CoolingBuffer from GCode / GCodeWriter, ready to be
pipelined on a different thread.
2021-09-10 11:43:59 +02:00
enricoturri1966
1722765d67 Fixed conflicts after merge with master 2021-09-09 11:01:49 +02:00
enricoturri1966
660ffbad58 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-09 10:34:47 +02:00
enricoturri1966
0e39d8a815 ENABLE_GCODE_VIEWER_STATISTICS - Fixed calculation of time required by GCodeProcessor 2021-09-09 09:35:58 +02:00
enricoturri1966
229dd208fa Fixed build on MAC 2021-09-08 15:47:27 +02:00
Vojtech Bubnik
ca9d1ff6e1 Follow-up to b5a007a683
WIP to G-code export parallelization through pipelining:
GCodeProcessor is called during the G-code export,
the G-code is no more reopened and re-read, but it is pipelined
from the G-code generator.
2021-09-08 15:06:12 +02:00
enricoturri1966
ec0ad05853 Fix after merge with master 2021-09-08 14:34:31 +02:00
enricoturri1966
6f075e7573 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-08 14:33:20 +02:00
enricoturri1966
f437cd535d Tech ENABLE_FIX_PREVIEW_OPTIONS_Z - Enable fixing the z position of seams (and other options) in preview 2021-09-08 14:30:40 +02:00
enricoturri1966
88e6b261fa Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_seams_as_batched_models 2021-09-08 11:37:05 +02:00
Vojtech Bubnik
09a34639f7 Fix of recent GCode / GCodeProcessor refactoring: Don't close a FILE
twice.
2021-09-07 17:58:06 +02:00
Vojtech Bubnik
cdd0d90f99 Trying to fix the windows build 2021-09-07 17:31:36 +02:00
Vojtech Bubnik
2b523d3f19 WIP to G-code export parallelization through pipelining:
New class GCodeOutputStream as a G-code consumer.
In the following steps the GCodeOutputStream will be pipelined with
GCodeProcessor.
2021-09-07 16:23:43 +02:00