117 Commits

Author SHA1 Message Date
supermerill
dd20123d0f hole size compensation
slic3r/Slic3r#3323
prusa3d/Slic3r#1065
prusa3d/Slic3r#794
prusa3d/Slic3r#515
2018-07-26 20:47:29 +02:00
supermerill
c1f3380339 Merge commit 'e0e6a238107b3614fde83d79a6e6056d0a378e2a' into master_slic3rPE_PR 2018-07-26 12:23:48 +02:00
supermerill
6b2bd269cd Dense infill update:
* now under solid layers instead of top layers
* split surface if too big
* add pattern selection (default to rectilinear)
* add pattern angle
* use external_infill_margin to be a bit bigger than the solid area
* also a better count algorithm, but not perfect (i can see some shenanigan but it's not feature-breaking)
2018-07-24 18:58:11 +02:00
Lukas Matena
167060e470 Added some profilling macros into GCodeTimeEstimator 2018-07-20 16:14:23 +02:00
Enrico Turri
d805c8ac3b Disable slicing when one object crosses the print volume boundary 2018-07-18 14:26:42 +02:00
Enrico Turri
d672a69554 Slice only objects contained into the print volume 2018-07-18 09:37:25 +02:00
Lukas Matena
2454c566ff Changing number of copies invalidates the wipe tower (and thus forces recalculation of the purging extrusions) 2018-07-10 15:39:47 +02:00
supermerill
18f926cfc4 Don't print totally unsupported perimeters.
- remove outer overhangs (via a intersection with convection hull)
 - add bridge-able area detection (reuse the BridgeDetector but it's a bit wonky with overhangs and not very smooth)
 - add gui switchs
2018-07-09 20:01:40 +02:00
supermerill
47ad0dad77 Anchor solid infill / external_infill_margin -> split with bridged. 2018-07-01 19:35:56 +02:00
supermerilll
3de81fc960 Dense sparse infill
(also a bit of cleaning)
2018-07-01 18:58:24 +02:00
supermerill
d21c33e9b5 #668, #932 : parameter for external infill margin 2018-06-27 14:03:21 +02:00
supermerill
436bdac624 gui switchs : enforce 100% fill volume 2018-06-27 13:59:57 +02:00
supermerill
f26b0482f3 Merge remote-tracking branch 'remotes/prusa/master' into supermerill-dev 2018-06-26 17:52:38 +02:00
Lukas Matena
4dae6cbf60 Merge branch 'master' into wipe_tower_improvements 2018-06-26 12:58:04 +02:00
Enrico Turri
0faaef76e8 C++ code cleanup 2018-06-12 12:18:16 +02:00
Lukas Matena
b6455b66bd Wiping into infill/objects - invalidation of the wipe tower, bugfixes 2018-06-07 16:19:57 +02:00
Enrico Turri
30a3b2179b 3DScene timer and _variable_layer_thickness_action method moved to c++ 2018-05-30 15:18:45 +02:00
bubnikv
651c4ab0ae Fixed a typo in AppConfig 2018-05-18 08:46:33 +02:00
Merill
fe657e645d ironing: bugfix & clean
- remove some debug logs
 - bugfix: 2D toolpath now can draw collection of paths.
 - bugfix: fillsmooth doesn't bug if the area is too small to draw anything.
2018-04-10 21:04:56 +02:00
Merill
2749c63b10 overextruding a bit on top of bridge to come back to a correct height 2018-04-02 13:39:57 +02:00
supermerill
f9344a00e3 Split external infill parameter to top/bottom external infill 2018-04-01 17:05:36 +02:00
bubnikv
d65835f89b Improvement of region classification numerical stability.
The Clipper library is not stable when calcuating offsets of contours
with holes. Replaced a single call of offset2 with offset_ex(offset_ex()).
This is not the most efficient solution, but it fixes this problem.
Fixes https://github.com/prusa3d/Slic3r/issues/456
2017-12-14 13:26:44 +01:00
bubnikv
cd084a33c6 Fixed a regression bug, which was made during the porting of
discover_horizontal_shells() fron Perl to C++, where
the already calculated bridge direction was being lost.

Improved constness of the debug methods
    void export_region_slices_to_svg(const char *path) const;
    void export_region_fill_surfaces_to_svg(const char *path) const;
2017-09-14 13:15:32 +02:00
bubnikv
98408bbed0 Fixed a crash when slicing leads to no print.
Fixed a bug in TriangleMesh::bounding_box().
2017-09-12 16:48:44 +02:00
bubnikv
777023c7a8 Ported PrintObject::prepare_infill & combine_infill from Perl to C++. 2017-08-02 14:24:32 +02:00
bubnikv
71f99423c5 New feature: Bridging angle override through a bridge_angle config
variable. When set to zero, the usual automatic bridge detection applies.
The bridging angle override may be set at the Infill->Advanced settings,
or through a modifier mesh.
2017-07-31 16:23:52 +02:00
bubnikv
8160db23cc Implementation of "XY size Compensation for first layer"
https://github.com/prusa3d/Slic3r/issues/190
2017-06-26 16:28:10 +02:00
bubnikv
cb43f19a90 Fixed a variable layer height profile update issue.
https://github.com/prusa3d/Slic3r/issues/358
2017-06-15 20:15:53 +02:00
bubnikv
8a2a9abbd4 Fix of "Raft and support dont work together"
https://github.com/prusa3d/Slic3r/issues/314
There was an issue with raft & soluble support.
Also there was a bug, where the support was not generated correctly
after a change of the support Z gap.
2017-06-13 19:29:15 +02:00
bubnikv
958c6553e7 Hopefully a fix of
"Layer editing does not trigger reslicing with Background Processing enabled"
https://github.com/prusa3d/Slic3r/issues/293
2017-06-09 13:27:35 +02:00
bubnikv
dd41406a55 Fixed regression in invalidation of slicing steps. 2017-06-08 17:46:28 +02:00
bubnikv
ef73bb404b Fixed compilation on gcc. 2017-06-01 16:43:21 +02:00
bubnikv
02592378e2 Improved "ensure vertical wall thickness" feature for multi material:
If the "interface_shells" feature is disabled, the "ensure vertical wall thickness"
feature will not add full infill over internal shells.

Fixed some issues with delayed loading of 3d scenes.
2017-06-01 16:31:29 +02:00
bubnikv
556f40bf00 Clean-up of print step invalidation. 2017-05-31 17:02:23 +02:00
bubnikv
c8b934f8d3 Yet more refactoring of Print / PrintObject in regard to
C++11 loops, configuration and step invalidation.
2017-05-31 12:55:59 +02:00
bubnikv
102329c54d Further refactoring, C++11 conversion and code simplification. 2017-05-30 20:09:34 +02:00
bubnikv
e1ca1a82fb Fixed a regression bug from the last commit. Some more code simplification
and inlining.
2017-05-30 18:33:17 +02:00
bubnikv
41a4df0a38 Print, PrintObject: Invalidation of steps, when chained, will now return
a correct invalidated / not invalidated flag.
Rewrote the step valid state from std::set to a fixed array for performance
reasons.
2017-05-30 17:17:26 +02:00
bubnikv
e000b22578 Implemented wipe tower print path preview. 2017-05-25 22:27:53 +02:00
bubnikv
5126c5018a Provision for disabling TBB parallelization for debugging purposes. 2017-04-05 09:53:24 +02:00
bubnikv
1fb302d480 Reverted due to a failing test t\multi.t 2017-03-28 14:29:27 +02:00
bubnikv
9f7a5c7a6f Some beautification and C++11 adaptation. 2017-03-28 13:25:10 +02:00
bubnikv
79e6f23fdc code beautification, C++11 loops 2017-03-13 16:03:44 +01:00
bubnikv
50976e1b5a Parallelized slices_to_fill_surfaces_clipped() 2017-03-08 23:02:27 +01:00
bubnikv
720459183e Parallelized detection of extra perimeters. 2017-03-08 22:38:08 +01:00
bubnikv
4426e47e2a Fixed a race condition in the parallelization
of the "ensure vertical wall thickness" feature.
2017-03-08 18:10:39 +01:00
bubnikv
20796b89c1 Improved debugging of slicing. 2017-03-08 15:58:40 +01:00
bubnikv
798bca561b Parallelized the slow discover_vertical_shells() 2017-03-08 14:54:04 +01:00
bubnikv
52b76930aa Simplify_slices rewritten to C++, parallelized.
Added some move methods to Surface class.
2017-03-08 13:43:49 +01:00
bubnikv
4331f38912 Fixing of slicing errors ported to C++, parallelized. 2017-03-08 11:56:42 +01:00