44 Commits

Author SHA1 Message Date
supermerill
c73e9cf1c9 #697 fix Random seam position when only one perimeter.
fix random for thin wall loops (less than one perimeter)
2020-11-22 12:17:53 +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
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
d2e5be89e3 Fix of Slicer image not good #4992
Tighter parsing of PrusaSlicer's own G-code annotations
to avoid clashes with comments inside user G-codes.

Also the GCodeReader was extended to return string_views instead
of copying a substring, and the GCodeProcessor was partially adapted
to string_views.
2020-10-29 10:51:51 +01:00
supermerill
77a15a2d7f fix some tests, add a dense infill test 2020-10-26 21:31:23 +01:00
supermerill
6fdd615b6e Merge remote-tracking branch 'remotes/prusa/master' into dev 2020-10-18 00:27:32 +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
Lukas Matena
6646198a9b Merge branch lm_seam_painter_frontend 2020-09-01 23:03:16 +02:00
Lukas Matena
6db1e5ab8f Slight code cleanup 2020-08-18 12:00:26 +02:00
enricoturri1966
d9228ee82c GCodeProcessor -> Human readable extrusion roles in gcode 2020-07-28 09:48:55 +02:00
supermerill
27aa82c94f #306 also ignore thinwall/gapfill when asked for min_mm3_per_mm from loops & other multi-paths 2020-06-24 13:40:59 +02:00
supermerill
07fa80304d fixes on build 2020-06-01 19:13:20 +02:00
supermerill
9b60be0c1a Initial working prototype for the milling post-process 2020-05-29 21:01:30 +02:00
supermerill
0da98baa11 #205 separate external perimeters and thin walls (speed & gcode layout). 2020-05-03 22:09:59 +02:00
supermerill
e28213b6eb #197 fix random seam : forgot that the '&' operator has a low priority. 2020-04-17 16:05:14 +02:00
bubnikv
10110ed307 WIP: Ironing over top surfaces. 2020-04-14 11:53:28 +02: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
supermerill
c5fbfae095 remove layer_height_adaptive, because prusa has created a new one.
bugfix "move inwards before travel" when extruding perimeter clockwise
bugfix too thin overhang detection
bugfix basic ini (duplicate key)
2020-01-09 15:04:30 +01:00
supermerill
b06a3bff80 update to print visitor 2019-12-13 19:08:18 +01:00
supermerill
dda438c74b Merge commit '5e3e5492487690fb48cd7c4bb0b7e0e019e30a5c' (wip) 2019-12-05 20:53:02 +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
272479826f Refactoring of the G-code preview for lower memory allocation
and for separation of concerns:

The final G-code preview no more uses ExtrusionPaths structure
to hold the G-code path data extracted by parsing the G-code.
Instead, the ExtrusionPath class has been trimmed down back to
the original size before the G-code preview was introduced,
and a new GCodePreviewData::Extrusion::Path class was created to hold
the additional path data as the extruder ID, color change ID
and fan speed.
2019-09-30 16:25:26 +02:00
bubnikv
b425ee50a9 Merge remote-tracking branch 'remotes/origin/et_pull_2922' 2019-09-30 10:23:16 +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
bubnikv
10eecb2cab Reworked Traveling Salesman Problem code for simplicity and robustness.
The TSP algorithm is newly used for planning of the printing order
of objects AND their instances.
2019-09-26 16:39:50 +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
Enrico Turri
82a52e8b21 #2922 - Port of commit: f42edd35ce by jschuh 2019-09-23 14:56:27 +02:00
bubnikv
15c8b579b2 Refactoring of ExtrusionEntity / ExtrusionEntityCollection:
Iterator loops replaced with C++11 loops.
Fixed clone() methods to return an ExtrusionEntity*.
PerimeterGenerator now uses move semantics on ExtrusionEntity a little
bit more.
2019-09-11 13:25:50 +02:00
bubnikv
b3f27b8fb9 Fixed typo in comments 2019-09-11 11:38:17 +02:00
Lukas Matena
a985a2720f Fixed some more warnings, moved function to get ExtrusionRole name into ExtrusionEntity.hpp
So it can be called from wherever it may be needed
2019-09-06 15:55:07 +02:00
bubnikv
9f0933ba6e Fixed regression issue in G-code preview since 2.1.0-beta2:
Excessive amount of memory was pre-allocated for G-code preview
by volumetric speed.
2019-08-27 15:55:53 +02:00
supermerill
5cc2603309 fix #79
forget the override keyword: I had virtual function overriding nothing.
2019-07-31 18:59:36 +02:00
supermerill
b2db3ad5a9 fix eec sorting: #77 2019-07-08 14:51:00 +02:00
supermerill
3aea01e815 cherry-picked slic3r/Slic3r#4809
changed the ExtrusionEntity visitor a bit and add new ones.
2019-06-27 19:19:01 +02:00
supermerill
c03564f218 restore most loop orientation to ccw.
add test_model and test_print tests. Work is needed for them
2019-04-08 20:10:00 +02:00
supermerill
8c8f822b38 fix #52 (hopefully) 2019-03-08 19:32:52 +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
edad0da724 Extrusion entity visitor & 3D extrusion path
* Add a visitor class for extrusion entity
 * replace most of extrusionEntity* cast by a visitor
 * create a ExtrusionPath3D, subclass of ExtrusionPath
 * create a ExtrusionMultiPath3D, with a generic ExtrusionMultiEntity for the two one (note: need some more work to make it more generic)
 * modify gcode to allow the export of 3D path (minimum modification/effort: no validity check).
2019-02-20 17:20:03 +01:00
supermerill
b07d2461d3 Make extrusion_entities_append_paths appends loop if first_point() == last_point() 2019-01-24 11:12:35 +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
YuSanka
f8bc7cb959 Implementation of the "ColorPrint" on the 3DScene 2018-11-26 16:28:12 +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