Alessandro Ranellucci
9b582a11ff
Adopt XS containers everywhere (incomplete work)
2013-07-16 09:49:34 +02:00
Alessandro Ranellucci
f612d4c64e
Ported ExtrusionPath to XS. Failing test for Surface
2013-07-15 12:14:22 +02:00
Alessandro Ranellucci
ac4a0bcdd8
Refactoring: use Slic3r::Geometry::BoundingBox objects everywhere
2013-06-16 12:21:25 +02:00
Alessandro Ranellucci
bbb190dc68
Generate infill using each object's bounding_box instead of full print. #1177
2013-05-19 11:35:41 +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
Mark Hindess
8c26f0da30
Avoid memory leaks by breaking reference cycle: Print -> Fill -> Print
2013-04-18 22:49:43 +01:00
Alessandro Ranellucci
430c825918
Align rectilinear and line infill across layers (new implementation). #712
2013-04-18 17:34:21 +02:00
Alessandro Ranellucci
1b79b1cb20
Refactoring: use the clone() method for inflating Surface objects
2013-03-29 19:18:06 +01:00
Alessandro Ranellucci
8ce31c2a2b
Don't exclude any infill under internal bridges; revert infill pattern to rectilinear for internal bridges. #240
2013-03-18 13:32:19 +01:00
Alessandro Ranellucci
1064c9bb2a
Merge branch 'master' into grow-narrow
...
Conflicts:
lib/Slic3r/Fill.pm
lib/Slic3r/Print/Object.pm
2013-03-17 02:30:20 +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
537fca47c5
Use solid infill speed for internal bridges; apply slowdown if any; don't use bridge fan settings. #240
2013-03-17 00:42:53 +01:00
Alessandro Ranellucci
35bd5a3423
New --solid-infill-extrusion-width option
2013-03-17 00:02:31 +01:00
Alessandro Ranellucci
9713b9f524
Fix narrow fills growing
2013-03-13 14:55:58 +01:00
Alessandro Ranellucci
d9b82c79da
Grow narrow infill regions into void - to be tested more
2013-03-13 01:03:54 +01:00
Alessandro Ranellucci
0df8398a39
Use concentric infill for internal bridges. #240
2013-03-11 18:38:32 +01:00
Alessandro Ranellucci
2f192bddca
Make tests happy
2013-03-07 16:24:25 +01:00
Alessandro Ranellucci
97e864699e
New top-infill-extrusion-width option
2013-03-07 16:00:58 +01:00
Alessandro Ranellucci
36d24ccb0b
Infill refactoring and cleanup complete
2013-03-07 15:47:32 +01:00
Alessandro Ranellucci
d928f005e6
Some incomplete work for cleaner infill logic
2013-03-05 20:03:46 +01:00
Alessandro Ranellucci
c3d90a1ff8
Rename $layer to $layerm in Slic3r::Fill too for consistency
2013-02-27 10:44:42 +01:00
Alessandro Ranellucci
a9090688f9
Refactor bridge flow to Slic3r::Flow::Bridge class
2013-02-27 10:43:50 +01:00
Alessandro Ranellucci
08a72c0824
Use bridge math for the first solid infill layer above sparse infill. #240
2013-02-23 21:39:13 +01:00
Alessandro Ranellucci
26a3cd5542
Refactor chained_path(), add chained_path_items() and chained_path_points()
2013-02-06 12:03:53 +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
183736dd9a
Infill flow for bottom layer was calculated incorrectly when first_layer_height != layer_height
2012-11-19 12:37:05 +01:00
Alessandro Ranellucci
427e3c1720
Keep bridge flow unchanged even with the new overlapping spacing
2012-11-18 15:42:59 +01:00
Alessandro Ranellucci
86f5cb8654
Previous commit about bridge spacing was incomplete
2012-11-16 18:10:09 +01:00
Alessandro Ranellucci
a81377d684
Apply overlap factor to bridges too
2012-11-16 13:18:06 +01:00
Alessandro Ranellucci
2ef90562ce
Fixed regression causing first two layers to be infilled with parallel lines
2012-11-06 22:16:01 +01:00
Alessandro Ranellucci
d67c07bd47
Fix typo causing incomplete honeycomb infill after recent refactoring
2012-11-01 18:32:35 +01:00
Alessandro Ranellucci
44d91774a6
Get rid of useless Slic3r::Fill instances
2012-10-30 15:38:17 +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
f35cdef2aa
Renamed ExtrusionPath->depth_layers to height
2012-10-28 14:22:51 +01:00
Alessandro Ranellucci
b92642459f
Merge branch 'master' into dynamic-flow
...
Conflicts:
lib/Slic3r/Flow.pm
lib/Slic3r/Layer.pm
2012-10-04 15:23:19 +02:00
Alessandro Ranellucci
bbe0a45b58
Optimization: cache scaled flow width and spacing
2012-09-23 03:03:08 +02:00
Alessandro Ranellucci
1cedb00f20
Merge branch 'master' into dynamic-flow
...
Conflicts:
lib/Slic3r/ExPolygon.pm
2012-09-12 16:05:06 +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
0aa224ffad
Dynamic extrusion width for better gap filling
2012-08-25 14:23:46 +02:00
Alessandro Ranellucci
c763f5fc81
Bugfix: fatal error with thin loops after recent refactoring. #562
2012-07-28 11:06:27 +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
96574e601f
Infill flow wasn't adjusted for non-solid surfaces
2012-07-05 10:34:02 +02:00
Alessandro Ranellucci
c4b9a6cf61
Bugfix: flow wasn't adjusted for perimeters when a custom perimeters extrusion width was applied
2012-07-01 18:13:48 +02:00
Alessandro Ranellucci
b9008a99f9
Fill the gaps while doing normal infill to avoid extra travel
2012-06-30 16:33:01 +02:00
Alessandro Ranellucci
898266fd34
Initial refactoring for supporting multiple extruders. Little speed optimization included
2012-06-28 14:44:54 +02:00
Alessandro Ranellucci
eea6d84314
Bugfix: infill extrusion width was ignored
2012-06-27 19:55:54 +02:00
Alessandro Ranellucci
0c4b112718
Fixed regression preventing arcs to be generated at all (center detection is still buggy)
2012-06-07 19:53:27 +02:00
Alessandro Ranellucci
fbfbfac2b6
New --top-solid-infill-speed option. Also, --solid-infill-speed and --small-perimeter-speed can be expressed as ratios too. #174 #151
2012-06-06 19:59:20 +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
494f4f94bf
After recent memory optimizations, no solid layers were made when using fill density == 0
2012-05-20 17:28:53 +02:00
Alessandro Ranellucci
882a022e3a
Even more constants, less memory, more speed
2012-05-19 16:04:33 +02:00
Alessandro Ranellucci
aa9563f00b
More constants, less strings => ess memory usage
2012-05-19 15:40:11 +02:00
Alessandro Ranellucci
91d1b21c40
Use honeycomb pattern for support material
2012-04-30 23:50:38 +02:00
Alessandro Ranellucci
d03925a18d
New GUI with plating facilities
2012-04-30 14:56:01 +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
555c23069d
New --post-process option. Includes some cleaning of the STDOUT messages
2012-02-20 12:50:05 +01:00
Alessandro Ranellucci
7b67fae686
Support material
2012-02-19 12:03:36 +01:00
Alessandro Ranellucci
8b777e9d70
Multithreaded infill. #154
2012-01-28 16:27:52 +01:00
Alessandro Ranellucci
f419cf37d1
Use solid print speed for internal solid layers too. #167
2012-01-18 10:07:42 +01:00
Alessandro Ranellucci
90d10b24a8
Fill gaps using medial axis detection
2012-01-12 22:05:35 +01:00
Alessandro Ranellucci
8735ac3c57
Bridges now have higher priority than other solid surfaces. #140
2012-01-11 23:16:09 +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
f20209ce01
Add spacing between adjacent surfaces to avoid mini blobs
2011-12-18 13:38:45 +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
172253cfd7
Always use rectilinear infill for internal-solid surfaces
2011-12-15 22:05:15 +01:00
Alessandro Ranellucci
048f7ca468
Adjusted flow width for solid infills was ignored
2011-12-14 11:35:19 +01:00
Alessandro Ranellucci
56691c1dea
Model extrusion threads as rectangles with semicircles at the end. Remove overlap_ratio setting. #109 #112
2011-12-13 17:34:31 +01:00
Alessandro Ranellucci
d9a70ea80d
Customizable overlap ratio (it defaults to 0.15 now)
2011-12-08 10:53:07 +01:00
Alessandro Ranellucci
313f77ee59
Bugfix: removed error when filling small regions
2011-12-05 19:54:19 +01:00
Alessandro Ranellucci
28a89c70c9
New bridge flow rate multiplier option. #85
2011-12-04 20:29:21 +01:00
Alessandro Ranellucci
0aff5fab24
Connect infill segments and adjust spacing and flow rate to fill the area completely without leaving gaps. #89
2011-12-04 16:24:46 +01:00
Alessandro Ranellucci
792960aae1
Slic3r should now be able to detect optimal bridging direction for any kind of bridge. #58
2011-12-02 23:35:39 +01:00
Alessandro Ranellucci
b03afc7f1c
Bugfix: some bridges were not detected correctly. #57
2011-11-30 20:32:28 +01:00
Michael Moon
729905d342
allow solid fill layers to be zero
2011-11-30 12:51:34 +11:00
Alessandro Ranellucci
2970e31540
Bugfix: some bridges being very close could lead to overlapping infill
2011-11-29 11:36:52 +01:00
Alessandro Ranellucci
3ad9ed74ae
New --solid-infill-feed-rate option. #68
2011-11-28 19:11:26 +01:00
Alessandro Ranellucci
975387d953
New --bridge-feed-rate option. #68
2011-11-28 18:37:53 +01:00
Alessandro Ranellucci
951778439a
Bugfix: recent changes broke the "infill every layers" option which didn't alternate infill direction correctly. #70
2011-11-26 15:21:15 +01:00
Alessandro Ranellucci
0ab1fd4c19
concentric - new superfast infill pattern
2011-11-26 10:38:45 +01:00
Alessandro Ranellucci
8598b66b0a
Large refactoring. Cleaner logic, smaller memory footprint.
2011-11-23 12:29:27 +01:00
Alessandro Ranellucci
13ef24b5eb
Fixes, improvements and refactoring for bridges and solid surfaces.
2011-11-23 09:49:39 +01:00
Alessandro Ranellucci
a1c766cc52
New bridging logic, more robust. #58
2011-11-19 16:44:24 +01:00
Alessandro Ranellucci
1ef4d006a0
Treating "reverse bridges" as bridges should not change the way they're infilled or the chosen flow width
2011-11-18 09:54:28 +01:00
Alessandro Ranellucci
612b2e6ded
Slic3r::Fill::PlanePath was not explicitely included, puzzling the packager
2011-11-14 15:23:17 +01:00
Alessandro Ranellucci
86f3e4fcd2
Implemented a new "line" fill pattern. #20
2011-11-14 10:31:07 +01:00
Alessandro Ranellucci
8f32ee8f5a
Bugfix: recent changes broke the "Infill every N layers" feature
2011-11-13 21:46:32 +01:00
Alessandro Ranellucci
a10d13120c
Better toolpaths for infills with different density
2011-11-13 20:22:44 +01:00
Alessandro Ranellucci
a2b4f9f671
Use nozzle diameter as flow width when bridging
2011-11-13 18:21:25 +01:00
Alessandro Ranellucci
038caddcda
New fill types (hilbertcurve, archimedeanchords, octagramspiral) and ability to use different patterns for solid layers. #20
2011-11-13 18:14:02 +01:00
Alessandro Ranellucci
91e250a2fd
Infill solid layers even when --fill-density is set to zero. #37
2011-11-09 09:21:09 +01:00
Alessandro Ranellucci
7f341cfcd3
New --fill-every-layers option to get high accuracy on external surfaces while speeding up infill
2011-10-18 15:57:53 +02:00
Alessandro Ranellucci
5090ae561c
Refactored Perimeter code with new Slic3r::Polygon and Slic3r::ExPolygon objects
...
Large refactoring. Speed gains. Removed convex hull for bridges.
2011-10-15 21:14:13 +02:00
Alessandro Ranellucci
743f2abcf2
Detection of optimal infill direction for bridges. Includes many fixes and improvements.
2011-10-07 19:07:57 +02:00