18 Commits

Author SHA1 Message Date
supermerill
9b60be0c1a Initial working prototype for the milling post-process 2020-05-29 21:01:30 +02:00
supermerill
91a74c5d94 #201 fix for modifiers: now exclude empty region for make_perimeter. 2020-04-21 15:10:04 +02:00
supermerill
f087cf1239 Merge remote-tracking branch 'remotes/prusa/master'
seems to work
need to update profiles & ui
2020-03-26 12:10:30 +01:00
bubnikv
495a71ed00 Implemented top_solid_min_thickness / bottom_solid_min_thickness.
The two new config keys define a minimum vertical shell thickness.
The top shell thickness is calculated as a maximum of sum over
top_solid_layers * layer heights and top_solid_min_thickness,
the bottom shell thickness is calculated as a maximum of sum over
bottom_solid_layers * layer heights and bottom_solid_min_thickness.

The results of the formula above are shown at the Print parameter page
below the two new values to hint the user about the interaction
of the old versus new config values.

top_solid_min_thickness has no meaning if top_solid_layers is zero,
bottom_solid_min_thickness has no meaning if bottom_solid_layers is zero.
2020-02-05 16:53:48 +01:00
bubnikv
3d17543d40 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
supermerill
dda438c74b Merge commit '5e3e5492487690fb48cd7c4bb0b7e0e019e30a5c' (wip) 2019-12-05 20:53:02 +01:00
supermerill
6519452487 fix build 2019-10-29 19:14:08 +01:00
supermerill
81dc1e19d3 bugfix #93
clean a bit some methods with newer c++
add more const to surfacecollection & create surfaceconstptr & a slice() method in layerregion that return const surfacecollection.
2019-10-14 16:08:07 +02:00
bubnikv
564eddd99d 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
331c187b39 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
supermerill
2f042e030c Merge remote-tracking branch 'remotes/prusa/master'
not merged: fill.cpp, perimeter_generator, because they ahve been reworked and need to be understand fully before adding my extensive modifications.
To verify: glcanvas: maybe filament color selection is deleted (or the other one i added?)
2019-09-26 13:14:01 +02:00
bubnikv
48ecbe777f Fix of "excess infill below bridges with 0% infill" #442
Fix of "Bridging infill not connecting with infill set to 0%" #1301

Top, bottom and bridging areas are extended into infill as long
as the infill is not zero. If the infill is zero,
top, bottom and bridging areas wound not expand into these "void" areas.

With this commit, the top, bottom and bridging areas are allowed to expand
into the "void" areas as long as these "void" areas are supported below
with perimeters or some other non-empty infill, and slightly beyond
these supporting areas into the voids (currently hard coded to 1mm).
2019-09-06 15:03:49 +02:00
supermerill
8bc9f645f0 Merge remote-tracking branch 'remotes/prusa/master' 2019-03-26 15:42:08 +01:00
bubnikv
5e582efc5c Elephant foot compensation improvements.
Fix of the negative XY compensation on multi-material (or multi-region)
prints, where the negative XY compensation created gaps between parts.
2019-03-05 11:54:04 +01:00
supermerill
b3157c5b1e no perimeters on bridged area : algo changed, more options and less settings. 2019-03-01 19:46:52 +01:00
supermerill
a36142d258 merge complete 2018-12-19 17:14:11 +01:00
bubnikv
506cbcb4a7 Fix of G-code invalidation on "wipe_into_object" "wipe_into_infill"
changes.

WIP: Fix of "levitating objects cannot be sliced".
2018-12-14 17:17:51 +01:00
bubnikv
0558b53493 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