26 Commits

Author SHA1 Message Date
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