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
c2301c5796
Don't extend solid layers when fill density is 0
2013-04-29 15:55:50 +02:00
Mark Hindess
407de02fe4
Use binary search for get_layer_range.
...
Gives a 13% speed up on Teethy_Tiki.stl (thing:49334) with default settings
on my laptop.
When $self->layers->[0]->slice_z == $min_z the returned $min_layer value is
0 rather than the (incorrect?) -1 returned by the old code.
2013-04-18 19:29:05 +01:00
Alessandro Ranellucci
e088d9b3f7
Cache Slic3r::Fill object
2013-04-18 18:40:59 +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
04d2231901
Bugfix: is_printable() wasn't discarding narrow ring-shaped top/bottom surfaces because it was only considering the contour. This caused extra shell material even in hollow prints. #1049
2013-03-30 11:22:12 +01:00
Alessandro Ranellucci
1b79b1cb20
Refactoring: use the clone() method for inflating Surface objects
2013-03-29 19:18:06 +01:00
Alessandro Ranellucci
6bc5de0b5d
Allow custom ranges with layer_height = 0
2013-03-24 15:26:55 +01:00
Alessandro Ranellucci
0b81911cff
Bugfix: artifacts near walls. #1049
2013-03-18 17:55:16 +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
35bd5a3423
New --solid-infill-extrusion-width option
2013-03-17 00:02:31 +01:00
Alessandro Ranellucci
c13d9e9fb3
Don't collapse overhangs too early
2013-03-16 21:51:38 +01:00
Alessandro Ranellucci
0f5064dd32
Untested fix for incomplete honeycomb support material. #1032
2013-03-16 21:10:12 +01:00
Alessandro Ranellucci
25554a345f
Reorder object copies using a nearest neighbor search
2013-03-16 20:56:14 +01:00
Alessandro Ranellucci
10b6bc9d15
Removed keep_meshes
2013-03-16 19:39:00 +01:00
Alessandro Ranellucci
f4b8185698
Fixed typo preventing support material to work with new simplify() syntax
2013-03-16 19:11:49 +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
0f8ca6191a
Merge branch 'master' into grow-narrow
2013-03-16 16:22:03 +01:00
Alessandro Ranellucci
dc0f706789
Bugfix: simplification of support areas could lead to complex polygons with bad orientation, thus causing wrong pattern clipping. #1032
2013-03-14 14:27:08 +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
6058384978
Fixed regression causing crash when support material threshold angle was defined. #1048
2013-03-12 19:39:43 +01:00
Alessandro Ranellucci
999af84c54
Don't make internal bridges when fill_density == 1. #1045
2013-03-11 18:41:12 +01:00
Alessandro Ranellucci
0eecf33198
Bugfix: narrow solid shells were collapsed when spacing was added before generating infill, so we grow them
2013-03-11 18:37:01 +01:00
Alessandro Ranellucci
b7945ac790
Finished new extra perimeters implementation
2013-03-11 14:23:16 +01:00
Alessandro Ranellucci
74e21d7a04
New implementation of extra perimeters - to test
2013-03-10 19:08:36 +01:00
Alessandro Ranellucci
f670acb4b1
Slice a single object with multiple layer heights. :-)
2013-03-10 14:58:49 +01:00
Alessandro Ranellucci
17cbca5e06
Factor out layer height in support material generation
2013-03-10 12:22:40 +01:00
Alessandro Ranellucci
2ab5fa9c72
Factor out layer height from combine_infill()
2013-03-10 12:08:18 +01:00
Alessandro Ranellucci
2275de9f0d
Factored out the layer height logic
2013-03-10 11:37:16 +01:00
Alessandro Ranellucci
36d24ccb0b
Infill refactoring and cleanup complete
2013-03-07 15:47:32 +01:00
Alessandro Ranellucci
a9df56670f
Bugfix: internal-bridge regions were not touching perimeters
2013-03-05 19:33:06 +01:00
Alessandro Ranellucci
a9090688f9
Refactor bridge flow to Slic3r::Flow::Bridge class
2013-02-27 10:43:50 +01:00
Alessandro Ranellucci
d00c2882c4
Remove debug line slipped into last commit
2013-02-27 10:30:05 +01:00
Alessandro Ranellucci
37be4f7319
Some cleanup for detect_surfaces_type()
2013-02-26 20:52:13 +01:00
Alessandro Ranellucci
f4e8cdbf36
Better logic for extra perimeters
2013-02-26 20:00:05 +01:00
Alessandro Ranellucci
bd76e7677c
Adjust extra perimeters
2013-02-24 17:04:19 +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
de0c2febd9
Remove useless lines
2013-02-23 23:50:46 +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
5eade0f9e1
Don't validate the number of layers for infill combination, just limit it automatically. #993
2013-02-22 16:24:24 +01:00
Alessandro Ranellucci
91bcfc8a74
Remove $Slic3r::flow and $Slic3r::first_layer_flow
2013-02-22 16:08:11 +01:00
Alessandro Ranellucci
b9c84490b8
Get rid of most calls to $Slic3r::flow
2013-02-19 12:37:26 +01:00
Alessandro Ranellucci
6dc62d3cf2
Disable extra perimeters if fill density is zero as they wouldn't be supported by anything and would just float inside the object. infill_only_where_needed should be the method of choice for hollow objects
2013-02-19 12:37:26 +01:00
Mike Sheldrake
c2f04f2861
avoid overlap of single layer and multilayer fill
...
A single-layer rectilinear or honeycomb fill under a low slope
wall/ceiling or extra perimeter will stick out from under the
overhang, because those fills get extended beyond their fill_surface
boundaries to purposely overlap perimeters. This causes interference
with multil-layer fills. This commit clips the single layer fill
boundaries a bit more where they interface with multi-layer fill
boundaries, to avoid overlap.
2013-02-18 07:26:19 -08:00
Mike Sheldrake
9a86edc70c
account for extrusion width when clearing layers for combined infill
...
Otherwise you get extraneous fill up against sloped walls in regions
of layers that should not have fill, like in #834 .
2013-02-16 07:53:47 -08:00
Alessandro Ranellucci
c9b506fa02
New simpler and more robust implementation of infill every 'n' layers
2013-02-10 12:40:43 +01:00
Alessandro Ranellucci
cac79c0575
New option to only infill where strictly needed for supporting ceilings
2013-02-09 23:36:32 +01:00