Commit Graph

3649 Commits

Author SHA1 Message Date
ca0fa1ea42 "only_retract_when_crossing_perimeters" disabled by default
to reduce stringing for "custom" printers based on "defaults".
2021-10-15 16:35:16 +02:00
0dfd27f434 Fix crash with some models after hole drilling 2021-10-15 15:32:14 +02:00
9e8d883fc7 Fixed visualization of G-code in G-code viewer after 07e7e11590
Fix of prusa-gcodeviewer changes modification time of the viewed gcode file #7005
2021-10-15 14:31:57 +02:00
69031a275a 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
6a21655256 Making GCC happy. 2021-10-14 09:33:39 +02:00
0333ed1b42 Fixed compilation on non MS systems 2021-10-14 09:31:53 +02:00
1c626e8596 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
2f8e9f5af4 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
ed471b1f41 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
c17004fba4 Fix in seams detection (restore detection after wiping) 2021-10-13 11:13:31 +02:00
736d1c41ef Seams detection now takes in account for overhang perimeters 2021-10-12 12:03:34 +02:00
affcb311fa Revert of e28ebf9386 2021-10-12 11:49:51 +02:00
bee6a41d72 Minor beautification 2021-10-12 10:55:23 +02:00
ee568857c9 Removed threshold to detect seams to be shown in preview 2021-10-12 09:53:23 +02:00
8c7562f082 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
848fdaadf4 #7076 - Modifiers and similar objects always rendered as transparent 2021-10-08 10:48:46 +02:00
fd21659d67 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
11247aa6ac Fixed a warning. 2021-10-07 13:36:06 +02:00
20ce0abd00 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
6e976817e6 MSW specific:Added dark mode for G-CodeViewer 2021-10-07 11:53:19 +02:00
2a367f6774 Check if object's size appears to be zero, when loading the model file. 2021-10-07 09:12:31 +02:00
d83b2e0d3d 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
93317618dd Save/Load repaired errors from/to a mesh statistics to/from a 3MF 2021-10-06 10:57:28 +02:00
68c74c6259 First draft of SendSystemInfoDialog 2021-10-05 15:09:52 +02:00
9cec27da12 Minor performance optimization for convex intersection algo 2021-10-05 13:31:09 +02:00
2adcef8dbe 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
6c99b50008 Merge branch 'master' of https://github.com/Prusa3D/PrusaSlicer 2021-10-04 16:33:33 +02:00
37af8492b6 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
30aa248234 Don't report intersection if two polygons are only touching. 2021-10-04 14:16:13 +02:00
379c64ef20 Merge branch 'tm_convex_intersect_rotcalip' 2021-10-04 10:12:04 +02:00
817441119b #7050 - GCodeProcessor: Fixed processing of gcode lines M109 2021-10-04 09:02:03 +02:00
476ff563c5 Fix compile issues and overlapping polygon fails 2021-10-01 18:27:37 +02:00
afd8bf9424 Several minor improvements and fixed warnings 2021-10-01 14:31:22 +02:00
1afc35e7c0 Fixed update of mesh volume after applying a transformation.
Fixes flipped normals when importing some 3MFs.
2021-10-01 14:28:45 +02:00
4ae477d84e Fixed import of multi-material AMF files, broken due to admesh eradication. 2021-10-01 13:34:22 +02:00
9c21bc98cb Remove duplicit warning about not enabled support enforcers 2021-10-01 10:08:19 +02:00
59c982c5ea 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
e1ea6fcd5c Fast convex polygon intersection test with rotating calipers 2021-09-30 15:49:12 +02:00
e3ebd09c28 Fixed spelling error preffered / preferred 2021-09-30 14:44:11 +02:00
f045fed340 Find name of preset from alias before selecting preferred preset. 2021-09-30 14:42:30 +02:00
de000ed50b 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
9cb5c2d826 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
2352c07443 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
f3a185f243 Fixed warnings 2021-09-30 09:00:01 +02:00
980bd09d93 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
727f0573a6 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-09-27 16:03:22 +02:00
8087c7fcbb #7011 - Follow-up of 3ee259b602 - Modified volumes' indices rebase 2021-09-27 16:03:09 +02:00
88d9232559 Touch-up to some comments, removed commented-out code 2021-09-27 15:00:58 +02:00
c75c12e0a5 #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
529d897e2e Added missing include 2021-09-27 13:02:56 +02:00