Commit Graph

160 Commits

Author SHA1 Message Date
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
8fe228fcee Smarter ordering of gap fill 2013-07-26 00:03:28 +02:00
Alessandro Ranellucci
c030e38908 Ported ExtrusionPath::Collection 2013-07-18 19:09:07 +02:00
Alessandro Ranellucci
c7b6818ccf Ported offset() and offset2() 2013-07-17 00:48:29 +02:00
Alessandro Ranellucci
bf8c799685 Ported diff_ex, intersection_ex, union_ex, xor_ex 2013-07-17 00:29:09 +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
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