51 Commits

Author SHA1 Message Date
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
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
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
Lukáš Hejl
0d26df3cf6 Preparation for new infill 2020-09-09 14:34:04 +02:00
supermerill
f48ed5091c Add monotonous infill thanks to @bubnikv and @wavexx
also the rectilinear2.cpp rework that go along
use of monotonous in ironing
use of monotonous instead of rectilinear of "filled" in top & bottom
reduce gap fill area from rectilinearWGapFill to the area with no overlap
fix flatten(): don't put everything in a no_sort collection but correctly recreate the hierarchy of no_sort, sort, no_sort of collections.
2020-09-06 16:02:58 +02:00
supermerill
073591d600 Calibration help: first 2 item
- bed leveling calibration
 - filament flow calibration (need some more pics)
2020-05-19 01:02:24 +02:00
bubnikv
033548a568 Introduction of Monotonous infill type. Fill no-sort only for monotonous
and ironing infills.
2020-04-25 08:15:04 +02:00
Lukas Matena
7589e4ebfc Fixed some more warnings 2020-03-03 15:53:26 +01:00
Lukas Matena
c70b34b6c8 Fixed several warnings
The biggest difference is changing PresetCollection::m_idx_selected from int to size_t, which fixed many warnings at once.
2020-03-03 15:47:02 +01:00
supermerill
dda438c74b Merge commit '5e3e5492487690fb48cd7c4bb0b7e0e019e30a5c' (wip) 2019-12-05 20:53:02 +01:00
bubnikv
afa72da9d1 Fix of infill connecting along perimeter lines,
new 3-opt iterative improvement of infill path (currently disabled,
it is extremely slow)
2019-12-02 15:01:52 +01:00
bubnikv
9c4dc80057 Fix of the new gyroid infill path planning. Fixes #3226 2019-11-22 18:22:44 +01:00
supermerill
9c6008e5e0 Review of spacing & volume compute, add a test for that.
Change a bit the fill api, to allow a bit safer spacing init and ensure nothing erase a parameter in mid-compute.
2019-11-16 08:16:01 +01:00
bubnikv
dd59945098 Fix of a typo in KDTreeIndirect.
Improvement of the infill path planning.
Regression fix of Gyroid infill crashes.
Some unit tests for elephant foot and path planning.
2019-11-14 17:02:32 +01:00
bubnikv
f2dd49a905 Merged pull request "Gyroid improvements" #2730
by @supermerill and @wavexx

WIP: The function Fill::connect_infill() is being rewritten
to utilize spatial structures wherever possible for lower CPU load
and less dynamic memory allocation.
2019-11-07 14:28:30 +01:00
supermerill
51bcae96ea #110 remove use_bridge from infills
force bridge on "denser infill" layer (as it's removed from the infill now)
2019-10-29 17:00:45 +01:00
Yuri D'Elia
60d2ddde55 Fix two warnings 2019-10-14 16:34:01 +02:00
supermerill
89b2e62381 add parameters: fill_top_flow_ratio & fill_smooth_width
bugfix flow inaccuracies in FillSmooth.
TODO: do something about surface too small to be printed, particularly when 'only one perimeter top' -> don't extract them or use gapfill
2019-10-07 18:55:11 +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
d146a0237e WIP: Reworked the infill generator to merge areas with the same
properties.

Note for Vojtech:
Review src/libslic3r/Fill/Fill.cpp once again,
add test for G-code generator properties (extrusion speed, cooling?)

Fixes Modifier slice/move efficiency #1005
2019-09-04 16:11:16 +02:00
bubnikv
21ee458de5 Some Vojtech's beautification 2019-08-22 09:47:44 +02:00
Yuri D'Elia
189d7be93b Fix two warnings 2019-08-08 17:04:56 +02:00
supermerill
b6936a46e3 bugfix "connected lines" for gyroid & 3Dhoney 2019-08-07 16:45:52 +02:00
supermerill
19df45c39d bugfix gyroid & 3Dhoneycomb "connected lines" 2019-08-07 16:45:41 +02:00
supermerill
86fbb9a095 gyroid & 3Dhoneycomb: now 'connected lines' follow the perimeters 2019-08-07 16:45:22 +02:00
remi
9f91aba4f9 debug gcode slice msg.
remove some warnings
add some test stls to use
2019-06-25 10:58:37 +02:00
supermerill
7b71d74b38 new solid infill pattern : rectilinear with gapfill.
* it replace rectilinear fill by gapfill when width < spacing * 1.6
 * it permit to fill spaces too thin to be filled by infill (if it's not already filled by the perimeter gapfill)
 * it print the gapfill after the rectilinear infill.
 * the exact volume option only do his thing on the rectilinear area, not the gapfill one (as it's already done in the medial axis).
2019-04-23 13:17:45 +02:00
supermerill
41c5d32744 clipperutil.offset params go from float to double
As clipper used doubl anyway, it shouldn't impact anything,
just avoiding int64->float->double destructive conversion.
2019-04-08 20:10:40 +02:00
supermerill
7146471c28 bugfix "connected lines" for gyroid & 3Dhoney 2019-03-08 18:30:38 +01:00
supermerill
9454415e6d Flags for surface_type
simplify the dense_infill algo. TODO: use a flag instead of the field.

TODO: use the flags (without creating bugs)
2019-02-25 18:42:37 +01:00
supermerill
cfbafe4322 Sawtooth infill : may be useful for support interface (idea by e3D)
add a setting to select the support interface.
need some tests to see if it works.
2019-02-21 19:12:35 +01:00
supermerill
995817f5d4 bugfix gyroid & 3Dhoneycomb "connected lines" 2019-02-12 10:56:42 +01:00
supermerill
fb0fe3ac39 ironing: cleaning code (remove duplication), streamline arguments & config struct for fill_surface_extrusion. 2019-02-11 14:42:25 +01:00
Nicholas Sherlock
bc5e299511 Add scattered rectilinear infill method for optical diffusers 2019-01-25 19:34:11 +01:00
supermerill
162132eb35 gyroid & 3Dhoneycomb: now 'connected lines' follow the perimeters 2019-01-24 11:54:48 +01:00
supermerill
a36142d258 merge complete 2018-12-19 17:14:11 +01:00
supermerill
a11db7a227 Merge tag 'mass_rename' into master_slic3rPE_PR
# "resolved" Conflicts:
#	lib/Slic3r/GUI/Plater.pm
#	lib/Slic3r/GUI/Plater/2DToolpaths.pm
#	lib/Slic3r/GUI/Plater/ObjectCutDialog.pm
#	lib/Slic3r/GUI/Plater/ObjectPartsPanel.pm
#	lib/Slic3r/GUI/Plater/ObjectSettingsDialog.pm
#	lib/Slic3r/GUI/Plater/OverrideSettingsPanel.pm
#	src/libslic3r/EdgeGrid.cpp
#	src/libslic3r/EdgeGrid.hpp
#	src/libslic3r/ExPolygon.cpp
#	src/libslic3r/ExtrusionEntity.hpp
#	src/libslic3r/ExtrusionEntityCollection.hpp
#	src/libslic3r/Fill/Fill.cpp
#	src/libslic3r/Fill/FillBase.cpp
#	src/libslic3r/Flow.cpp
#	src/libslic3r/GCode.cpp
#	src/libslic3r/GCode/ToolOrdering.cpp
#	src/libslic3r/GCode/WipeTowerPrusaMM.cpp
#	src/libslic3r/Geometry.cpp
#	src/libslic3r/LayerRegion.cpp
#	src/libslic3r/Model.cpp
#	src/libslic3r/MultiPoint.cpp
#	src/libslic3r/MultiPoint.hpp
#	src/libslic3r/PerimeterGenerator.cpp
#	src/libslic3r/PerimeterGenerator.hpp
#	src/libslic3r/Polyline.cpp
#	src/libslic3r/Polyline.hpp
#	src/libslic3r/Print.cpp
#	src/libslic3r/PrintConfig.cpp
#	src/libslic3r/PrintConfig.hpp
#	src/libslic3r/PrintObject.cpp
#	src/libslic3r/SupportMaterial.cpp
#	src/libslic3r/TriangleMesh.cpp
#	src/libslic3r/TriangleMesh.hpp
#	src/libslic3r/Utils.hpp
#	src/libslic3r/utils.cpp
#	src/slic3r/AppController.hpp
#	src/slic3r/AppControllerWx.cpp
#	src/slic3r/GUI/3DScene.cpp
#	src/slic3r/GUI/GUI.cpp
#	src/slic3r/GUI/GUI.hpp
#	src/slic3r/GUI/Preset.cpp
#	src/slic3r/GUI/ProgressIndicator.hpp
#	src/slic3r/GUI/Tab.hpp
#	xs/CMakeLists.txt
#	xs/src/libslic3r/Layer.hpp
#	xs/src/libslic3r/Line.cpp
#	xs/src/libslic3r/Line.hpp
#	xs/src/libslic3r/Point.hpp
#	xs/src/libslic3r/Print.hpp
#	xs/src/libslic3r/PrintRegion.cpp
#	xs/src/slic3r/AppController.cpp
#	xs/xsp/AppController.xsp
#	xs/xsp/GUI.xsp
#	xs/xsp/Print.xsp
2018-12-17 15:42:50 +01:00