32 Commits

Author SHA1 Message Date
supermerill
90b1cb7391 fix a not-the-same-meaning replacement 2018-11-29 19:14:35 +01:00
supermerill
8b9ea5fe1c forgot a .pl
more () for protection for the operator |
2018-11-29 15:45:44 +01:00
supermerill
816bb1e546 Change SurfaceType to flags 2018-11-27 14:05:26 +01:00
Ahmed Samir
1527cfbb26 Allow to set shell thickness for top/bottom layers (#4430)
* Fix a warning in PresetEditor line 806.

* Remove min_shell_thickness from the if condition in  LayerRegion.cpp

* Add missing line in spiral vase check.

* Add initial set top shell thickness.

* Add minimum shell thickness for top/bottom layers.

* Some refactoring.

* Some Fixes.

* revert last change.

* a fix.

* Some refactoring.

* Some fix in calculating solid layers count.

* Refactoring in LayerRegion.cpp, Object.pm and PresetEditor.pm
2018-06-06 19:26:03 -05:00
Caroline
f3b590911d Partial implementation #1405: minimum shell thickness option (#3885)
* Added Minimum shell thickness option

-Added the option to libslic3r
-Created some of the necessary checks for illegal values

* Enforce min_shell_thickness as 0 when spiral vase is enabled

-This could be switched to match the extrusion width, but we already know there will only be 1 perimeter so this is probably more logical

* Feature is implemented

-Added a method in PerimeterGenerator to determine the amount of perimeters needed to meet min_shell_thickness

* Added a test in perimeters.t

* Fixed styling as requested

-Removed the magic number in PerimeterGenerator::num_loops()
-Added more test cases in perimeters.t
-Added documentation of the new feature in slic3r.pl and README.md

* Implemented requested changes

-Removed the num_loops function from PerimeterGenerator
-Added a scalled min_shell_thickness variable to PerimeterGenerator
-Changed the loop_number logic to use a previously defined variable loops

* Resolved more implementation issues

-Added min shell to invalidate state method
-Created additional checks in PresetEditor and LayerRegion for min shell
-Fixed the tooltip to be more descriptive
2018-05-22 19:25:02 -04:00
Joseph Lenox
e9c0c93ff1 Address warnings about comparing signed/unsigned integers. 2017-09-28 22:20:30 -05:00
Daniel Goldman
af6b094d29 Doxygen Documentation for Layer.hpp, Layer.cpp, LayerRegion.cpp, LayerRegionFill.cpp (#3979)
* Migrated comments in Layer.hpp

* Comments for Layer Class

* Comments for LayerRegion

* Comments for LayerRegionFill
2017-05-29 22:06:57 -05:00
Alessandro Ranellucci
788cbebcfc Bugfix: crash when optimizing bridges. #3928 2017-05-08 21:09:37 +02:00
Alessandro Ranellucci
de1c900d8f Since prepare_infill is not actually idempotent, recalculate perimeters every time. #3827 2017-04-04 17:10:43 +02:00
Alessandro Ranellucci
557f1e234d Potential fix for regression in solid_infill_below_area on Windows. #3794 2017-04-04 15:01:46 +02:00
Alessandro Ranellucci
5c2ab11fcd Removed debugging lines 2017-04-03 20:53:11 +02:00
Alessandro Ranellucci
91e7ef7a66 Improve bridge detection algorithm. #2477 2017-04-03 20:50:18 +02:00
Alessandro Ranellucci
4926e2c76c Minor cleanup of process_external_surfaces() 2017-04-03 20:50:18 +02:00
Alessandro Ranellucci
ef3d235e79 Further cleanup of BridgeDetector and other minor things 2017-04-03 20:50:18 +02:00
Alessandro Ranellucci
61c8359995 Ignore solid_infill_below_area when fill_density is already 100%. #3380 2017-03-20 23:02:47 +01:00
Alessandro Ranellucci
afacf0c99d Parallelized process_external_surfaces 2017-03-09 20:40:06 +01:00
Alessandro Ranellucci
b23e50603e Bugfix: missing bottom solid infill when support_material_contact_distance == 0, z > 0, and the layer contained non-oriented bridges as well. #3503 2016-12-17 11:23:40 +01:00
Alessandro Ranellucci
3a3b24ec7c Two minor fixes 2016-12-12 11:38:39 +01:00
Alessandro Ranellucci
103ec05774 Ported infill to XS/C++. Credits and many thanks go to @bubnikv for this work 2016-11-24 15:32:32 +01:00
bubnikv
47337a3a5e Fixed a typo when SLIC3R_DEBUG is active. 2016-11-23 21:33:07 +01:00
Joseph Lenox
d9a92bc4dc Code documentation of options and functions for libslic3r internals, ported from Prusa3d fork (written by @bubnikv) 2016-11-21 18:40:44 +01:00
Alessandro Ranellucci
9fcd7f38de Refactored Clipper wrapper functions 2016-11-21 18:30:35 +01:00
Alessandro Ranellucci
5ff7511a14 Fixed regression in bridging caused by error in porting. Includes regression test. #3175 2016-03-18 22:40:29 +01:00
Alessandro Ranellucci
4913e90e10 Remove any Perl related code from libslic3r 2015-12-08 00:39:54 +01:00
Alessandro Ranellucci
9fcec10737 Finished porting LayerRegion to C++ 2015-10-26 23:24:46 +01:00
Alessandro Ranellucci
6ac79e3ed6 Ported make_perimeters() to C++ 2015-07-23 16:27:21 +02:00
Alessandro Ranellucci
2655f3f816 Better and more robust implementation of infill_only_where_needed 2015-02-23 00:44:51 +01:00
Alessandro Ranellucci
bb3bf28e59 Ported prepare_fill_surfaces() to XS/C++ 2015-02-01 12:43:58 +01:00
Alessandro Ranellucci
9fd0637990 Bugfix: artifacts were introduced when perimeters were recalculated through incremental slicing. #2494 2015-01-05 21:00:50 +01:00
Alessandro Ranellucci
bf0eb1af0c Refactored ClipperUtils API for a more consistent arguments convention 2014-11-15 23:44:03 +01:00
Alessandro Ranellucci
b69caff93c Ported LayerRegion::make_slices() to XS 2014-11-09 16:24:07 +01:00
Alessandro Ranellucci
6adc3477c9 Moved C++ code into new libslic3r directory 2014-08-03 19:42:29 +02:00