Alessandro Ranellucci
e79aa2e81c
New --solid-infill-extruder option. Includes a refactoring of the strategy used to order layer extrusions according to their extruder and island; toolchanges and travel moves should be more optimized now. #618
2014-12-17 00:34:00 +01:00
Alessandro Ranellucci
807d042d11
Typo. #2401
2014-12-07 19:56:35 +01:00
Alessandro Ranellucci
379cde30e2
Ported Slic3r::BridgeDetector to XS
2014-11-15 22:41:22 +01:00
Alessandro Ranellucci
b69caff93c
Ported LayerRegion::make_slices() to XS
2014-11-09 16:24:07 +01:00
Alessandro Ranellucci
67f1cdf76f
Bugfix: seam_position = random didn't work with a single perimeter. #2179
2014-11-07 23:53:18 +01:00
Alessandro Ranellucci
16fce2facb
Fixed minor regression in recent commit
2014-11-07 22:58:48 +01:00
Alessandro Ranellucci
b6bd527bdc
Apply bridge flow and speed to first layer as well, when we have raft layers. This behavior is more consistent when all the other bottom surfaces lying on the void (thus on support material). #2301
2014-11-07 17:17:20 +01:00
Alessandro Ranellucci
ed17c22889
Minor cleanup of imported symbols
2014-10-25 11:15:12 +02:00
Alessandro Ranellucci
7ff13c063f
Port PrintRegion::flow() and LayerRegion.flow() to XS
2014-08-03 19:17:23 +02:00
Alessandro Ranellucci
79d55efa0e
Relax collision checks when Detect thin walls is disabled
2014-07-23 15:18:57 +02:00
Alessandro Ranellucci
d9f5fdae72
Bugfix: make_perimeters() was not truly idempotent because prepare_infill() split ->slices into typed surfaces
2014-07-15 19:07:38 +02:00
Alessandro Ranellucci
bcc8e356b2
Merge perimeters of adjacent regions having the same perimeter settings
2014-07-12 15:28:21 +02:00
Alessandro Ranellucci
5e80d7a388
Readd use strict and use warnings
2014-06-12 09:23:10 +02:00
Alessandro Ranellucci
6194cbf530
Refactoring: new method in Flow for calculating spacing between extrusions having different width
2014-06-12 09:17:37 +02:00
Alessandro Ranellucci
8ee11b3239
Refactoring: keep height in Flow object and calculate spacing on demand
2014-06-12 01:00:13 +02:00
Alessandro Ranellucci
34750d47fe
Move external_perimeters_first to PrintRegionConfig
2014-06-11 22:15:28 +02:00
Alessandro Ranellucci
7ccfd2f024
More work on incremental slicing
2014-06-11 17:51:18 +02:00
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