Commit graph

3993 commits

Author SHA1 Message Date
Vojtech Bubnik
a6f4b9b71f Snug supports: Extrude interface layers 45 degrees from the base layer,
flip direction of the infill layer with each interface layer.
Unfortunately the flipping of support interface directions may not work
reliably due to base support layer heights growing at different rate
from the interface layers.
2021-10-14 13:56:04 +02:00
enricoturri1966
fe1c5f34a0 Fixed conflicts after merge with master 2021-10-14 10:57:08 +02:00
enricoturri1966
7be17d89e6 Fixed conflicts after merge with master 2021-10-14 10:48:46 +02:00
Lukáš Hejl
2f9ce6bedb Fixed incorrect color assignment in multi-material segmentation caused by intersecting edges due to post-processing of Voronoi diagram.
This issue was occurring mainly on the cylinder objects.
2021-10-14 09:39:23 +02:00
Vojtech Bubnik
64a3866ad5 Making GCC happy. 2021-10-14 09:33:39 +02:00
Vojtech Bubnik
0222533273 Fixed compilation on non MS systems 2021-10-14 09:31:53 +02:00
Vojtech Bubnik
7ff76d0768 New ClipperUtils functions: opening(), closing() as an alternative
for offset2() with clear meaning.
New ClipperUtils functions: expand(), shrink() as an alternative
for offset() with clear meaning.
All offset values for the new functions are positive.

Various offsetting ClipperUtils (offset, offset2, offset2_ex) working
over Polygons were marked as unsafe, sometimes producing invalid output
if called for more than one polygon. These functions were reworked
to offset polygons one by one. The new functions working over Polygons
shall work the same way as the old safe ones working over ExPolygons,
but working with Polygons shall be computationally more efficient.

Improvements in FDM support generator:
1) For both grid and snug supports: Don't filter out supports for which
   the contacts are completely reduced by support / object XY separation.
2) Rounding / merging of supports using the closing radius parameter is
   now smoother, it does not produce sharp corners.
3) Snug supports: When calculating support interfaces, expand the projected
   support contact areas to produce wider, printable and more stable interfaces.
4) Don't reduce support interfaces for snug supports for steep overhangs,
   that would normally not need them. Snug supports often produce very
   narrow support interface regions and turning them off makes the support
   interfaces disappear.
2021-10-14 09:11:31 +02:00
David Kocik
ac6259e387 Preferences: notify_relese option with Choice type Field.
OptionsGroup:: Added possibility of the right alignment of the controls
+ Added separator line to Preferences
2021-10-13 15:39:06 +02:00
enricoturri1966
405a7e84d6 Fix in seams detection (restore detection after wiping) 2021-10-13 11:13:31 +02:00
enricoturri1966
8befc43739 Seams detection now takes in account for overhang perimeters 2021-10-12 12:03:34 +02:00
enricoturri1966
19572068a5 Revert of e28ebf9386 2021-10-12 11:49:51 +02:00
tamasmeszaros
ac414e226f Minor beautification 2021-10-12 10:55:23 +02:00
enricoturri1966
e28ebf9386 Removed threshold to detect seams to be shown in preview 2021-10-12 09:53:23 +02:00
David Kocik
c4f78fcdc9 Check version string for alpha and beta release versions.
Preferences setting to show / not show alpha beta releases.
2021-10-11 10:01:48 +02:00
enricoturri1966
b9ac80ccd4 #7076 - Modifiers and similar objects always rendered as transparent 2021-10-08 10:48:46 +02:00
Vojtech Bubnik
5de143f04f Follow-up to 96b88f5b29
Fixed crash with zero support base spacing.
The bug fix was not correct and it disabled the new "zig-zag" sparse
infill generator, leading to GH issue #7014

Somehow improved missing interface layers for snug supports
by propagating full overhangs when generating interface layers.

Fixed generation of soluble interfaces for support enforcers,
where base support was used for steeper overhangs.

Disabled filtering out thin regions from the lower layer, that will
not be covered by perimeters, thus they are not supporting the current layer.
However this may lead to a situation where regions at the current layer
that are narrow thus not extrudable will generate unnecessary supports.
For example, see GH issue #3094
2021-10-07 15:39:44 +02:00
enricoturri1966
29340c1560 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-07 14:22:06 +02:00
enricoturri1966
6b4014433f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-10-07 14:13:05 +02:00
enricoturri1966
eee8d97f49 Tech ENABLE_TRAVEL_TIME - Show estimated time for travel moves in legend when they are visible 2021-10-07 14:07:33 +02:00
Lukáš Hejl
b99be85187 Fixed a warning. 2021-10-07 13:36:06 +02:00
Lukáš Hejl
82bf9c158a Optimized multi-material segmentation to construct Voronoi diagrams only for layers that have more than one color. If the whole layer is painted using the same color, it is not needed to construct a Voronoi diagram. 2021-10-07 13:16:21 +02:00
YuSanka
a2b99db0df MSW specific:Added dark mode for G-CodeViewer 2021-10-07 11:53:19 +02:00
enricoturri1966
89ed41750a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-10-07 10:57:16 +02:00
YuSanka
c15be26bff Check if object's size appears to be zero, when loading the model file. 2021-10-07 09:12:31 +02:00
YuSanka
7340488aaf ObjectList: Fixes
* Fixed update of a warning icon for multi-part object, when some part with errors was deleted
 * Fixed a crash when selecting non-Object and non-Volume item (in get_mesh_errors_info() was missed check of the obj_idx)

+ Follow-up 1cc7b4ba97 - some code refactoring:
  * fixed RepairedMeshErrors.merge()
  * get_mesh_errors_count() renamed to get_repaired_errors_count()
2021-10-06 17:24:40 +02:00
enricoturri1966
ecf744104d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-10-06 15:30:29 +02:00
enricoturri1966
fe4baa33f6 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-06 13:48:27 +02:00
enricoturri1966
4ff13a5d63 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Reworked detection of collision with printbed. The detection uses now different algorithms in dependence of the printbed type (rectangular, circular, convex) to improve performance. 2021-10-06 13:47:54 +02:00
YuSanka
1cc7b4ba97 Save/Load repaired errors from/to a mesh statistics to/from a 3MF 2021-10-06 10:57:28 +02:00
enricoturri1966
982172b878 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-05 15:33:37 +02:00
Lukas Matena
faa808b385 First draft of SendSystemInfoDialog 2021-10-05 15:09:52 +02:00
enricoturri1966
b08c3248b1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-10-05 14:13:45 +02:00
tamasmeszaros
29a5f48f43 Minor performance optimization for convex intersection algo 2021-10-05 13:31:09 +02:00
enricoturri1966
ddcbbee3b0 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-05 09:51:04 +02:00
Vojtech Bubnik
e185bf58b7 Replaced "Simple shorthands for smart pointers" shptr, uqptr, wkptr
with their original names. Using weird shorthands makes the code
unreadable for anyone but the original author.

template<class T> using shptr = std::shared_ptr<T>;
template<class T> using uqptr = std::unique_ptr<T>;
template<class T> using wkptr = std::weak_ptr<T>;
2021-10-04 16:56:26 +02:00
Vojtech Bubnik
b028e169c8 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-10-04 16:33:33 +02:00
Vojtech Bubnik
6192c57368 Fix of support missing under horizontal overhang #6058
There was a bug for more than 4 years, which likely triggers now more
often with the introduction of raft_contact_distance parameter,
which is usually significantly smaller than support_material_contact_distance.
There were no support towers built at the raft for contact layers
below the print_z of the first object layer.
2021-10-04 16:33:25 +02:00
enricoturri1966
a9ca63d344 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-04 15:04:34 +02:00
tamasmeszaros
4cc1b2740d Don't report intersection if two polygons are only touching. 2021-10-04 14:16:13 +02:00
enricoturri1966
4521945bb3 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Faster printbed collision detection using the new function Geometry::intersect() 2021-10-04 14:07:45 +02:00
enricoturri1966
5739178306 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-04 13:07:53 +02:00
tamasmeszaros
9c177cf167 Merge branch 'tm_convex_intersect_rotcalip' 2021-10-04 10:12:04 +02:00
enricoturri1966
0b78e009b4 #7050 - GCodeProcessor: Fixed processing of gcode lines M109 2021-10-04 09:02:03 +02:00
enricoturri1966
2e779d8594 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-04 08:30:13 +02:00
tamasmeszaros
9fce0ce3a6 Fix compile issues and overlapping polygon fails 2021-10-01 18:27:37 +02:00
Lukas Matena
4ca2401b69 Several minor improvements and fixed warnings 2021-10-01 14:31:22 +02:00
Vojtech Bubnik
68de2a49a3 Fixed update of mesh volume after applying a transformation.
Fixes flipped normals when importing some 3MFs.
2021-10-01 14:28:45 +02:00
Vojtech Bubnik
afbbb36fa4 Fixed import of multi-material AMF files, broken due to admesh eradication. 2021-10-01 13:34:22 +02:00
enricoturri1966
f84838028b Tech ENABLE_FIX_SINKING_OBJECT_OUT_OF_BED_DETECTION merged into tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS 2021-10-01 13:13:26 +02:00
enricoturri1966
efb08cf55a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-10-01 12:15:24 +02:00
David Kocik
5a45c94ccd Remove duplicit warning about not enabled support enforcers 2021-10-01 10:08:19 +02:00
enricoturri1966
f3bd5e96c5 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Fixed detection of collision with circular printbed in backend 2021-10-01 07:28:10 +02:00
Lukas Matena
476b48ed11 Revert "Merge branch 'tm_convex_intersect_rotcalip'"
This reverts commit 627d8bcaef, reversing
changes made to 66d4462724.

The change breaks build on mac
2021-09-30 16:49:00 +02:00
tamasmeszaros
234f062ad4 Fast convex polygon intersection test with rotating calipers 2021-09-30 15:49:12 +02:00
enricoturri1966
09150780c9 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-09-30 15:08:54 +02:00
enricoturri1966
1f82eb5624 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-09-30 15:08:35 +02:00
enricoturri1966
13ef817a99 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Enable detection of collision with circular printbed in backend 2021-09-30 14:51:09 +02:00
Vojtech Bubnik
66d4462724 Fixed spelling error preffered / preferred 2021-09-30 14:44:11 +02:00
David Kocik
5045e07f78 Find name of preset from alias before selecting preferred preset. 2021-09-30 14:42:30 +02:00
Vojtech Bubnik
aeb18e729d New preferences key "clear_undo_redo_stack_on_new_project", set to "1"
by default: Clear Undo / Redo stack on new project or load project.
Fixes Clear undo chain #2812
2021-09-30 12:17:52 +02:00
Vojtech Bubnik
96f4d71c71 Fixed 1st layer support expansion if printed without raft.
This is a regression to PrusaSlicer 2.3.3
2021-09-30 14:01:31 +02:00
Vojtech Bubnik
b76f66d2d2 Follow-up to 3ee259b602
1) Added parsing of 3MF PrusaSlicer generator semantic version
2) For 3MFs generated by >= "2.4.0-alpha1" and < "2.4.0-alpha3",
   remove unreferenced vertices on loading. This should shrink the incorrectly
   generated 3MFs back.
3) Added check for an empty mesh, which could have crashed PrusaSlicer on 3MF parsing.
2021-09-30 12:18:43 +02:00
enricoturri1966
7cfe082621 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Enable detection of collision with circular printbed for toolpaths 2021-09-30 12:08:05 +02:00
enricoturri1966
b19c742455 Fixed conflicts after merge with master 2021-09-30 10:31:25 +02:00
enricoturri1966
47d3d068dd Fixed warnings 2021-09-30 09:00:01 +02:00
enricoturri1966
b4423aa954 Fixes required after merge with branch et_layer_time_preview 2021-09-30 08:35:36 +02:00
enricoturri1966
5cf48d1ecf Merge remote-tracking branch 'origin/et_layer_time_preview' into et_preview_layout 2021-09-30 08:16:10 +02:00
enricoturri1966
33da203b18 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-09-30 07:58:11 +02:00
enricoturri1966
064bc63b23 Fixed conflicts after merge with master 2021-09-30 07:57:37 +02:00
tamasmeszaros
5c1e6d2298 Fix reading relative_correction parameter
Drop compatibility with profiles created on legacy Slic3r PE 1.42-beta1 to 1.42-beta2

fixes #7013
2021-09-29 10:11:29 +02:00
enricoturri1966
c917b82bea Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-09-27 16:03:22 +02:00
enricoturri1966
80f28538c5 #7011 - Follow-up of 3ee259b602 - Modified volumes' indices rebase 2021-09-27 16:03:09 +02:00
Vojtech Bubnik
85c760d9b6 Touch-up to some comments, removed commented-out code 2021-09-27 15:00:58 +02:00
enricoturri1966
3ee259b602 #7010 - Fixed import of volumes from 3mf. This is a regression wrt. PrusaSlicer 2.4.0-alpha1 due to the 3mf import optimization introduced with 8a2a9dba2f 2021-09-27 14:14:05 +02:00
enricoturri1966
2483a9f036 Added missing include 2021-09-27 13:02:56 +02:00
enricoturri1966
1196251d51 #7015 - Fixed typo in AMFParserContext::endElement() 2021-09-27 12:33:26 +02:00
enricoturri1966
8ecdea152f Follow-up of 721e396edc - Same fix applied to GCodeProcessor::process_G28() and GCodeProcessor::process_M402() 2021-09-27 12:08:26 +02:00
enricoturri1966
721e396edc #7016 - Fixed GCodeProcessor::process_M132() 2021-09-27 11:35:58 +02:00
enricoturri1966
7ca9024fca #7008 - GCodeViewer - Fixed loading of gcodes generated by SuperSlicer 2021-09-27 11:22:36 +02:00
Vojtech Bubnik
43470af0c6 Fix of "About" screen still shows 2020 at the copyright notice (#7018) 2021-09-27 10:07:29 +02:00
Vojtech Bubnik
07e7e11590 Fix of prusa-gcodeviewer changes modification time of the viewed gcode file #7005
This is a regression wrt. PrusaSlicer 2.4.0-alpha1 due to the G-code
processing optimization and parallelization.
Related to GCode Viewer changes files modified date in windows #5079
2021-09-27 10:02:54 +02:00
tamasmeszaros
4d2bf8db0d Switch to current SLA profile if an imported archive doesn't contain it.
Send a warning notification if this happens. Also,if  there is no current SLA profile initialized, an error message will tell the user to switch to an SLA profile before importing.

fixes #6915
2021-09-27 10:00:21 +02:00
tamasmeszaros
33eba4aea6 Rename SLAPrinter interface to SLAArchive as it makes more sense. 2021-09-27 10:00:21 +02:00
Lukas Matena
6a5feb818f Revert "Fixed volume transformations in SLA:":
The fix is not complete, it is better not to break it more than it was.

This reverts commit 6b25a9c836.
2021-09-24 13:03:56 +02:00
Lukas Matena
6b25a9c836 Fixed volume transformations in SLA:
Volume transformations were ignored in SLA mode. This did not matter for plain STLs
and PS own 3MF, because in those cases, the volume trafo was identity. Importing
a 3rd party 3MF leads to issues with support/holes placement and generation.
Fixes #6100 and #6744.
2021-09-24 12:14:44 +02:00
Vojtech Bubnik
fec5d92bc8 Added various has_duplicate_points() checks, to be used by asserts.
Removed some "extern" function modifiers, they have no meaning in C++.
2021-09-24 14:07:46 +02:00
tamasmeszaros
acd2448f10 Fix stl export on Linux 2021-09-24 10:15:46 +02:00
Vojtech Bubnik
3872524dc4 Follow-up to b6d7601ead
Fixing the FDM raft generator.
2021-09-24 10:13:26 +02:00
Vojtech Bubnik
0c0c37b76c Fix of [2.4.0a] version placeholder doesn't work for output filename format #7002 2021-09-24 09:36:14 +02:00
enricoturri1966
720fdf9bb3 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-09-24 09:23:00 +02:00
Vojtech Bubnik
04e4aee246 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-09-23 18:46:15 +02:00
Vojtech Bubnik
b6d7601ead Fixed endless loop in support raft generator. 2021-09-23 18:46:11 +02:00
enricoturri1966
fee31084bd Fixed conflicts after merge with master 2021-09-23 12:06:18 +02:00
David Kocik
1f82714159 Blacklisted AMHook.dll 2021-09-23 11:15:08 +02:00
enricoturri1966
f71cf324b9 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
8f064dd155
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
96b88f5b29 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
30d13c99b7 Added a missing include (GCC 11.1). 2021-09-21 22:41:55 +02:00
YuSanka
238e65e455 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
a5a7f64db0 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
306b54bc0a
Fix float accuracy issue when thick_bridges is off (#6957) 2021-09-21 15:50:04 +02:00
enricoturri1966
8d28e39523 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-09-21 15:48:28 +02:00
enricoturri1966
d854fd0b29 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Fixed GLVolumeCollection::check_outside_state() for SLA printers 2021-09-21 15:48:17 +02:00
Vojtech Bubnik
ac7674b85a 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
enricoturri1966
1dad3c20f7 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-09-21 13:52:10 +02:00
enricoturri1966
cf380fb456 Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Out of bed detection for circular printbeds 2021-09-21 13:51:57 +02:00
Vojtech Bubnik
7e3306c68f Fixed triangulation of meshes split by the cut tool. 2021-09-21 11:07:40 +02:00
Lukáš Hejl
40e4116d9a Added a missing include (GCC 11.1). 2021-09-21 10:45:57 +02:00
Vojtech Bubnik
8a2a9dba2f 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
f484953a5a Fix of Print setting changes not applied to all copies if one copy rotated #6971 2021-09-20 14:41:19 +02:00
enricoturri1966
1af0c5c73b Tech ENABLE_OUT_OF_BED_DETECTION_IMPROVEMENTS - Call GLVolumeCollection::check_outside_state() only when needed 2021-09-20 13:40:34 +02:00
enricoturri1966
f45f92476e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-09-20 12:05:52 +02:00
enricoturri1966
92bf9a664d Fix of detection of the out of bed state for sinking objects in backend 2021-09-17 14:47:19 +02:00
enricoturri1966
6d70ada637 Follow-up of 2f95c7721f - Even faster implementation of method TriangleMesh::transformed_bounding_box(const Transform3d& trafo, double world_min_z) 2021-09-17 09:45:50 +02:00
enricoturri1966
f2ef4be1aa Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_objects_collision 2021-09-17 08:42:10 +02:00
enricoturri1966
2f95c7721f Follow-up of 5a84b46ec9 - Faster implementation of method TriangleMesh::transformed_bounding_box(const Transform3d& trafo, double world_min_z) 2021-09-17 08:42:01 +02:00
enricoturri1966
0b1e716e22 Tech ENABLE_RETRACT_ACCELERATION set as default 2021-09-17 08:21:25 +02:00
enricoturri1966
5a84b46ec9 Fix of detection of the out of bed state for sinking objects 2021-09-16 13:38:02 +02:00
Lukas Matena
fe94a3c8c5 LocalesUtils: fixed BSD and improved performance of decimal point formatting functions 2021-09-15 19:52:32 +02:00
Lukas Matena
71ba15b6f0 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
677cb58000 Fix several warnings 2021-09-15 16:36:59 +02:00
enricoturri1966
f132ca9c3c Tech ENABLE_SINKING_CONTOURS set as default 2021-09-14 15:45:21 +02:00
enricoturri1966
bf21abfbfa Follow-up of d52ee52098 - Removed forgotten tech key 2021-09-14 15:17:24 +02:00
enricoturri1966
d52ee52098 Tech ENABLE_FIX_IMPORTING_COLOR_PRINT_VIEW_INTO_GCODEVIEWER set as default 2021-09-14 15:05:33 +02:00
Vojtech Bubnik
9d29eddf16 WIP: admesh eradication
follow-up to 58d8ab3dea
2021-09-14 14:51:40 +02:00
enricoturri1966
30d2c3787f Tech ENABLE_DELAYED_TRANSPARENT_VOLUMES_RENDERING set as default 2021-09-14 14:34:21 +02:00
Vojtech Bubnik
d749baf6bc Fix of 58d8ab3dea 2021-09-14 13:11:21 +02:00
Vojtech Bubnik
58d8ab3dea 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
1c6ecd9c1a 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
a7ea54d88f Fixed conflicts after merge with master 2021-09-14 10:37:08 +02:00
enricoturri1966
a74f3e3fc0 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_reload_from_disk_changes 2021-09-14 10:05:18 +02:00
enricoturri1966
7f89a42be6 Tech ENABLE_PREVIEW_LAYOUT - 1st installment: move view type combo from bottom toolbar to legend 2021-09-14 08:15:47 +02:00
Vojtech Bubnik
0a51afa3e6 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
cab71073a1 Some reduction of unnecessary conversions when calling ClipperUtils. 2021-09-13 15:13:10 +02:00
Vojtech Bubnik
f9a5ee725d 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
e78d647cc2 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
e7591e6aa6 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
enricoturri1966
8109748e84 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_layer_time_preview 2021-09-13 10:06:00 +02:00
Vojtech Bubnik
ae7d6db1d9 Parallelization of the G-code export.
Follow-up to
03b6048684
beee18f229
b5a007a683
etc
2021-09-13 10:04:21 +02:00
Lukáš Hejl
d2a185ddb6 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
ad65366ac7 Added fast_float library as a replacement for std::from_chars and strtod. 2021-09-11 00:54:30 +02:00
Vojtech Bubnik
dc4b783e9e Pimping up SpiralVase code, fix of 03b6048684 2021-09-10 12:10:00 +02:00
Vojtech Bubnik
03b6048684 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
17f665f8d6 Fixed conflicts after merge with master 2021-09-09 11:27:35 +02:00
enricoturri1966
3369e1b599 Fixed conflicts after merge with master 2021-09-09 11:01:49 +02:00
enricoturri1966
8701dd0c76 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-09 10:34:47 +02:00
enricoturri1966
fe8e2ae0d1 ENABLE_GCODE_VIEWER_STATISTICS - Fixed calculation of time required by GCodeProcessor 2021-09-09 09:35:58 +02:00
enricoturri1966
d3382b666f Fixed build on MAC 2021-09-08 15:47:27 +02:00
Vojtech Bubnik
beee18f229 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
88d608351d Fix after merge with master 2021-09-08 14:34:31 +02:00
enricoturri1966
a33a737f52 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_fix_options_z 2021-09-08 14:33:20 +02:00
enricoturri1966
6f678c09d1 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
c12e5bb4ed 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
0da0a7b2a0 Fix of recent GCode / GCodeProcessor refactoring: Don't close a FILE
twice.
2021-09-07 17:58:06 +02:00
Vojtech Bubnik
152e236dda Trying to fix the windows build 2021-09-07 17:31:36 +02:00
Vojtech Bubnik
b5a007a683 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
Vojtech Bubnik
32733b7db9 GCodeProcessor collects positions of line ends for GCodeViewer,
GCodeViewer no more parses G-code just to extract line end positions.
Removed start_mapping_gcode_window(), void stop_mapping_gcode_window(),
they are no more needed.
2021-09-07 15:42:56 +02:00
Vojtech Bubnik
e30ff22b8a GCodePostProcessor - use C files instead of C++ streams, C files are faster.
Also fixed a regression - crashes on undefined cancellation callback.
2021-09-07 14:20:21 +02:00
enricoturri1966
51df3cd163 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-09-07 12:25:35 +02:00
enricoturri1966
761c06ed92 GCodeViewer - Fixed crash when importing gcode generated with Simplify3D and switching to tool view 2021-09-07 12:25:30 +02:00
Vojtech Bubnik
771a892776 Optimization of GCodeProcessor for speed. 2021-09-07 11:18:12 +02:00
Justin Schuh
5c9bc26ed5
Replace OpenProcess with GetCurrentProcess where appropriate (#6914)
GetCurrentProcess is more correct and resolves spurious AV warnings.
2021-09-07 09:45:10 +02:00
enricoturri1966
d35183921b Revert of 7b4c98d727, clamp toolpaths widths increased to 2mm and added default values for toolpaths width and height 2021-09-07 09:41:14 +02:00
Lukáš Hejl
0bc77cef3e Fixed build on Linux and macOS that was failing because of using std::to_chars and std::from_chars with floating-point values.
The old version of GCC and Clang support only integers to be passed to std::to_chars and std::from_chars. macOS older version of Clang doesn't support std::from_chars at all. So for Linux and macOS, it was replaced std::from_chars with strtod and temporarily was replace std::to_chars with snprintf.
2021-09-07 07:43:17 +02:00
Vojtech Bubnik
428509ac00 Pimped up GCodeProcessor::TimeProcessor::post_process():
replaced implicit lambda capture with explicit listing of captured
context for readability and code correctness. Captured this as const.
2021-09-06 18:08:13 +02:00
enricoturri1966
b60a0fe3d3 Fixed conflicts after merge with master 2021-09-06 14:38:21 +02:00
enricoturri1966
7b4c98d727 #6828 - Clamping of toolpaths width performed only for gcodes files produced by 3rd part softwares (Tech ENABLE_CLAMP_TOOLPATHS_WIDTH) 2021-09-06 14:31:10 +02:00
enricoturri1966
fd3d673a1e Tech ENABLE_PREVIEW_LAYER_TIME - Implementation of coloring toolpaths by layer time (Similar to pull request #3904) 2021-09-06 12:18:46 +02:00
Vojtech Bubnik
86d06b0be9 G-code processor tiny change: In place initialization 2021-09-03 17:22:53 +02:00
Vojtech Bubnik
97d1fe35ad G-code writer optimization: Don't use std::strstream, it is slow! 2021-09-03 17:22:28 +02:00
Vojtech Bubnik
dc72723911 Optimization of GCodeReader:
1) Use std::from_chars() instead of strtod()
2) Own implementation of buffered readline()
2021-09-03 16:21:45 +02:00
Vojtech Bubnik
d154752c38 Commenting out untested and unused Polyline::simplify_by_visibility() 2021-09-03 16:21:44 +02:00
enricoturri1966
7f2d1522ce Rendering seams (and other options) in preview using batched models on systems not supporting OpenGL 3.3 2021-09-03 15:35:44 +02:00
Lukas Matena
ed7ebf15d9 Added logging when bed texture/model is not found 2021-09-03 12:13:10 +02:00
Vojtech Bubnik
79784d1a2e Fix of "Support on build plate only" no longer overridden by support painting (#6863)
This is a regression to a late PrusaSlicer 2.4.0-alpha0 change
	8dfc0422a8
    Faster and hopefully more reliable projection of paint-on support
    blockers and enforcers on a sliced mesh.
    Previous d89f01c717 did not fix it.
2021-09-03 11:45:08 +02:00
David Kocik
e630332e24 Added SS2OSD.dll to blacklist. Raises warning dialog for issue #6864 2021-09-03 09:29:15 +02:00
Vojtech Bubnik
d89f01c717 Fix of "Support on build plate only" no longer overridden by support painting (#6863)
This is a regression to a late PrusaSlicer 2.4.0-alpha0 change
	8dfc0422a8
    Faster and hopefully more reliable projection of paint-on support
    blockers and enforcers on a sliced mesh.
2021-09-02 16:29:21 +02:00
Lukas Matena
298825672b Fix painted seam on vertical surfaces (broken since 8dfc042) 2021-09-02 15:18:05 +02:00
Filip Sykala
3f923628aa fix
../src/libslic3r/QuadricEdgeCollapse.cpp:628:21: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:631:21: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:638:48: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:643:25: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:647:25: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
2021-09-02 11:41:11 +02:00
Filip Sykala
746300eafd Fix @(Lukas Matena) note about using NDEBUG 2021-09-02 11:24:33 +02:00
Filip Sykala
f6f70f6fd4 Fix Crash when delete model during simplification 2021-09-01 20:29:27 +02:00
Filip Sykala
25feacfd95 FIX Creation of non volume place in mode during simplification 2021-09-01 19:15:16 +02:00
Vojtech Bubnik
6158347379 Follow-up to #6817
1) Activate installed filament or SLA material profile after update_compatible(),
so that the compatiblity and visibility flags of presets are updated.
2) Only activate the first newly installed filament / SLA material profile
if the active printer did not change. This also means that if no filament
profile was active before Wizard was open or it became incompatible with
the newly installed Printer profile, the default filament profile assigned
to the activated Printer is activated preferably, which may or may not
be one of the newly installed filament profiles.
2021-09-01 14:37:20 +02:00
YuSanka
20453f412b Check unsaved changes before opening of the ConfigWizard 2021-09-01 13:48:40 +02:00
enricoturri1966
639cf17e19 Fixed conflicts after merge with master 2021-09-01 13:28:10 +02:00
Vojtech Bubnik
b29c0ead7d Implemented configurable speed and acceleration settings for the first
object layer over raft interface:
"first_layer_speed_over_raft", "first_layer_acceleration_over_raft".
Fixes I have a question about the speed of the first layer after the raft. #6623
Fixes Layer After Raft Is Not Considered First Layer! #6166
2021-08-31 16:03:14 +02:00
Lukáš Hejl
ccf671dcc9 Added versioning of the structure of stored data for all three painting gizmos (fdm supports, seam and multi-material). 2021-08-31 15:05:11 +02:00
Lukáš Hejl
1835dae296 Fixed a bug that the skirt was generated too far from the brim for some objects. 2021-08-31 14:54:37 +02:00
enricoturri1966
3abc71fa15 Allow to replace files found as missing during reload from disk command 2021-08-31 13:16:29 +02:00
Vojtech Bubnik
5f26bfd397 Brim separation from object, follow up to 82373334bc
1) Changed the name of the variable "brim_offset" to "brim_separation"
   for clarity.
2) Added legacy conversion after loading an old 3MF that does not define
   then new "brim_separation" variable: The "brim_separation" is being
   filled in with the "elefant_foot_compensation" value to produce
   equal brim separation to the old PrusaSlicer that saved that 3MF file.
2021-08-31 12:22:44 +02:00
Lukas Matena
270c076e77 Fixed undo/redo issue when clear method of FacetsAnnotation and ModelConfig
reset timestamp to 1. This led to a bug where e.g. deleting painted facets
through the respective item in object list followed by  possible other actions
and undo restored the painted facets from the time when the project was loaded.
I'm not sure if there was any other situation where this problem manifested.
2021-08-31 09:16:09 +02:00
Vojtech Bubnik
f92312b597 Fixed parsing of Config from AMF / 3MF if it started with an empty line.
This bug was introduced with e947a29fc8
2021-08-30 17:57:04 +02:00
enricoturri1966
1238afbdfd Fixed conflicts after merge with master 2021-08-30 13:26:35 +02:00
enricoturri1966
9c1c723253 Fixed volume name when loading a 3mf, saved with 3rd part software, as project 2021-08-30 11:46:26 +02:00
enricoturri1966
fe66aa9559 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_3mf_mirrored_volumes 2021-08-30 10:44:50 +02:00
enricoturri1966
7a3f8c0a4c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_seams_as_models 2021-08-30 08:37:51 +02:00
Vojtech Bubnik
1c76df89ea Fix of paint on supports don't work for object that has been scaled up #6718
The triangle-ray intersection function used a hard coded epsilon,
which did not work for triangle meshes, that were either too small
or too large. Newly the epsilon may be provided to the AABBTreeIndirect
search functions externally and IndexedMesh calculates a suitable
epsilon on demand from an average triangle mesh edge length.
2021-08-27 21:04:18 +02:00
Vojtech Bubnik
8dfc0422a8 Faster and hopefully more reliable projection of paint-on support
blockers and enforcers on a sliced mesh.
2021-08-27 15:05:18 +02:00
Vojtech Bubnik
306bd0a198 Fixed leakage of paint-on supports through thin objects. This is a bug
introduced during 2.4.0 refactoring.
Fixes To much support #6067
2021-08-27 15:05:18 +02:00
Lukas Matena
2844bee60b Added missing include (gcc 8.4) 2021-08-27 14:01:29 +02:00
Lukas Matena
7852ba061c Slightly reworded the 'Empty layers detected' warning,
it mentions the layers between which the problem occurs,
not just the upper one (which may be unclear).
2021-08-27 12:13:15 +02:00
enricoturri1966
9c4eeeaa18 Tech ENABLE_SEAMS_USING_INSTANCED_MODELS merged into tech ENABLE_SEAMS_USING_MODELS 2021-08-27 11:41:34 +02:00
Vojtech Bubnik
ae8e0311d7 debugging function debug_output_path() moved to utils.cpp/hpp
and it now prints to console the default path when called for the first time.
Fixed compilation of debugging output in SupportMaterial.
2021-08-27 11:25:50 +02:00
enricoturri1966
526700db76 Fixed conflicts after merge with master 2021-08-26 12:47:32 +02:00
enricoturri1966
39ec1a6318 Fixed conflicts after merge with master 2021-08-26 12:39:28 +02:00
enricoturri1966
2980418706 ENABLE_SEAMS_USING_INSTANCED_MODELS -> WIP: Render models using glDrawElementsInstanced 2021-08-26 12:37:55 +02:00
enricoturri1966
dbaaa35534 Tech ENABLE_SAVE_COMMANDS_ALWAYS_ENABLED -> 1st installment: Allow to save/load empty projects 2021-08-26 10:38:14 +02:00
enricoturri1966
8f3468030a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_retract_acceleration 2021-08-26 08:42:04 +02:00
enricoturri1966
67bc29299a Fixed sinking object popping up on bed when adding a modifier 2021-08-26 08:34:43 +02:00
Filip Sykala
9ea3be485f Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-25 16:56:24 +02:00
enricoturri1966
ca098d5763 Fixed manipulation of sinking multipart objects resulting in wrong object/parts positioning 2021-08-25 15:01:15 +02:00
Filip Sykala
790d445420 Merge branch 'master' into fs_QuadricEdgeCollapse
# Conflicts:
#	src/slic3r/GUI/NotificationManager.hpp
2021-08-25 13:16:01 +02:00
enricoturri1966
38cd7fea65 Fixed update of backend after the changes introduced with b3010a817b (Do not allow objects to be placed fully below bed) and pop object on the bed when only one part is left 2021-08-25 12:39:46 +02:00
Lukas Matena
3fc4cc84a7 Fixed invalidation when first_layer_height is changed 2021-08-25 12:01:51 +02:00
Filip Sykala
beb38d09ae Add reserve to mesh boolean operation 2021-08-25 10:51:11 +02:00
David Kocik
cfcfbc38d2 Hints notification random weighted order with saving used hints to cache/hints.cereal 2021-08-24 16:49:09 +02:00
Vojtech Bubnik
d3f11a6ab7 Follow-up to OctoPrint upload: ignore certificate revocation checks
6b03b66167

Renamed the new "printhost_ignore_check" option to "printhost_ssl_ignore_revoke"

Improved the Physical Printers dialog in regard to the new option checkbox
(added tooltip to the checkbox, moved it to the end of options).

Disabled the host_xxx options at the command line interface, they no
more work after these options were separated to Physical Printers profiles.

Little refactoring of Http.cpp/hpp, OctoPrint.cpp/hpp
Private local variables prefixed with m_, some renaming for clarity.
2021-08-24 13:57:52 +02:00
Vojtech Bubnik
c029cd44a4 Initialization of various Preset list of config options was made
thread safe.
2021-08-24 13:10:43 +02:00
Lukas Matena
16562a2e77 Do not print brim when object has raft, it is not supported and makes no sense 2021-08-24 12:43:56 +02:00
enricoturri1966
dfdfb32648 Fixed update of project dirty state after discarding config changes 2021-08-24 12:17:47 +02:00
Vojtech Bubnik
6b03b66167 OctoPrint upload: ignore certificate revocation checks
Fixes Hostname incorrect While test is positive (Bonjour discovery not
supported for the address field) #1781
(partial fix of #1781)
2021-08-24 11:24:48 +02:00
Vojtech Bubnik
fefc20dbbb Slight refactoring of the project state. 2021-08-24 09:34:31 +02:00
Filip Sykala
d7d4d52843 Fix
../src/libslic3r/QuadricEdgeCollapse.cpp:565:22: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:48:15: warning: unused variable 'min_triangle_count' [-Wunused-variable]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:160:9: warning: unused variable 'wanted_count' [-Wunused-variable]
..\src\slic3r\GUI\Gizmos\GLGizmoSimplify.cpp(167): warning C4305: '=': truncation from 'double' to 'float'
2021-08-24 08:21:14 +02:00
enricoturri1966
b3010a817b Do not allow objects to be placed fully below bed 2021-08-24 07:46:59 +02:00
Filip Sykala
89819c1c22 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-23 11:33:14 +02:00
enricoturri1966
fb1334af85 #5798 - Fixed naming of single part objects when loaded from 3mf files produced by 3rd part softwares 2021-08-23 11:23:31 +02:00
Vojtech Bubnik
1d6ade1d9c Optimization of ConfigBase::equals() to not create intermediate
list of modified options.

Optimization of DynamicConfig::equals(), ::diff(), ::equal()
to iterate over the two compared std::map trees instead of
first generating a list of keys and then searching for each key
in the respective map.

Optimization of PresetCollection::current_is_dirty() and ::saved_is_dirty()
to call DynamicConfig::equals() instead of ::diff().
2021-08-23 10:47:47 +02:00
enricoturri1966
720a65c4fd #6806 - Fixed naming of multipart objects when loaded from 3mf files 2021-08-23 09:57:35 +02:00
Merill
64fc2eb425
error when loading configbundle (#6822)
a little typo
2021-08-23 08:09:25 +02:00
Vojtech Bubnik
9a54c21c19 Disabled "expensive checks" in debug mode, TriangleSelector 2021-08-20 16:46:38 +02:00
Vojtech Bubnik
2a7f204859 Fixed update of slicing back-end with MMU-painted objects after change
of a printer from MMU to non-MMU (when number of extruders changes).
Also slightly optimized in case a MMU-painted object is sliced in
single extruder mode.
2021-08-20 16:19:00 +02:00
Vojtech Bubnik
f98f7ba3e8 Fixed unreliable application of filament overrides to PlaceholderParser.
Sometimes the PlaceholderParser used main config instead of filament
overrides and vice versa.
Follow-up to #3649
2021-08-20 14:21:22 +02:00
enricoturri1966
79e8e8627f Tech ENABLE_FIX_MIRRORED_VOLUMES_3MF_IMPORT_EXPORT - fixed export/import to/from 3mf file of mirrored volumes 2021-08-20 11:24:48 +02:00
enricoturri1966
f44d2e14a1 Removed debug code 2021-08-19 09:47:01 +02:00
enricoturri1966
81113218cc Added retract acceleration member variable to GCodeProcessor and modified GCodeProcessor::process_M204() method 2021-08-19 09:38:51 +02:00
tamasmeszaros
a3b089eceb Remove misleading comment 2021-08-18 16:51:14 +02:00
tamasmeszaros
1672130d45 Remove code duplication, clarify naming of orientation searches 2021-08-18 16:48:51 +02:00
tamasmeszaros
74edeb147b Add min z height orientation search 2021-08-18 16:48:51 +02:00
Oleksandra Yushchenko
caf8ef4aab
Auto selection of presets (#6817)
PresetComboBoxes: Auto selection of printer/material preset from the new added presets in ConfigWizard
+ Check unsaved changes if ConfigWizard is running from the PesetComboBoxes
2021-08-18 16:10:35 +02:00
Filip Sykala
27fcf55eaa Add cancel and statusFn into init phase of simplification
Move debug functions into NDEBUG macro
2021-08-18 12:07:46 +02:00
Filip Sykala
cc88b1e86b Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-18 10:37:21 +02:00
tamasmeszaros
5e0cbbef83 Fix SLA support strut piercing into model 2021-08-18 09:36:01 +02:00
tamasmeszaros
4e32863b99 Merge branch 'tm_rotfinder_fixes' 2021-08-17 16:15:41 +02:00
tamasmeszaros
24815381d2 Some improvements to "less supports" optimizer 2021-08-17 15:40:01 +02:00
Lukas Matena
86c1e5c50f Default values for brim_offset anf elefant_foot_compensation set to zero 2021-08-17 15:09:34 +02:00
Lukas Matena
82373334bc Merge remote-tracking branch 'origin/lh_brim_offset' 2021-08-17 15:02:41 +02:00
Filip Sykala
b90ca142a5 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-16 11:56:56 +02:00
Filip Sykala
6745076e79 Merge branch 'fs_QuadricEdgeCollapse' of https://github.com/prusa3d/PrusaSlicer into fs_QuadricEdgeCollapse 2021-08-16 11:55:43 +02:00
Filip Sykala
62f8ab1cbe Add check of neighbors
Add store triangle for debug purpose
2021-08-16 11:53:37 +02:00
tamasmeszaros
8b5a63eaf8 Make the input mesh transformation consistent.
Also add some comments
2021-08-16 11:29:48 +02:00
tamasmeszaros
11b994a702 Rotfinder fixes wip 2021-08-16 11:29:22 +02:00
Vojtech Bubnik
d569789285 Fixes after merging 2.3.2/2.3.3 changes from stable to master. 2021-08-13 14:53:13 +02:00
Vojtech Bubnik
add67d769a Fix of 2.3.2 regression in configuration layer (reading of nullable
boolean vectors)
Fix of Filament overrides on saved 3MF MMU profiles are broken #6711
2021-08-13 13:53:09 +02:00
bubnikv
16104587ac Improvement in the subtitution information dialog. 2021-08-13 13:49:43 +02:00
bubnikv
26822347ed Forward compatibility, parameter susbtitution: Substitute vector values
(extruder specific) with their default, if the default
is a single value vector.
Show the "Physical Printers" label in the substitution window.
2021-08-13 13:48:28 +02:00
bubnikv
3a0b71deed Configuration compatibility - implemented substitution and reporting for vectors
of bools (including the nullable bools).
2021-08-13 13:48:12 +02:00
bubnikv
5b843aa291 Fix of the previous commit. 2021-08-13 13:47:07 +02:00
bubnikv
c7691ec95e Forward compatibility - config substitutions:
1) Verify whether a value looks like an enum
2) Always report substitution of an enum with a boolean.
2021-08-13 13:43:33 +02:00
Vojtech Bubnik
a25d2d1de4 Support for SL1S printer:
Where SL1 is mentioned, mention it as SL1 / SL1S.
Support loading / saving of SL1S files in addition to SL1.
2021-08-13 13:40:13 +02:00
Vojtech Bubnik
965c2f2c55 Improved error reporting when importing various configuration files:
1) Slic3r::RuntimeError was replaced with ConfigurationError,
   all exceptions thrown by the configuration layer are derived
   from ConfigurationError.
2) When parsing configuration files, ConfigurationError is catched and
   rethrown extended with the file name being parsed.
2021-08-13 13:37:24 +02:00
Vojtech Bubnik
856da036eb Fixed loading of system presets with incompatible system profile keys
before the "reconfigure" dialog is shown.

Replaced boost::filesystem::copy_file() with Slic3r::copy_file()
in config snapshot loading code.
2021-08-13 13:34:40 +02:00
YuSanka
1e60acde12 Substitutions : Implemented InfoDialog 2021-08-13 13:30:50 +02:00
Vojtech Bubnik
8e28ca6f4a Fixed reading of configuration from 3MF broken
with e947a29fc8
2021-08-13 10:52:54 +02:00
Vojtech Bubnik
e947a29fc8 Follow-up to 7c01ddf996
1) Starting with this commit, configuration block exported into G-code
   is delimited by "; prusaslicer_config = begin" and "; prusaslicer_config = end".
   These delimiters look like any other key / value configuration pairs
   on purpose to be compatible with older PrusaSlicer config parsing from G-code.
2) Config parser from G-code newly searches for "; generated by ..."
   comment over the complete G-code, thus it is compatible with various
   post processing scripts extending the G-code at the start.
3) Config parser from G-code parses PrusaSlicer version from
   the "; generated by PrusaSlicer ...." header and if the G-code was
   generated by PrusaSlicer 2.4.0-alpha0 and newer, it expects that
   the G-code already contains the "; prusaslicer_config = begin / end"
   tags and it relies on these tags to extract configuration.
4) A new simple and robust parser was written for reading project configuration
   from 3MF / AMF, while a heuristic parser to read config from G-code located
   at the end of the G-code file was used before.
2021-08-12 15:27:46 +02:00
Lukas Matena
c44715f9e0 Moved 'brim_offset' option into Advanced mode (same as EFC) 2021-08-12 13:38:53 +02:00
Lukas Matena
7e0a2644e2 Fixup of previous commit 2021-08-11 13:38:28 +02:00
Lukas Matena
49ead341ba Follow-up of cf32b56 (postprocessing scripts):
- The optional output_name file might contain the .pp suffix.
- In case the file contains just filename, prepend it with the
  output dir. We don't want to save to current workdir.
2021-08-11 12:12:50 +02:00
Vojtech Bubnik
7a60e8cb3a Follow-up to 215ee293ae:
More robust CLI parser.
2021-08-11 09:49:23 +02:00
Lukáš Hejl
18cff61bd2 Reworked visualization of selected triangles by seed fill and bucket fill inside the multi-material painting gizmo. Now is drawn boundary around a selected area, and also all triangles inside the selected area are drawn with a darker color. 2021-08-10 21:38:48 +02:00
Lukáš Hejl
e5ce748b10 Added missing includes (GCC 11.1) 2021-08-10 21:37:10 +02:00
Vojtech Bubnik
cf32b56454 Implemented extension of the G-code post-processor framework:
1) New environment variable SLIC3R_PP_HOST contains one of
   "File", "PrusaLink", "Repetier", "SL1Host", "OctoPrint", "FlashAir", "Duet", "AstroBox" ...
2) New environment variable SLIC3R_PP_OUTPUT_NAME contains the name
   of the G-code file including path (for SLIC3R_PP_HOST == "File")
   or a name of the file after upload to the host (PrusaLink, Octoprint ...)
3) The post-processing script may suggest a new output file name
   (likely based on SLIC3R_PP_OUTPUT_NAME) by saving it as a single line
   into a new "output name" temp file. The "output name" file name is
   created by suffixing the input G-code file name with ".output_name".

Please note that the G-code viewer visualizes G-code before post-processing.

Fixes Broken PostProcessing when script changes out-filename #6042
2021-08-10 15:22:01 +02:00
Lukáš Hejl
58f83b5e6a The offset is applied after the elephant food compensation. The value of the brim offset is now also measured from the object after the elephant foot compensation. Thus, the brim offset set to zero means that the brim will touch the object even if elephant foot compensation is enabled. 2021-08-10 09:44:39 +02:00
Vojtech Bubnik
04d6b17c57 Fix of Some FDM supports fail to generate due to wrongly-translated enforcer polygons. #6739
Thanks @n8bot for finding the bug.
Also removed some dead code in MM segmentation.
2021-08-10 09:41:28 +02:00
Vojtech Bubnik
9f9cbb46f9 Suppor of "No extrusion" firmware flavor by not emitting the E axis.
Fix of https://github.com/prusa3d/PrusaSlicer/issues/6023
The fix is partial: No extrusions are shown by the final G-code preview.
2021-08-09 17:37:35 +02:00
Lukáš Hejl
b174dacc85 Added a missing include (GCC 11.1) 2021-08-07 08:29:32 +02:00
Lukas Matena
0ccc791750 Merge branch 'fs_QuadricEdgeCollapse' 2021-08-06 18:23:49 +02:00
Lukáš Hejl
666cdeecd9 Forced recomputation of seed fill selected areas when the seed fill angle is changed by ALT+mouse wheel. 2021-08-06 16:46:48 +02:00
Filip Sykala
ef5c94f90a Fix: prevent degeneration of model during simplification 2021-08-06 15:11:20 +02:00
YuSanka
d543d2f29d Fixed "volume is splittable" detection 2021-08-06 15:04:23 +02:00
Lukas Matena
01f32e18d6 Fixed build on Linux, abs->std::abs 2021-08-06 13:03:30 +02:00
Vojtech Bubnik
deda13ffc7 Fixed previous commit 2021-08-05 17:34:04 +02:00
Vojtech Bubnik
54897aeac0 Fixed previous commit 2021-08-05 17:33:41 +02:00
Vojtech Bubnik
ea5a90f08c Merge remote-tracking branch 'remotes/origin/master' into fs_QuadricEdgeCollapse 2021-08-05 17:17:18 +02:00
Vojtech Bubnik
49fdf3da7b follow-up to a86e7107a5:
Make is_converted_from_meters / is_converted_from_inches exclusive-or.
Maybe it would be better to make a single enum from the two booleans,
if they are exclusive-or?
2021-08-05 15:35:44 +02:00
enricoturri1966
34da899c66 Temporary tech ENABLE_SEAMS_USING_INSTANCED_MODELS -> WIP (still missing opengl calls) 2021-08-05 15:08:49 +02:00
Lukas Matena
215ee293ae CLI parsing: allow giving explicit values for bool options, improved error reporting:
It is now possible to use e.g. --ensure-on-bed=0 for bools (meaning the same as --no-ensure-on-bed).
Using --no- prefix on non-boolean is an error (--no-ensure-on-bed=1)
Providing a value for --no- prefixed bool is an error (--no-loglevel 5)
2021-08-05 13:45:16 +02:00
Lukas Matena
e76b54b770 Follow-up of bc81c22e (renamed the new CLI option --dont-ensure-on-bed to avoid double negatives) 2021-08-04 15:44:35 +02:00
enricoturri1966
55bac68603 Tech ENABLE_SEAMS_USING_MODELS - 1st installment 2021-08-04 15:13:43 +02:00
Lukas Matena
bc81c22ea9 CLI: Ensure that objects are on bed by default, new CLI config option:
'dont-ensure-on-bed' (which allows to override). This was the original
behaviour in Slic3r and Sli3rPE, probably broken long ago when CLI
was ported from  Perl.
Also, --scale-to-fit should now work again (#5772)
2021-08-04 12:15:37 +02:00
Lukáš Hejl
9e5fc2e713 XY size compensation is ignored when the object is also painted using the multi-material painting gizmo. A user is also notified about it. 2021-08-03 13:03:06 +02:00
Lukáš Hejl
742a373c1f Added invalidation of the sliced object when gap-fill enabled/disabled if the object is painted using the multi-material painting gizmo.
Filtering of unprintable regions in multi-material segmentation depends on if gap-fill is enabled or not. So sliced object is invalidated when gap-fill was enabled/disabled by option "gap_fill_enabled" or by changing "gap_fill_speed" to force recomputation of the multi-material segmentation.
2021-08-03 13:03:06 +02:00
Lukáš Hejl
b16aada962 Added clipping of finite Voronoi edges that have coordinates that don't fit inside type coord_t. 2021-08-03 13:03:06 +02:00
Lukáš Hejl
93b86da770 Fixed the wrong threshold in the multi-material segmentation. 2021-08-03 13:03:06 +02:00
Lukáš Hejl
d13c08837c Fixed an issue that some triangles weren't selected when bucket fill was used in the multi-material painting gizmo. 2021-08-03 13:03:06 +02:00
Lukáš Hejl
5bd14cf83a Fixed the compiler warning. 2021-08-03 10:16:52 +02:00
YuSanka
e8e3279511 Shapes Gallery :
- Suppress to create a PNG-files for system shapes
 - Allow to load the OBJ files
2021-08-02 15:00:41 +02:00
Lukáš Hejl
bad51cdb52 OSX specific: Fixed darker colors of objects inside multi-material gizmo on macOS running on Arm64 CPU.
For Apple's on Arm CPU computed triangle normals inside fragment shader using dFdx and dFdy has the opposite direction. Because of this, objects had darker colors inside the multi-material gizmo.
Based on https://stackoverflow.com/a/66206648, the similar behavior was also spotted on some other devices with Arm CPU.
2021-08-02 14:59:03 +02:00
Filip Sykala
59d02aea0a Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-02 09:04:15 +02:00
Vojtech Bubnik
2f6f1f0e55 WIN32 specific Blacklisted libraries check:
1) Polished up wording of the error messages.
2) Made some messages in the SysInfo dialog localized.
3) Renamed LibraryCheck.cpp/hpp to BlacklistedLibraryCheck.cpp/hpp
4) CPPized the BlacklistedLibraryCheck WIN32 C code.
2021-07-30 15:52:52 +02:00
enricoturri1966
5aff44debe ENABLE_PROJECT_DIRTY_STATE set as default 2021-07-30 09:33:51 +02:00
Vojtech Bubnik
654cd753e2 Changed the label of "Marlin Firmware" to "Marlin 2" 2021-07-29 16:21:09 +02:00
Vojtech Bubnik
1659e4c77f Fixed splitting of triangle meshes, where the splitting function
may produce a single triangle, which is then removed by the repair function.
2021-07-29 15:02:50 +02:00
enricoturri1966
438439fd71 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-07-29 13:28:16 +02:00
enricoturri1966
86da45eb66 Horizontal slider in preview to show always (and only) gcode lines indices 2021-07-29 13:28:07 +02:00
David Kocik
0d74502aeb Hint notification
Reads data from hints.ini. Has hyperlinks to highlight settings, toolbars and gizmos.
2021-07-29 13:20:50 +02:00
enricoturri1966
81f4df70dc Fixed conflict after merge with master 2021-07-29 12:25:28 +02:00
Lukáš Hejl
da3a0c6332 Fixed a crash in the multi-material segmentation when projected lines are outside of the BoundingBox used for EdgeGrid. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
f577350f1f Reworked bucket fill so that all neighboring triangles are computed based on information about triangle neighbors. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
6d0e5d3b9c Enabled to set "Maximum width of a segmented region" per object. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
37f5f12f52 Replaced unnecessary double storing of edges in a graph for the multi-material segmentation by storing indices into a shared array of arcs. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
216589fdb1 Get rid of unnecessary double storage of processed input polygons in the multi-material segmentation as ExPolygons and also as Polygons. All processed input polygons are now stored as ExPolygons. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
38866b65b0 Get rid of unnecessary double calling of TriangleSelector::reset() in some cases when TriangleSelector::deserialize() is called. 2021-07-29 11:45:01 +02:00
Lukáš Hejl
2569da95d5 Parallelized the projection of painted regions in multi-material segmentation. 2021-07-29 11:45:01 +02:00
Lukáš Hejl
7a60f1793c Fixed a possible overflowing of a painted area to an unpainted area in multi-material segmentation.
It was reworked graph generation for multi-material segmentation. Now only oriented arcs in one direction are added to the graph for input polygons. This direction matches the direction of the lines in the input polygons.
2021-07-29 11:45:01 +02:00
Lukas Matena
a54f5fb41a Render statistics now shows actual SwapBuffers() calls per second 2021-07-28 12:50:01 +02:00
enricoturri1966
502906178f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_contours 2021-07-27 09:04:52 +02:00
Vojtech Bubnik
eb6392dccd New slice_mesh() variant slicing with a single plane only, running
on a single thread only (not parallelized).
The new slice_mesh() is used to calculate contour of objects sunken
below the print bed.
2021-07-26 17:02:56 +02:00
tamasmeszaros
27b1174558 Increase minimum oversampling for grid conversion in hollowing
To avoid generation of broken meshes when the space for hollowing is tight
2021-07-26 14:51:22 +02:00
YuSanka
e79bcee739 Fixed update of the default menu after changing of the mode.
+ Added check for the output directory for the G-code extport.
2021-07-26 14:41:38 +02:00
tamasmeszaros
ca67d880ec Fix issues with finding new deps on win 2021-07-26 13:07:20 +02:00
tamasmeszaros
7ed0d6b886 Fix broken hole drilling 2021-07-26 12:28:57 +02:00
enricoturri1966
8df2525355 Fixed conflicts after merge with master 2021-07-23 11:40:07 +02:00
Lukas Matena
d3b1b1f3d5 Fix of clipping plane for SLA supports,
probably broken since 1009f78
2021-07-23 11:32:36 +02:00
enricoturri1966
8ebb2e2a29 Fixed import of color print view from gcode files into GCodeViewer 2021-07-23 11:27:07 +02:00
enricoturri1966
c9aa88db0d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_contours 2021-07-22 13:00:47 +02:00
enricoturri1966
15b8e68c59 Tech ENABLE_SEAMS_VISUALIZATION set as default 2021-07-22 12:58:33 +02:00
enricoturri1966
59606a0ef6 Tech ENABLE_START_GCODE_VISUALIZATION set as default 2021-07-22 12:32:08 +02:00
enricoturri1966
d5ad47d0ca Tech ENABLE_SCROLLABLE_LEGEND set as default 2021-07-22 12:18:38 +02:00
enricoturri1966
2dd7091cc3 Tech ENABLE_MODIFIED_DOWNSCALE_ON_LOAD_OBJECTS_TOO_BIG set as default 2021-07-22 11:55:08 +02:00
enricoturri1966
5c6810d0bc Fixed conflicts after merge with master 2021-07-22 11:46:00 +02:00
enricoturri1966
65b3be92fe Techs DISABLE_ALLOW_NEGATIVE_Z_FOR_SLA and ENABLE_ALLOW_NEGATIVE_Z set as default 2021-07-22 11:26:31 +02:00
enricoturri1966
81c78d0ecc Tech ENABLE_EXTENDED_M73_LINES set as default 2021-07-22 09:55:39 +02:00
enricoturri1966
7817105abe Tech ENABLE_GCODE_WINDOW set as default 2021-07-22 09:37:02 +02:00
enricoturri1966
5faac3c105 Tech ENABLE_VALIDATE_CUSTOM_GCODE set as default 2021-07-22 09:13:12 +02:00
enricoturri1966
b80fb40fcd Tech ENABLE_GCODE_LINES_ID_IN_H_SLIDER set as default 2021-07-22 08:35:21 +02:00
YuSanka
232309a879 Don't save shapes directory to the "last_dir" 2021-07-21 16:13:40 +02:00
enricoturri1966
2d8f35561a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_contours 2021-07-21 15:35:41 +02:00
enricoturri1966
22f04ca46e Tech ENABLE_SINKING_CONTOURS -> 1st installment 2021-07-21 15:30:57 +02:00
Filip Sykala
b225fadfde Allow skip edge with only one triangle during simplification 2021-07-21 15:23:48 +02:00
enricoturri1966
9264b79be7 Tech ENABLE_RELOAD_FROM_DISK_FOR_3MF set as default 2021-07-21 14:10:05 +02:00
Filip Sykala
87a6c8cb73 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-21 07:52:57 +02:00
YuSanka
097afc6598 Follow-up bf981ae049 : Small improvements 2021-07-20 15:22:52 +02:00
Filip Sykala
5ac2809426 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 12:05:58 +02:00
enricoturri1966
c61785f775 Tech ENABLE_SEQUENTIAL_LIMITS set as default 2021-07-20 12:05:15 +02:00
YuSanka
bf981ae049 Temporary workaround for compatibility with older Slicer:
To the "physical_printer" added "preset_name" option as a duplicate of the "preset_names" but like one string.
Note: It will works just for printer preset names without ";" (see #5503)
2021-07-20 10:18:59 +02:00
enricoturri1966
7d3e176a58 GCodeViewer -> Fixed loading of machine limits data from config contained into gcode files 2021-07-20 09:38:35 +02:00
Filip Sykala
bc3da9973b Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 08:22:06 +02:00
Filip Sykala
25a4887075 QEC: When collapsing edge flip normal than check other edges in triangle
Quadric is calculated with double precission of normal
Fix calculation of normal for changed triangles
2021-07-19 15:46:41 +02:00
Lukáš Hejl
5405ab1986 Optimized seed fill and bucket fill selection to recompute selection only in case the cursor is pointing on a non-selected triangle. 2021-07-19 11:30:40 +02:00
Lukáš Hejl
5b67fafb75 Fixed a crash in the multi-material gizmo when bucket fill is selected. 2021-07-19 11:30:35 +02:00