Commit Graph

340 Commits

Author SHA1 Message Date
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
f599ed00c6 Avoid closures, move planning code to _plan() and layer G-code generation to Slic3r::GCode::Layer 2013-05-18 17:41:37 +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
55071e544f Fix brim spacing. #1174 2013-05-16 12:29:46 +02:00
Alessandro Ranellucci
4121a7ece5 Set support material enforce layers to 0 when spiral printing 2013-05-14 13:54:24 +02:00
Alessandro Ranellucci
a86c48d85c Disable retract on layer change when doing spiral vase; also check that we're printing a single-material object 2013-05-13 21:55:34 +02:00
Alessandro Ranellucci
ccdb29ddc9 New --spiral-vase option to continously raise Z when printing single-walled vases. #997 2013-05-13 20:15:45 +02:00
Alessandro Ranellucci
6e216e2fd9 New traverse_pt() 2013-05-11 09:24:48 +02:00
Alessandro Ranellucci
6b8894cf9a Rename ex_int_offset2 to offset2_ex 2013-05-10 13:56:29 +02:00
Alessandro Ranellucci
5bf3f5f5e4 Make sure brim paths don't overlap 2013-05-10 13:47:40 +02:00
Alessandro Ranellucci
4aad2f6243 Smarter ordering of brim loops. #687 2013-05-09 14:52:56 +02:00
Alessandro Ranellucci
bc9ff47d3f New module to output SVG vertical sections of extrusion paths with real width and height. The commit includes a bugfix to the Polyline->grow() method and some simplification in the Line class which is now child of Polyline 2013-04-27 15:02:13 +02:00
Mark Hindess
aac2c45450 Avoid merging meshes when there is only one mesh to merge.
When slicing yoda.stl it reduces peak memory usage by 5% and speeds up
slicing by 13%.
Further optimization using a simple proxy to implement the two methods
(size/extends) needed on the merge meshes is also possible and
undoubtedly worthwhile.
2013-04-18 19:50:05 +01:00
Alessandro Ranellucci
e088d9b3f7 Cache Slic3r::Fill object 2013-04-18 18:40:59 +02:00
Alessandro Ranellucci
b4be61b703 Bugfix: time estimates for cooling were computed for each object separately instead of the whole actual layer. #1071 2013-04-04 01:17:44 +02:00
Alessandro Ranellucci
a563801304 Merge branch 'master' of github.com:alexrj/Slic3r 2013-04-04 01:15:46 +02:00
Alessandro Ranellucci
3afeb5c7b5 Second layer commands were written multiple times 2013-04-04 00:52:11 +02:00
Devin Grady
e602aad998 inspired by f5e48a3, a seems to work to fix 1076 2013-04-01 22:12:51 -05:00
Alessandro Ranellucci
0d6ff22e19 Merge branch 'wipe' 2013-03-31 11:36:04 +02:00
Alessandro Ranellucci
ac2356f66a Don't crash at the end of empty prints. #1042 2013-03-30 00:36:14 +01:00
Alessandro Ranellucci
d2b451d9a1 Merge branch 'master' into wipe 2013-03-26 16:28:01 +01:00
Alessandro Ranellucci
2f046799f2 Removed offset() method from Slic3r::Polygon because it only works with ccw polygons 2013-03-26 14:03:24 +01:00
Alessandro Ranellucci
b7cd362820 Remove scale from G-code comments 2013-03-19 19:16:13 +01:00
Alessandro Ranellucci
9c122bda5e Fix memory leak in avoid_crossing_perimeters. #1044 2013-03-19 16:02:03 +01:00
Alessandro Ranellucci
fd2a5e894a Respect perimeter/infill order when multiple extruders are configured but only one is used 2013-03-19 11:58:03 +01:00
Alessandro Ranellucci
7de8b20bc4 New wipe feature 2013-03-17 02:22:50 +01:00
Alessandro Ranellucci
78a4ae4835 Use full flow for sparse infill by default 2013-03-17 00:21:17 +01:00
Alessandro Ranellucci
35bd5a3423 New --solid-infill-extrusion-width option 2013-03-17 00:02:31 +01:00
Alessandro Ranellucci
25554a345f Reorder object copies using a nearest neighbor search 2013-03-16 20:56:14 +01:00
Alessandro Ranellucci
cf5adca928 New --resolution option to simplify input models 2013-03-16 19:58:34 +01:00
Alessandro Ranellucci
10b6bc9d15 Removed keep_meshes 2013-03-16 19:39:00 +01:00
Alessandro Ranellucci
33b40eda18 Always fix self-intersecting polygons that Douglas-Peucker might return 2013-03-16 18:42:56 +01:00
Alessandro Ranellucci
964accb588 Typo 2013-03-10 19:07:41 +01:00
Alessandro Ranellucci
2942485a94 New option to make infill before perimeters. #1039 2013-03-10 18:15:44 +01:00
Alessandro Ranellucci
ab3d1ac820 Give priority to infill extruder if it was used last. #940 2013-03-10 17:40:19 +01:00
Alessandro Ranellucci
107f48d894 Reduce toolchanges by giving priority to last extruder on layer change. #940 2013-03-10 17:28:03 +01:00
Alessandro Ranellucci
dac168eff0 Do each island completely if avoid_crossing_perimeters is enabled. #278 2013-03-10 16:09:03 +01:00
Alessandro Ranellucci
f10a4787b2 Fix layer ordering when printing objects with different layer heights 2013-03-10 15:36:52 +01:00
Alessandro Ranellucci
f670acb4b1 Slice a single object with multiple layer heights. :-) 2013-03-10 14:58:49 +01:00
Alessandro Ranellucci
2acda9973e Don't apply acceleration settings to travel moves 2013-03-09 20:28:03 +01:00
Alessandro Ranellucci
e71bf48463 Add a command to lift nozzle in default start G-code 2013-03-09 19:51:09 +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
fafad0fd81 Code for memory usage statistics 2013-02-27 11:26:52 +01:00
Alessandro Ranellucci
c3dde74776 Fix brim and extra perimeters after recent changes to ->slices 2013-02-24 16:40:14 +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
91bcfc8a74 Remove $Slic3r::flow and $Slic3r::first_layer_flow 2013-02-22 16:08:11 +01:00
Alessandro Ranellucci
cac79c0575 New option to only infill where strictly needed for supporting ceilings 2013-02-09 23:36:32 +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
11637d527a Bugfix: avoid-crossing-perimeters was failing on layers only containing single walls. #978 2013-02-04 19:33:30 +01:00