Commit Graph

41 Commits

Author SHA1 Message Date
Vojtech Bubnik
95986dddcd Fix of Enforce support for first N layers has no effect #470 2021-02-23 15:31:21 +01:00
Vojtech Bubnik
8aa409b51c Trimming support base layer with brim.
Fixes Brim destroyed by support aka. Enable supports on top of brim #1156
Fixes Brim Priority/Support on Brim #713
Fixes Phantom Support columns interfere with brim #3396
Fixes false generation of brim when supports are used #3395

This is a work in progress, as the brim generator currently produces
different brim areas from what the support generator expects.
2021-02-23 14:43:47 +01:00
Vojtech Bubnik
7b93a3fdaf Fix of Paint on support ignores some paints. #5948
When projecting the horizontal or nearly horizontal support enforcers or blockers
into object layers, the projection may fall on a layer above or below the layer
where it should in case the nearly horizontal support enforcer or blocker
triangles are intersecting the slicing plane of one of the object layers.
Due to numerical issues, projection of the support blocker or
enforcer triangles may not fall to the same side of the slicing plane
as when slicing the object. To make the projection robust, horizontal triangles
are newly projected to both the layer below and above if they are close
to the object slicing plane.
2021-02-23 12:30:15 +01:00
Vojtech Bubnik
5a0e0857a0 Fixes Support Interface printed on air #2903
Fixes Supports generated loose in space #4874
Fixes Support Interface layers in midair #5016
2021-02-22 18:07:27 +01:00
Vojtech Bubnik
2813cb5cd4 Fixed compiler warnings 2021-02-19 20:09:57 +01:00
Vojtech Bubnik
3fd46657d8 Fixing a constness issue of the preceding commit. 2021-02-19 19:00:43 +01:00
Vojtech Bubnik
b76dafdda3 Improvements in FDM support generator:
Projection into a grid has been reworked to use the AGG rasterizer.
This fixes #5209 and #6067.
Also the raster is now being oversampled by maximum 8x8 samples
and the supports are only allowed to expand inside the cell.
This significantly reduces leakage of supports through object walls,
which fixes #5054.
2021-02-19 18:50:44 +01:00
Vojtech Bubnik
8cf75cf037 Fix of Improve Support material adhesion by base type interface layers
under soluble supports. #5823
Implemented as a pull request #5903 by @spiky2021
and reworked.

commit c7993e619225553a2c4078787907b9ebbd9ac759
Author: spiky2021 <77010315+spiky2021@users.noreply.github.com>
Date:   Thu Feb 11 12:39:25 2021 +0100

    Base type interfaces for soluble interface supports

    At the moment soluble support material adhesion is weak due to sparse support layers under soluble support layers. I reported as issue #5823 with pictures, as well.
    I modified two methods to the SupportMaterial Class including their headers.
    The new methods add two base type interface layers to the support structure, in case the extruders are different and soluble support is choosen.
    Since it is conditionally activated, it in general doesn't need a GUI input. But a GUI option number of base interface layers may enabled users to adapt this feature to their needs.
    This is my second try to provide a pull request on this topic. Reset my fromer repository, because first I merged this and all other changes to my master and couldn't provide separate pull request anymore.
2021-02-15 18:07:44 +01:00
Vojtech Bubnik
a000a318a3 Fixing one more Win32 warning 2021-02-11 08:42:52 +01:00
Vojtech Bubnik
d62aace663 Reduction on compiler warnings, mainly on MSVC.
Fix of the new gap_fill_enable flag: Take it into account when comparing
regions.
2021-02-10 17:29:07 +01:00
Vojtech Bubnik
e40485fc8a Fixed some clang warnings 2021-02-09 19:23:58 +01:00
Lukas Matena
301ac20fa1 Fixing Clang warnings 2 2021-02-08 17:52:29 +01:00
Vojtech Bubnik
831f47f4f8 Fixing some compiler warnings on Linux 2021-02-08 11:58:03 +01:00
Vojtech Bubnik
3f2b57b1d4 Squash merge of lh_brim_rework,
brim separated to Brim.cpp,hpp
Refactored accessors to PrintObjectPtrs, PrintRegionPtrs, LayerPtrs,
SupportLayerPtrs for const correctness.
2021-02-03 15:12:53 +01:00
Vojtech Bubnik
8f28f43e97 Merge of Fix support doesn't ignore overhangs bridge anymore #5164 2020-12-11 15:14:16 +01:00
Vojtech Bubnik
db97a97116 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
Vojtech Bubnik
9c07db8ee0 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
Lukas Matena
58b6d94166 Custom seam: Model integration, backend invalidation, 3MF loading/saving 2020-09-01 22:35:01 +02:00
Vojtech Bubnik
ef4c563db2 Fix of Support generator debugging functions after some refactoring 2020-08-12 10:51:15 +02:00
bubnikv
41d69e546b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2020-04-28 19:31:18 +02:00
Lukas Matena
9ac1bfd9be Custom support blockers are now working 2020-04-27 17:45:55 +02:00
bubnikv
805cc03894 Introduction of Monotonous infill type. Fill no-sort only for monotonous
and ironing infills.
2020-04-25 08:15:04 +02:00
Lukas Matena
455a0f42ed Moved the projection function into PrintObject.cpp 2020-04-21 13:50:47 +02:00
Lukas Matena
e28d048176 Fixed the algorithm so it works for horizontal triangles
Partial code cleanup
2020-04-21 01:39:40 +02:00
Lukas Matena
a534eb1fcd Project each part of the triangle on one slice only (WIP) 2020-04-21 01:39:35 +02:00
Lukas Matena
add0826174 Save z heights of the triangle vertices 2020-04-20 14:01:11 +02:00
Lukas Matena
1ca9791c1a First partially working implementation of custom supports at the backend
The solution is temporary and should be improved and moved elsewhere - see comments in the code.
2020-04-17 13:15:26 +02:00
bubnikv
744f1721f6 Fix of "Don't use bridging perimeters on top of elephant-foot compensation #3011"
If the Elephant foot compensation is applied to the 1st object's layer,
the uncompensated 1st object's slice is newly used for calculation
of bridges, overhans, skirt, brim, raft and supports.

Layer::slices were renamed to Layer::lslices to simplify reading
of the code, to differentiate from LayerRegion::slices.
2020-01-03 14:07:31 +01:00
bubnikv
d72d96a1fe FDM Print refactoring:
Layer newly remembers bounding boxes of slices,
the bounding boxes are used by G-code generator & newly the support
generator.
Slices are stored as ExPolygons, not ExPolygonCollection.
2019-10-01 17:17:08 +02:00
bubnikv
ce217b6222 Rest of the path chaining has been replaced with the new algorithm.
PolylineCollection.cpp/hpp was removed, use Polylines instead.
Various first_point() / last_point() now return references, not copies.
2019-09-27 18:17:21 +02:00
Lukas Matena
f7bd47c845 PRUS.cpp: Fixed an always-true condition in extract_model_from_archive
SupportMaterial.cpp: Simplified one condition (also solves a -Wmaybe-uninitialized warning on gcc)
2019-09-24 18:09:48 +02:00
Lukas Matena
a34a1341c5 Whitespace changes to supress misleading indentation warnings
These appear in newer gcc when spaces and tabs are mixed
2019-09-24 16:01:01 +02:00
Lukas Matena
d2c908ef7f Merge branch 'master' into lm_warnings 2019-07-15 13:26:55 +02:00
Lukas Matena
9bbe65c53e Fixed warnings in libslic3r 2019-06-25 16:04:29 +02:00
bubnikv
436b9c40fe Integrated the new layer height spans with configs into the backend.
Fixed some compiler warnings.
2019-06-20 16:15:09 +02:00
bubnikv
cf71232519 Partial fix of "Wrong width of perimeter for solid anchors #1803"
Improvement in handling of the "default" external perimeter width.
2019-04-18 15:08:11 +02:00
bubnikv
4faf41fc33 Fixed a regression issue in the triangle mesh slicing code, where
a broken contour was not glued together using the closest neighbors.
2019-03-11 17:18:38 +01:00
bubnikv
9c9ff5550a Merged improvements of supports from stable to master. 2018-12-12 10:12:35 +01:00
bubnikv
e0d4b84685 Removed the STDMOVE macro. 2018-11-02 20:45:23 +01:00
bubnikv
7a36f9f3c0 Meged with dev2 2018-09-19 11:28:30 +02:00
bubnikv
1260b8deb3 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00