Alessandro Ranellucci
ba8148f4ad
Merge branch 'printcpp' of github.com:sapir/Slic3r into sapir-printcpp
...
Conflicts:
lib/Slic3r/GCode.pm
lib/Slic3r/Print.pm
lib/Slic3r/Print/Object.pm
lib/Slic3r/Print/Region.pm
2014-06-10 14:46:40 +02:00
Alessandro Ranellucci
3599bd0bae
Distinct extrusion width for external perimeters
2014-06-09 21:22:15 +02:00
Alessandro Ranellucci
2bce8bb745
Bugfix: detect thin fill loops so that they can be started at the nearest point without unnecessary loops. #1990
2014-05-26 12:09:13 +02:00
Y. Sapir
8da0bded1d
Move Print object storage to C++. (along with its subobjects)
2014-05-24 23:50:29 +03:00
Alessandro Ranellucci
fcdb462abe
Failing test cases for Clipper bug returning empty result set. #2028
2014-05-24 00:00:15 +02:00
Alessandro Ranellucci
a3bd1b5302
New seal_position option that replaces randomize_start, start_perimeters_at_concave_points and start_perimeters_at_non_overhang. The two latter options are now always on by default. A new "Aligned" seal position value has been added, that forces starting points to be aligned when not randomized. #1741 #925
2014-05-22 19:34:49 +02:00
Alessandro Ranellucci
ac0a91a162
Move many speed settings to PrintRegionConfig
2014-05-15 18:53:05 +02:00
Alessandro Ranellucci
5d12a03b82
Move Detect Bridging Perimeters to region config
2014-05-12 23:02:33 +02:00
Alessandro Ranellucci
69002b8ea2
No tests were covering randomize-start, which was not working anymore after recent ExtrusionLoop refactoring. #2028
2014-05-12 21:49:17 +02:00
Alessandro Ranellucci
c37ef2f18b
New semantics for ExtrusionLoop objects. Early processing of perimeter overhangs for paralellizing such work and making G-code export lighter. Lots of refactoring. This should fix a number of minor bugs, including reversals of perimeter overhangs.
2014-05-08 11:07:37 +02:00
Alessandro Ranellucci
cb1527f7ef
Refactoring: move direction math into a single function. Includes some fixes and adjustments
2014-05-02 18:48:11 +02:00
Alessandro Ranellucci
31113b8a78
Typo in 0a88492
2014-05-02 13:31:41 +02:00
Alessandro Ranellucci
0a88492fdc
Use a more robust parallelism detection
2014-05-02 13:26:59 +02:00
Alessandro Ranellucci
4311f30739
Fixed one typo in BridgeDetector and some improvements to support material
2014-05-01 19:11:53 +02:00
Alessandro Ranellucci
010b71e9d4
Improvements to avoid numerical issues in bridge detection and bridge exclusion
2014-04-30 15:16:15 +02:00
Alessandro Ranellucci
1d10cd3da6
Also remove bridged perimeters area from support material
2014-04-30 01:20:18 +02:00
Alessandro Ranellucci
98e40d3fe4
Store width and height in ExtrusionEntity objects for debugging purposes
2014-04-29 23:16:16 +02:00
Alessandro Ranellucci
a31b2e6ca2
Stricter implementation of the overhang detection. Includes unit tests
2014-04-29 19:58:58 +02:00
Alessandro Ranellucci
caf7b3f97e
Prune bridge angles
2014-04-29 18:36:50 +02:00
Alessandro Ranellucci
f7421053cc
Improvements to bridge angle detection: use coverage test for all cases (including two-sided bridges and C-shaped bridges) and check for all angles equal to directions of bridge sides
2014-04-28 22:15:40 +02:00
Alessandro Ranellucci
2720000a17
New get_trapezoids() implementation. Maybe heavier but it doesn't fail with some versions of GCC like the one provided by Boost.Polygon. #1965
2014-04-28 20:14:20 +02:00
Alessandro Ranellucci
ce9cf4d964
Don't put supports under bridges and potential bridges
2014-04-26 17:19:50 +02:00
Alessandro Ranellucci
148c773319
Exclude support from bridged areas
2014-04-26 16:07:43 +02:00
Alessandro Ranellucci
7ac0095018
Fix regression causing default extrusion width to be ignored. #1958
2014-04-25 19:39:27 +02:00
Alessandro Ranellucci
f6897a346a
Fix islands not being ordered efficiently with the logic that completes each of them before moving to the next one (which is now the default behavior). #1137
2014-04-25 19:11:17 +02:00
Alessandro Ranellucci
6201aacf88
New coverage detection for bridges. Includes implementation of ExPolygon::get_trapezoids()
2014-04-24 13:44:39 +02:00
Petr Ledvina
802ebfb0d6
Fix bridge detector
...
Test line direction is changed to reflect 0=east angle system
Test patern rotation direction is reversed - $angle represents infill direction
Angle test is changed to avoid returning negative value (this does happen otherwise - adding increments to $angle
creates ~ 1e-15 rounding error)
2014-04-23 11:35:58 +02:00
Alessandro Ranellucci
9989ebaabd
Refactored the BridgeDetector class to expose a cleaner API and make it stateful
2014-04-22 00:59:14 +02:00
Alessandro Ranellucci
f7e8a99078
More tests and related fixes to bridge detection. #1917
2014-04-21 20:44:21 +02:00
Alessandro Ranellucci
15628a90ed
Regression test for numerical issues causing thin gaps between perimeters and infill. #1803
2014-04-18 17:30:35 +02:00
Alessandro Ranellucci
93f4fe05e1
Better logic for gap fill: don't subtract from fill surfaces those gaps that medial axis was unable to fill. Thanks ledvinap for the idea and proof of concept implementation. Includes a tolerance factor for avoiding being too strict when collapsing loops (allow some overlap if that helps avoiding triggering medial axis). #1803
2014-04-15 01:41:40 +02:00
Alessandro Ranellucci
e02d33bbce
Remove weak test. #1803
2014-04-15 00:57:43 +02:00
Alessandro Ranellucci
43ffb7d3e8
Bugfix: sometimes a tiny gap was left between infill and perimeters. Includes regression test. #1803
2014-04-15 00:22:31 +02:00
Alessandro Ranellucci
8e5ca0ab76
Fixed a couple typos
2014-04-09 00:36:13 +02:00
Alessandro Ranellucci
627f23d5fe
Make angle increment (i.e. angle resolution) configurable
2014-04-08 16:53:32 +02:00
Alessandro Ranellucci
38f6e3b643
More unit tests for bridge angle detection
2014-04-08 15:18:37 +02:00
Alessandro Ranellucci
9be57f750d
Some fixes to bridge direction detection. Includes regression tests
2014-04-08 14:51:55 +02:00
Alessandro Ranellucci
23e6abff49
Added first unit test for bridge direction
2014-04-08 13:08:42 +02:00
Alessandro Ranellucci
119778caa9
Refactoring: move bridge angle detection to a separate class for easier unit testing
2014-04-07 23:18:11 +02:00
Alessandro Ranellucci
432a87e73d
New option for forcing the generation of interface shells. #1847
2014-03-25 01:11:28 +01:00
Alessandro Ranellucci
5d3c8575c5
Bugfix: holes were not sorted using the nearest-neighbor search, resulting in inefficient paths. #1785
2014-03-23 19:55:31 +01:00
Alessandro Ranellucci
52de292a48
Fixed wrong refactoring of perimeter tree traversal. #1832
2014-03-15 02:16:04 +01:00
Alessandro Ranellucci
b71d28bd5a
Fix minor error and update MANIFEST
2014-03-11 19:19:34 +01:00
Alessandro Ranellucci
f344426873
Better linear gap fill, now with adaptive extrusion width
2014-03-11 19:08:14 +01:00
Alessandro Ranellucci
98b7ae0022
Initial implementation of linear gap fill
2014-03-09 21:26:03 +01:00
Alessandro Ranellucci
7f5442265e
Include thin walls in general top-level perimeter sorting to get more efficient paths
2014-03-09 20:19:30 +01:00
Alessandro Ranellucci
2a73ab988f
Recursive pruning. Some more unit tests
2014-03-09 17:46:02 +01:00
Alessandro Ranellucci
04d80ca392
Some improvements to pruning and some additions here and there
2014-03-05 18:43:01 +01:00
Alessandro Ranellucci
c2ed6090d3
Fix the max width supplied to medial axis code: it's up to two extrusions
2014-03-05 00:53:51 +01:00
Alessandro Ranellucci
4a894b1e20
Add safety offset to thin wall regions to prevent overlapping geometry and corrupt Voronoi diagram
2014-03-05 00:45:17 +01:00