Alessandro Ranellucci
c7b6818ccf
Ported offset() and offset2()
2013-07-17 00:48:29 +02:00
Alessandro Ranellucci
898007fc36
Port offset_ex() and offset2_ex() to XS
2013-07-16 20:09:53 +02:00
Alessandro Ranellucci
9458c7db97
Fix integration of XS containers
2013-07-16 17:13:01 +02:00
Alessandro Ranellucci
9b582a11ff
Adopt XS containers everywhere (incomplete work)
2013-07-16 09:49:34 +02:00
Alessandro Ranellucci
ab6b3d41a7
XS interface completed, including new Line class
2013-07-15 22:57:22 +02:00
Alessandro Ranellucci
9af2a1c007
Use XS Point everywhere
2013-07-15 20:31:43 +02:00
Alessandro Ranellucci
f612d4c64e
Ported ExtrusionPath to XS. Failing test for Surface
2013-07-15 12:14:22 +02:00
Alessandro Ranellucci
a1e4bda670
Have Clipper.pm only return ExPolygon::XS objects
2013-07-07 15:17:09 +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
Mark Hindess
35ecd65e77
Implement nearest point index and split at index to avoid search for point.
2012-07-02 20:26:56 +01:00
Alessandro Ranellucci
0372d06247
Releasing 0.8.4
2012-06-24 16:50:09 +02:00
Alessandro Ranellucci
f88f516c30
Optimize honeycomb travels
2012-06-24 16:09:24 +02:00
Alessandro Ranellucci
bf1aba3d08
New --support-material-pattern and --support-material-angle options
2012-06-23 22:43:23 +02:00
Alessandro Ranellucci
53d24bc580
Bugfix: some infill paths were not connected. #477
2012-06-23 20:27:28 +02:00
Alessandro Ranellucci
be8970b497
Fixed regression causing infill lines not being always connected near perimeters
2012-06-19 18:49:46 +02:00
Alessandro Ranellucci
82dd3c7a3e
New --perimeters-extrusion-width and --infill-extrusion-width options. #302
2012-06-06 18:05:03 +02:00
Alessandro Ranellucci
8a031fe501
New --first-layer-extrusion-width option. #385
2012-06-06 17:29:12 +02:00
Alessandro Ranellucci
74c00cdb7a
Yes, recent memory optimizations broke concentric infill too
2012-05-19 23:47:36 +02:00
Alessandro Ranellucci
b360b2bcea
Fixed regression causing side gaps in solid infill
2012-05-19 21:57:47 +02:00
Alessandro Ranellucci
aa9563f00b
More constants, less strings => ess memory usage
2012-05-19 15:40:11 +02:00
Alessandro Ranellucci
4b7e9fc284
Fixed regression causing poor adhesion of rectilinear infill to perimeters
2012-05-04 20:51:09 +02:00
Alessandro Ranellucci
84d9368bf6
Bugfix: error on Honeycomb infill
2012-04-30 17:55:32 +02:00
Alessandro Ranellucci
d03925a18d
New GUI with plating facilities
2012-04-30 14:56:01 +02:00
Alessandro Ranellucci
17a4426358
Fixed regression throwing fatal error with honeycomb infill
2012-04-29 18:05:23 +02:00
Alessandro Ranellucci
fc0fa0c738
Remove Rectilinear2 infill
2012-04-16 14:06:52 +02:00
Alessandro Ranellucci
d51ba94e8a
Remove XXX from dependencies
2012-04-16 14:03:36 +02:00
Alessandro Ranellucci
cb182b8bc2
Honeycomb infill. #300
2012-04-16 11:55:14 +02:00
Alessandro Ranellucci
fc76104aa7
Merge branch 'boost-geometry'
2012-04-10 15:52:44 +02:00
Alessandro Ranellucci
a8adff53ca
New implementation of support material
2012-04-09 22:06:30 +02:00
Alessandro Ranellucci
5bfe19a8b9
Huge speed Boost (pun intended). Also fixes a problem where infill was escaping perimeters sometimes ( #305 ).
2012-04-09 11:04:32 +02:00
Alessandro Ranellucci
965a4e1bfd
Make sure all concentric fill loops are extruded ccw. #298
2012-04-03 14:11:12 +02:00
Alessandro Ranellucci
64892c2203
Bugfix: fatal error on some models. #255
2012-03-10 23:49:24 +01:00
Alessandro Ranellucci
4a72c77150
Maximize fill/perimeter contact for line infill pattern
2012-03-04 11:45:45 +01:00
Alessandro Ranellucci
be9886eac3
Bugfix: fill escapes perimeters. #139
2012-03-04 11:26:11 +01:00
Alessandro Ranellucci
be0e1a6e0b
Bugfix: fill escapes perimeters. However, we keep it disabled. #139
2012-02-25 22:41:53 +01:00
Alessandro Ranellucci
c98f6734c7
Code optimization
2012-02-25 22:18:07 +01:00
Alessandro Ranellucci
7b67fae686
Support material
2012-02-19 12:03:36 +01:00
Alessandro Ranellucci
4ade11b26e
Some minor fixes related to polyline refactoring
2012-01-27 14:29:06 +01:00
Alessandro Ranellucci
00c6287488
Bugfix: fill escapes perimeters. #139
2012-01-21 17:11:14 +01:00
Alessandro Ranellucci
63972a3a35
Some more overlap
2012-01-21 16:35:23 +01:00
Alessandro Ranellucci
f1b1454b36
Loops were not closing well
2012-01-21 11:51:31 +01:00
Alessandro Ranellucci
0e23f20df1
Poor overlap between perimeters and infill
2012-01-21 11:48:03 +01:00
Alessandro Ranellucci
a3a9cf5749
Yet other things not changed when refactored. #163
2012-01-12 10:48:18 +01:00
Alessandro Ranellucci
b605381132
Bugfix: more errors in infills after refactoring. #162
2012-01-11 23:19:56 +01:00
Alessandro Ranellucci
8ed91a8ec4
Very large refactoring. Ditched Slic3r::Polyline::Closed and reorganized geometric classes.
2011-12-30 19:59:51 +01:00
Alessandro Ranellucci
ab0300bb70
Bugfix for recent solid infill adjustment math, to take float math into account
2011-12-22 18:55:18 +01:00
Alessandro Ranellucci
4af295bce3
Bugfix: very wrong infill for low density regions. #127
2011-12-19 09:55:03 +01:00
Alessandro Ranellucci
e5619ee543
Bugfix: not all paths were closed correctly due to float rounding
2011-12-18 11:53:15 +01:00
Alessandro Ranellucci
eca6d0b6d0
Adjust flow for solid surfaces when using concentric infill too. #120
2011-12-17 20:29:06 +01:00
Alessandro Ranellucci
6a3eeef83b
Removed warnings for concentric infill. #121
2011-12-17 19:59:31 +01:00
Alessandro Ranellucci
f73febff7a
Always start concentric infill from the center. #120
2011-12-17 19:56:56 +01:00
Alessandro Ranellucci
d63eabcfa5
Clip less from loops to avoid gaps
2011-12-17 19:54:35 +01:00
Alessandro Ranellucci
1e6ecd9eab
Corrections to math. Threads are not always rectangles with semicircles. Better calculation of overlap.
2011-12-17 19:52:34 +01:00
Alessandro Ranellucci
cd0fd80a69
Restore better perimeter/infill overlap for solid surfaces
2011-12-16 18:37:43 +01:00