85 Commits

Author SHA1 Message Date
supermerill
caa27d3598 Fix fill_exactly when multiple surface and no infill_overlap
Was overextruding by 30%.
supermerill/SuperSlicer#820
2021-11-06 21:19:49 +01:00
supermerill
f44e05091c gcode_precision_e parse without tryctach, disabled assert (toverify) 2021-10-27 23:17:25 +02:00
supermerill
3de87d3d42 assert triggering
todo: check if it's dangerous, seems not.
2021-10-25 17:55:28 +02:00
supermerill
088b92917c Add filament_max_overlap, to control the line spacing via filament setting
It allows to control the spacing vs width (10%% fill vs a bit less)
The 'enforce 100% fill volume' is also adjusted to take that into account
Note that if you're using multiple extruders/filament everywhere (and spacing setting for width setting),
  the result may be a bit unexpected, as the gui can't display all the interactions,
  also some features (like support) may revert to default overlap value, if printed with multiple filaments.
supermerill/SuperSlicer#1590
2021-09-26 13:51:05 +02:00
supermerill
e1e4f34f0a remove some warnings change some scale/unscale for better types. 2021-09-06 19:58:53 +02:00
remi durand
4d11d791b9 fix rectilinear missing line
supermerill/SuperSlicer#1199
2021-06-26 00:02:36 +02:00
remi durand
519bcaf1a2 #922 Infill bridge issues 2021-03-19 12:36:38 +01:00
remi durand
a50b4cd544 Merge tag 'version_2.3.0'
version_2.3.0
2021-02-22 13:28:28 +01:00
Vojtech Bubnik
93a5906a18 Fixed numerical issue with the new algorithm to connect infill lines
with perimeters:
1) Increased accuracy of the contour length parametrization from
   float to double, as double should capture the difference of
   32bit coord_t with full accuracy (or at least very close).
2) The algorithm to insert the T-joint points into the infill perimeter
   contour was improved to avoid inserting duplicate points.
2021-01-06 12:18:05 +01:00
supermerill
5b8b5bc2d1 separate monotonicWGapfill and rectilinearWgapfill 2020-12-02 02:08:56 +01:00
supermerill
ab7c688a72 update to infill_anchor integration 2020-11-29 00:40:17 +01:00
supermerill
8d5688a751 Merge remote-tracking branch 'remotes/prusa/master' : Opengl crash 2020-11-28 18:18:32 +01:00
supermerill
9f7f558816 #718 fix ironing post-process double the fills. 2020-11-26 20:52:01 +01:00
Vojtech Bubnik
e5b3af0e53 Fix of Monotonic infill leaves gaps in top infill where rectilinear does not #5259
and Chyba nebo vlastnost výplně Monotonic? #5225
2020-11-25 14:56:11 +01:00
Vojtech Bubnik
62bdc192d8 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
supermerill
7a10e8220c Fill "connect" update
* re-add the 2.2 algo
 * allow to choose connection method also for solid/top/bottom
2020-11-23 23:26:47 +01:00
supermerill
1a19b023f0 Merge remote-tracking branch 'remotes/prusa/master'
note: new infill connect, maybe a good idea to get the previous one in case it's better (no useless lines)
note2: fillline overextrude, tofix
2020-11-23 00:28:47 +01:00
Vojtech Bubnik
f0606c2a76 Merge of https://github.com/prusa3d/PrusaSlicer/pull/2856
Add aligned rectilinear infill functionality by @m-schubert
Implements [Feature Request] Aligned rectilinear infill #1938
2020-11-21 14:10:17 +01:00
Vojtech Bubnik
54a5c1da1e Fixed crash in reworked infill anchoring due to numeric issues.
Added some more asserts to EdgeGrid.
2020-11-20 18:47:06 +01:00
Lukáš Hejl
f394d26f83 Added missing includes to fix build on gcc 9 2020-11-20 15:19:49 +01:00
Vojtech Bubnik
8d1e13fccd Anchoring of sparse infills can now be disabled. 2020-11-20 13:36:58 +01:00
Vojtech Bubnik
a864d584a6 Fillers: Renamed Rectilinear2 to Rectilinear. 2020-11-16 13:24:57 +01:00
Vojtech Bubnik
e9fa36ea7d Fillers: Removal of old FillRectilinear, using of "override" instead
of "virtual" where applicable.
2020-11-16 11:16:44 +01:00
Vojtech Bubnik
4280fdb5f2 Reworked connection of infill lines to perimeter lines.
Added a new "infill_anchor" parameter.
2020-11-16 10:54:00 +01:00
supermerill
e3dde4b384 change monotonic from monotonous 2020-11-08 17:09:29 +01:00
Vojtech Bubnik
517477f0dd Fix of the previous Adaptive Cubic infill refactoring
plus couple of fixes of the old logic.
2020-11-06 16:24:15 +01:00
supermerill
c3dcf9864a Merge remote-tracking branch 'remotes/remi/master' into dev 2020-11-06 02:29:30 +01:00
supermerill
27196d34ea #414 #591 overhang speed separate from bridge speed
And separate speed for "inner bridge" (the ones over sparse infill)
2020-11-05 19:08:46 +01:00
Vojtech Bubnik
239d588c5d 1) Implemented anchoring of infill lines to perimeters with length
limited anchors, while before a full perimeter segment was always
   taken if possible.
2) Adapted the line infills (grid, stars, triangles, cubic) to 1).
   This also solves a long standing issue of these infills producing
   anchors for each sweep direction independently, thus possibly
   overlapping and overextruding, which was quite detrimental
   in narrow areas.
3) Refactored cubic adaptive infill anchroing algorithm
   for performance and clarity.
2020-11-05 17:32:40 +01:00
supermerill
488e4d83e4 Merge remote-tracking branch 'remotes/prusa/master' into dev
optionsgroup is wonky with sizers.
2020-11-05 00:21:16 +01:00
Vojtech Bubnik
414fdaefc5 Merge remote-tracking branch 'remotes/origin/master' into lh_adaptive_infill_hooks 2020-11-03 15:07:38 +01:00
Vojtech Bubnik
502aa42ac0 Removed FillRectilinear3, it was a dead end. 2020-10-28 13:33:22 +01:00
supermerill
160b509a46 Merge remote-tracking branch 'remotes/remi/CI' into dev
in particular, move the repetier stuff to physicalprinter
2020-10-27 17:52:46 +01:00
supermerill
7560c7d955 fix fill
also protect spacing in case of.
2020-10-26 15:47:21 +01:00
supermerill
6fdd615b6e Merge remote-tracking branch 'remotes/prusa/master' into dev 2020-10-18 00:27:32 +02:00
supermerill
2291bd76de #539 fix Concentric (filled) interface support dumps core 2020-10-17 01:03:56 +02:00
supermerill
c8f207ff93 fix typo for calibration bridge flow (don't use flow < 20)
and some other string typos
2020-10-17 00:00:53 +02:00
Lukáš Hejl
b8d574093d Small rework of connecting infill with perimeters using hooks
Hooks are preferably generated in the direction of printed perimeters.
Small refactoring of the algorithm. Some parts of the algorithm are better documented.
2020-10-11 15:45:50 +02:00
supermerill
8431ca1c66 #553 set extrusions to gapfill for gapfill's infillpatternWGapfill to not confuse the auto-speed 2020-10-10 21:33:20 +02:00
Vojtech Bubnik
7fbdda9080 Renamed monotonous infill to monotonic. 2020-10-05 16:38:28 +02:00
Lukáš Hejl
7a9aec2b0b Connect infill with perimeters using hooks 2020-10-02 11:15:55 +02:00
supermerill
d6d4fc7764 Merge branch 'master' into dev 2020-10-01 00:09:04 +02:00
supermerill
fc1ec534ad fix min/max value for config: now double, not int
fix some wrning
2020-09-24 16:49:04 +02:00
supermerill
89ec89e682 #393 don't connect now differentiate with holes & outer perimeters
but it works only for half of rectilinear2: because it go over a new polyline start always from the same direction.
So it needs a difficult to do change to rectilinear2. (TODO)
2020-09-21 23:12:02 +02:00
Vojtech Bubnik
348c654c26 Adaptive infill:
Fixing compilation on Linux,
WIP: Better chainining of infill lines.
2020-09-18 13:35:35 +02:00
Vojtech Bubnik
7e756b20e6 Adaptive infill: Reshuffled the namespaces. 2020-09-18 10:53:50 +02:00
Vojtech Bubnik
37c5fe9923 Refactoring of adaptive cubic / support cubic:
1) Octree is built directly from the triangle mesh by checking
   overlap of a triangle with an octree cell. This shall produce
   a tighter octree with less dense cells.
2) The same method is used for both the adaptive / support cubic infill,
   where for the support cubic infill the non-overhang triangles are
   ignored.
The AABB tree is no more used.
3) Optimized extraction of continuous infill lines in O(1) instead of O(n^2)
2020-09-17 18:39:28 +02:00
Vojtech Bubnik
1eadb6a1a9 Replaced some of Slic3r::RuntimeError exceptions with Slic3r::SlicingError.
Only Slic3r::SlicingError are now displayed by a notification, other
exceptions are shown by a pop-up dialog.
2020-09-14 18:03:22 +02:00
Vojtech Bubnik
067cde85f1 WIP Refactoring of exceptions:
1) All slicer's exceptions are now derived from Slic3r::Exception.
2) New exceptions are defined for slicing errors.
3) Exceptions are propagated to the Plater to show.
It remains to modify the slicing back-end to throw the new SlicingError
exceptions instead of std::runtime_error and to show the other exceptions
by a message dialog instead of a notification.
2020-09-14 18:03:22 +02:00
Lukáš Hejl
f49144a9ef Move support cubic infill to separate class.
Support infill is enabled in the GUI.
2020-09-10 16:53:08 +02:00