44 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
ae6c979565 #563 #589 Small perimeter control 2020-10-21 20:25:48 +02:00
supermerill
6fdd615b6e Merge remote-tracking branch 'remotes/prusa/master' into dev 2020-10-18 00:27:32 +02:00
supermerill
c75d4904f9 #493 separate bridge fan/speed for overhang from bridge flow for overhangs. 2020-10-10 21:23:40 +02:00
supermerill
14c7a8ad7f gap fill overlap
also move the perimeter & extperi overlap to region
2020-10-01 00:07:14 +02:00
Adrian Keet
8438de487b Add option to only overlap the outermost perimeter 2020-08-18 12:10:06 +02:00
supermerill
7738e2a33c #240 little rework of XY compensation.
better import of 'elephant foot' (spelled elefant in prusa) that is now first_layer_size_compensation, using 'legacy to amke the convert.
advantage: it reverse the sign now.
drawback : no easy export to prusa.
2020-06-05 23:08:28 +02:00
supermerill
9b60be0c1a Initial working prototype for the milling post-process 2020-05-29 21:01:30 +02:00
supermerill
3d5ddd60b4 #206 reverse direction on overhang overhaul:
- now has a setting & a threshold
 - when reverse_direction trigger on the external loop, it also trigger for all other loops on this side (so, no more U-turn)
 - do not depends on extra_perimeter anymore
 - now extra_perimeters split into extra_perimeters (the old useless one) and extra_perimeters_overhangs
 - reordering settings in the tab.
2020-05-13 01:39: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
supermerill
1984df6d49 Many fixes to "no seam" option for external perimeter first.
Also some option to only apply to hole (or others)
Also some fixes to some loops options in the codepath.
also a test to thin walls, suspected a bug but can't find it.
2020-03-22 15:25:21 +01:00
bubnikv
a9fc39491e Fix of weird double extrusions with multiple regions and their
parameters being changed between slicing runs.
2020-03-20 13:37:13 +01:00
supermerill
246392156d nearest is now near (Nearest), hidden is now hidden (Corners).
Seam position default to corners (hidden) from "nearest", to avoid confusion when migrating from a prusaslicer config.
fix for modifiers with no_perimeter_unsupported_algo
npuaBridges surface fix
2020-01-15 17:21:38 +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
e491165208 update on LayerRegion settings that split region for perimeter generation. 2019-12-18 19:11:41 +01:00
supermerill
dda438c74b Merge commit '5e3e5492487690fb48cd7c4bb0b7e0e019e30a5c' (wip) 2019-12-05 20:53:02 +01:00
supermerill
351d7d437a new option: Overlapping perimeters, for when you don't care and don't want to use MedialAxis algo
#116
2019-11-16 08:16:21 +01:00
bubnikv
a72ac57fab adaptive elpehant foot compensation, fixing
GH issues #1757 #2085 #2132 #2423 #2502 #2156 #2773 #2828 #2998 #3001
2019-11-01 19:59:09 +01:00
supermerill
fd26796cb1 overhangs_width threshold #99 2019-10-14 17:31:26 +02: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
d06831076d WIP: Consolidation of shortest path calculations,
various chaining algorithms are replaced with the improved TSP
algorithm.
2019-09-26 17:30:03 +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
246dc64c99 Fix of "Bridging and gap fill are parsed incorrectly when infill is set to 0" #1476
The gap fill was disabled for zero infill.
Now the gap fill is enabled in between the perimeters, but disabled between
the inner-most perimeter and infill in case the infill is set to zero.

Also in case there are multiple infill regions inside a perimeter,
the mutliple infills are considered as non-zero if at least one infill
is non-zero, therefore the gap fill will be added inside the inner-most
perimeter.
2019-09-10 19:03:37 +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
supermerill
9390638229 only_one_perimeter_top : now work as object-only setting. 2019-08-17 18:14:51 +02:00
supermerill
773972cc2c Merge remote-tracking branch 'remotes/prusa/master'
WIP, in particular, have to review the custom beds svg/stl
2019-07-31 18:22:49 +02:00
bubnikv
a710e7e7e4 WIP: Undo / Redo stack.
Integration of the "cereal" serialization library.
Serialization / deserialization of the DynamicConfig / DynamicPrintConfig.
DynamicPrintConfig serializes ordinal identifiers instead
of the option key strings to conserve space.
2019-06-26 13:26:49 +02:00
supermerill
8bc9f645f0 Merge remote-tracking branch 'remotes/prusa/master' 2019-03-26 15:42:08 +01:00
bubnikv
e399cf6d3d Implemented clipping of parts of multi-part objects in the order
they are presented in the UI.

Parallelized the slice stealing when splitting regions with modifier meshes.

Rewrote Layer::make_perimeters() to C++11 loops.
2019-03-06 10:21:10 +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
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
7d4f090786 medial_axis width bugfix (at least enough for the outer "lobes")
assert bugfix in thin walls (edge case)
2 bugfix in overlap
2019-02-11 14:03:06 +01:00
supermerill
aab7dd32f3 settings with width% is from nozzle instead of layer height. 2019-02-11 12:18:06 +01:00
supermerill
75775bc909 Thin_wall / medial axis:
- reworked thin_variable_width (discretization into segments of constant width)
 - bugfix taper_ends
 - add setting thin_walls_overlap to control the perimeter/thin wall overlap
2019-02-07 18:25:42 +01:00
supermerill
a48e190137 medial axis: now grows the extrusion to nozzle diameter if it's lower than that. Add a parameter to define the min width (default to 33% of nozzle diameter). 2019-01-03 19:57:00 +01:00
supermerill
2e2fee79ec Merge branch 'masterPE' into master_slic3rPE_PR
# "resolved" Conflicts:
#	lib/Slic3r/GUI/Plater.pm
#	slic3r.pl
#	src/libslic3r/EdgeGrid.cpp
#	src/libslic3r/EdgeGrid.hpp
#	src/libslic3r/Fill/Fill.cpp
#	src/libslic3r/GCode.cpp
#	src/libslic3r/GCode/PreviewData.cpp
#	src/libslic3r/GCode/PreviewData.hpp
#	src/libslic3r/GCode/WipeTowerPrusaMM.cpp
#	src/libslic3r/Geometry.hpp
#	src/libslic3r/LayerRegion.cpp
#	src/libslic3r/Model.cpp
#	src/libslic3r/MultiPoint.cpp
#	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/slic3r/AppController.hpp
#	src/slic3r/AppControllerWx.cpp
#	src/slic3r/GUI/3DScene.cpp
#	src/slic3r/GUI/Field.cpp
#	src/slic3r/GUI/GUI.cpp
#	src/slic3r/GUI/GUI.hpp
#	src/slic3r/GUI/OptionsGroup.cpp
#	src/slic3r/GUI/Preset.cpp
#	src/slic3r/GUI/Tab.cpp
#	src/slic3r/GUI/Tab.hpp
#	xs/CMakeLists.txt
#	xs/xsp/AppController.xsp
#	xs/xsp/GUI.xsp
#	xs/xsp/Print.xsp
2018-12-17 15:58:41 +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
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
3b72748489 Removed the STDMOVE macro. 2018-11-02 20:45:23 +01:00
bubnikv
5da83742a3 Some refactoring. 2018-11-02 20:41:49 +01:00
bubnikv
bb386bb148 Simplified dependencies. 2018-09-21 21:16:09 +02: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