Commit Graph

128 Commits

Author SHA1 Message Date
Alessandro Ranellucci
36596bf569 Bugfix: alignment code for rectilinear infill caused lack of infill (regression in 948b43f). #1387 2013-08-12 20:27:25 +02:00
Alessandro Ranellucci
80676f358a Keep edge lines in rectilinear infill even when the sides are not perfectly straight 2013-07-29 13:36:22 +02:00
Alessandro Ranellucci
948b43fe0d Don't try to align rectilinear infill if solid, otherwise there will be a gap at one side 2013-07-29 11:05:04 +02:00
Alessandro Ranellucci
8061cc6e30 Optimization in Polyline instantiation 2013-07-05 14:44:41 +02:00
Alessandro Ranellucci
cd1a39397b Optimize concentric loops 2013-06-23 00:50:44 +02:00
Alessandro Ranellucci
78f1527ab7 Compensate perimeter/infill overlap for concentric infill 2013-06-23 00:37:04 +02:00
Alessandro Ranellucci
45611d6742 Fix connection algorithm for rectilinear infill as sometimes it wasn't connecting segments correctly 2013-06-16 18:05:56 +02:00
Alessandro Ranellucci
32aafd2eb9 Temporary workaround until Boost::Geometry::Utils 0.14 is available 2013-06-16 15:11:39 +02:00
Alessandro Ranellucci
258842b845 New logic for connecting honeycomb loops 2013-06-16 13:31:10 +02:00
Alessandro Ranellucci
9ff85898b1 New logic for connecting honeycomb paths 2013-06-16 13:26:57 +02:00
Alessandro Ranellucci
961586fe8f Rewrite honeycomb infill so that it only generates the pattern for the bounding box of the region instead of the full print, so reduce complexity of the clipping routine 2013-06-16 13:13:52 +02:00
Alessandro Ranellucci
ac4a0bcdd8 Refactoring: use Slic3r::Geometry::BoundingBox objects everywhere 2013-06-16 12:21:25 +02:00
Alessandro Ranellucci
8d9d023dd7 Merge branch 'honeycomb-clipping' 2013-06-15 18:10:16 +02:00
Alessandro Ranellucci
627debf284 Scale bounding_box by sqrt(2) in honeycomb too to ensure it will cover the object even after rotation, like we already did for Rectilinear 2013-05-19 11:25:41 +02:00
Alessandro Ranellucci
08a0bbd7f0 Optimization: split meshes automatically when avoid_crossing_perimeters is enabled, so that we reduce the complexity of the MotionPlanner graphs. This commit includes a very large refactoring of the Model class which is now responsible for duplication and arrangement 2013-05-18 16:48:26 +02:00
Alessandro Ranellucci
a73020c10e Faster implementation of concentric infill, with loop order reversed so that smaller loops will be printed at the end. #898 2013-05-13 21:22:57 +02:00
Alessandro Ranellucci
6842114d3d Fix for rectilinear infill failing in plates with new caching 2013-04-26 17:14:30 +02:00
Alessandro Ranellucci
850690cf79 Minor optimization 2013-04-18 17:36:06 +02:00
Alessandro Ranellucci
430c825918 Align rectilinear and line infill across layers (new implementation). #712 2013-04-18 17:34:21 +02:00
Alessandro Ranellucci
bd3384525e Revert "Align rectilinear and line infill across layers. #712"
This reverts commit a0a54ea706.
2013-04-15 11:33:24 +02:00
Alessandro Ranellucci
a0a54ea706 Align rectilinear and line infill across layers. #712 2013-04-11 19:36:49 +02:00
Alessandro Ranellucci
769ec0cb03 Better clipping of honeycomb paths 2013-03-26 13:04:57 +01:00
Alessandro Ranellucci
83065b0789 Bugfix: wrong flow and bad pattern rotation when infill-every-layers was set to an arbitrary high value 2013-03-17 01:10:40 +01:00
Alessandro Ranellucci
04c0caad0b Fix honeycomb infill overlap with perimeters 2013-03-17 00:57:58 +01:00
Alessandro Ranellucci
0f5064dd32 Untested fix for incomplete honeycomb support material. #1032 2013-03-16 21:10:12 +01:00
Alessandro Ranellucci
090e3b1fe3 Rename shortest_path to chained_path, which reflects its algorithm more correctly 2013-02-05 17:27:45 +01:00
Alessandro Ranellucci
2963e54d21 Use the faster polygon_multi_linestring_intersection() 2013-01-28 00:32:19 +01:00
Alessandro Ranellucci
1774143011 Bugfix: PlanePath fill patterns were not working anymore. #880 2012-12-31 14:11:36 +01:00
Alessandro Ranellucci
aff0898f35 Typo 2012-11-16 18:24:09 +01:00
Alessandro Ranellucci
86f5cb8654 Previous commit about bridge spacing was incomplete 2012-11-16 18:10:09 +01:00
Alessandro Ranellucci
cb4ede7f9e Do not pass the Print object to SVG::output anymore 2012-11-01 11:34:53 +01:00
Alessandro Ranellucci
cec7bf815c Get rid of the ExtrusionLoop objects in concentric filler 2012-10-30 15:29:13 +01:00
Alessandro Ranellucci
20e73face2 Get rid of max_print_dimension in filler objects 2012-10-30 15:09:54 +01:00
Alessandro Ranellucci
6c97e588b1 Don't require the print object in filler objects 2012-10-30 14:34:41 +01:00
Alessandro Ranellucci
5943114574 Only take layer_id instead of layer in filler objects 2012-10-30 14:25:48 +01:00
Alessandro Ranellucci
61047f0df5 Define perimeter/infill overlap over spacing instead of width and increase it slightly to compensate 2012-10-30 14:21:59 +01:00
Alessandro Ranellucci
610862a97f Use the actual flow spacing for clipping concentric loops 2012-10-30 14:17:30 +01:00
Alessandro Ranellucci
0a5016a509 Cleaner usage of the PI constant 2012-10-30 14:15:48 +01:00
Alessandro Ranellucci
be7e211bb6 Make flow_spacing required for ExtrusionPath objects 2012-10-30 14:07:01 +01:00
Alessandro Ranellucci
f2389682b6 Factor out some hard-coded settings 2012-10-29 00:23:33 +01:00
Alessandro Ranellucci
6beaf5e597 New faster algorithm for filling gaps, while we work on a new medial axis implementation 2012-10-24 16:17:09 +02:00
Alessandro Ranellucci
0990a9418c Bugfix: honeycomb infill was overlapping too much with perimeters. #732 2012-10-22 13:38:37 +02:00
Alessandro Ranellucci
bbe0a45b58 Optimization: cache scaled flow width and spacing 2012-09-23 03:03:08 +02:00
Alessandro Ranellucci
e0d5f4e528 Replace 'scale epsilon' with 'scaled_epsilon' 2012-09-12 15:22:43 +02:00
Alessandro Ranellucci
bb5f00cf0c Bugfix: extrusion width setting for support material was only affecting the path spacing but not the actual flow. #666 2012-09-12 12:13:43 +02:00
Alessandro Ranellucci
ba58e0733f Avoid backwards moves when doing honeycomb infill. #492 2012-08-24 19:19:45 +02:00
Alessandro Ranellucci
5281b101f9 Some infill paths were still disconnected, causing unnecessary retractions 2012-08-24 18:59:23 +02:00
Alessandro Ranellucci
7e34244b05 Refactored configuration handling.
Slic3r::Config is now an object. Multiple partial config objects are used throughout the codebase as local repositories, then merged and serialized when necessary.
2012-07-27 21:16:11 +02:00
Alessandro Ranellucci
1697cb24a6 Memory optimization and code cleanup. Don't keep deserialized paths 2012-07-20 14:39:56 +02:00
Alessandro Ranellucci
9e77e6e8b6 Removed comment about the shortest path search for honeycomb not being useful: it is. #512 2012-07-04 10:02:45 +02:00