Commit Graph

1684 Commits

Author SHA1 Message Date
Alessandro Ranellucci
f7153d67d0 Make preset placeholders available in Quick Slice too. #921 2013-04-28 23:26:50 +02:00
Alessandro Ranellucci
bde730a611 Little fix in SectionCut.pm 2013-04-28 11:31:03 +02:00
Alessandro Ranellucci
6db8afe36d New option to remember last output directory. #698 2013-04-27 21:07:30 +02:00
Alessandro Ranellucci
f5bda326b8 Version check. #1006 2013-04-27 20:55:43 +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
Alessandro Ranellucci
6842114d3d Fix for rectilinear infill failing in plates with new caching 2013-04-26 17:14:30 +02:00
Alessandro Ranellucci
24fd152ce4 Bugfix: cooling buffer was broken. #1149 2013-04-24 11:19:08 +02:00
Miro Hrončok
55c413627f Bugfix: configuration wizard crash 2 #1077 2013-04-23 16:17:43 +03:00
Mark Hindess
8c26f0da30 Avoid memory leaks by breaking reference cycle: Print -> Fill -> Print 2013-04-18 22:49:43 +01: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
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
4e6c58f749 TYpo 2013-04-18 19:49:02 +02:00
Alessandro Ranellucci
17f76c4951 Move bridge detection to its own method 2013-04-18 18:43:46 +02:00
Alessandro Ranellucci
e088d9b3f7 Cache Slic3r::Fill object 2013-04-18 18:40:59 +02:00
Alessandro Ranellucci
312bb285a0 Fix initialization of Rectilinear filler 2013-04-18 18:37:46 +02:00
Alessandro Ranellucci
c46bfc71b4 Merge branch 'master' into boost-optimizations 2013-04-18 17:48:46 +02:00
Alessandro Ranellucci
01bd9040f5 Fix syntax for ex_int_offset2() 2013-04-18 17:46:13 +02:00
Alessandro Ranellucci
b160feacfd Merge branch 'master' into clipper-optimizations 2013-04-18 17:36:42 +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
c2aa119c09 Require Boost::Geometry::Utils 0.08 2013-04-09 14:03:24 +02:00
Alessandro Ranellucci
94ed6cd239 Always move Z at travel speed. #1093 2013-04-08 22:23:51 +02:00
Jesse Vincent
7ec6332141 split apart the math in nearest_point_index and short-circuit if we know the candidate is no good 2013-04-07 19:53:15 -04:00
Jesse Vincent
e8ca1e59a6 no functional change. only return from one place for clarity 2013-04-07 19:44:32 -04:00
Jesse Vincent
da0e67a891 Only look up $point's X and Y once, rather than once on every pass through the loop.
(Those lookups are expensive)
2013-04-07 18:28:08 -04:00
Jesse Vincent
3e8c5804fe Inline comparable_distance_between_points
It was called on an incredibly hot codepath from a single place. At 12313276 calls
on my test .stl, the sub call overhead alone was a significant perf hit.
2013-04-07 18:13:40 -04:00
Jesse Vincent
060d2da7fe Small optimization on an incredibly hot codepath. 2013-04-07 18:01:15 -04:00
Alessandro Ranellucci
7e51cbcf69 Allow 0.1mm slots. #959 #1056 2013-04-04 01:24:40 +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
Alessandro Ranellucci
b725847a51 Bugfix: configuration wizard led to crash with simple mode. #1077 2013-04-03 19:26:59 +02:00
Alessandro Ranellucci
88e70a59c7 Don't wipe if option is disabled 2013-04-03 19:08:12 +02:00
Alessandro Ranellucci
d089d2b2d4 Bugfix: crash introduced by wipe 2013-04-03 19:06:33 +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
bf809d1fd0 Use linestring_length() from Boost 2013-03-31 19:50:22 +02:00
Alessandro Ranellucci
1187f4846d Some Clipper optimizations 2013-03-31 19:40:25 +02:00
Alessandro Ranellucci
0d6ff22e19 Merge branch 'wipe' 2013-03-31 11:36:04 +02:00
Alessandro Ranellucci
0e6d80d33c Bump version number 2013-03-31 11:24:33 +02:00
Alessandro Ranellucci
01e86c2615 Releasing 0.9.9 2013-03-30 15:59:17 +01: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
7f23e72a10 Display preview for small files too. #929 2013-03-30 00:52:45 +01:00
Alessandro Ranellucci
33a4ec660d better handling of too-small and too-short models #929.
These changes handle small models better in the plater preview.
Extremely small thumbnails are preserved instead of culled,
allowing the model to be scaled up. The scale range is extended to
100000% to allow mm-scale objects expressed in meters to be opened
and scaled to mm.
Original coding by mesheldrake
2013-03-30 00:47:13 +01:00
Alessandro Ranellucci
ac2356f66a Don't crash at the end of empty prints. #1042 2013-03-30 00:36:14 +01:00
Alessandro Ranellucci
7b7c9f6330 Launch even if config is corrupted. #1067 2013-03-30 00:30:21 +01:00
Alessandro Ranellucci
f5e48a306d Bugfix: support material and brim didn't work correctly. Includes unit test. #1074 2013-03-30 00:21:09 +01:00
Alessandro Ranellucci
d4119b0eb1 Better bridge direction detection. #1068 2013-03-29 23:49:58 +01:00
Alessandro Ranellucci
5beb2187d3 Bugfix: infill direction wasn't correctly alternated when infilling every 2 layers. #1068 2013-03-29 19:24:08 +01:00
Alessandro Ranellucci
1b79b1cb20 Refactoring: use the clone() method for inflating Surface objects 2013-03-29 19:18:06 +01:00
Alessandro Ranellucci
e563c62094 Replace SetValue with ChangeValue to avoid wxWidgets to fire useless events 2013-03-29 18:56:34 +01:00
Alessandro Ranellucci
d2b451d9a1 Merge branch 'master' into wipe 2013-03-26 16:28:01 +01:00
Alessandro Ranellucci
aae9625a13 Bugfix: solid-infill-below-area wasn't ignored when fill_density = 0, causing solid layers here and there. #1049 2013-03-26 15:47:40 +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
4c41f6c462 Safer safety_offset() for ExPolygons 2013-03-26 13:57:37 +01:00
Alessandro Ranellucci
769ec0cb03 Better clipping of honeycomb paths 2013-03-26 13:04:57 +01:00
Alessandro Ranellucci
843a700e96 Fixes for wipe 2013-03-25 23:06:18 +01:00
Alessandro Ranellucci
4cb36fcbe2 Remove cooling checkbox from simple mode 2013-03-24 21:28:16 +01:00
Alessandro Ranellucci
6bc5de0b5d Allow custom ranges with layer_height = 0 2013-03-24 15:26:55 +01:00
Alessandro Ranellucci
b7cd362820 Remove scale from G-code comments 2013-03-19 19:16:13 +01:00
Alessandro Ranellucci
7ec6c6ffba Lower 0.5*w to 0.4*w to fill finer gaps. #1057 2013-03-19 16:08:19 +01:00
Alessandro Ranellucci
34b192fde3 Merge pull request #1059 from cakeller98/Universal_File_Visibility
Added "known" as a valid model file type
2013-03-19 08:05:19 -07:00
Alessandro Ranellucci
9c122bda5e Fix memory leak in avoid_crossing_perimeters. #1044 2013-03-19 16:02:03 +01:00
Alessandro Ranellucci
813aa5b307 Allow drag and drop for OBJ files 2013-03-19 12:25:10 +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
Christopher Keller
8bbaafd830 Added "known" as a valid model file type
=> 'Known files (*.stl, *.obj, *.amf)|*.stl;*.STL;*.obj;*.OBJ;*.amf;*.AMF;*.xml;*.XML',

When dialog pops up, it can see ALL known file types instead of only stl.
2013-03-18 20:52:55 -07:00
Alessandro Ranellucci
ec5f0635f7 Add wipe in GUI 2013-03-18 21:20:32 +01:00
Alessandro Ranellucci
96f1b7ab57 Merge branch 'master' into wipe 2013-03-18 21:18:24 +01:00
Alessandro Ranellucci
1abd8c9a9e Remove the 'simplify' handle in ExtrusionPath after the recent refactoring. #1054 2013-03-18 18:03:14 +01:00
Alessandro Ranellucci
f0ac1c704e Fix test framework detecting dE=0 as retraction 2013-03-18 18:01:01 +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
7f917671ab Bugfix: horizontal projection for high-res models might show corrupted result 2013-03-17 15:39:51 +01:00
Alessandro Ranellucci
8d2c651ef2 $surface->thickness was erroneously defaulting to 1 mm 2013-03-17 14:58:10 +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
7de8b20bc4 New wipe feature 2013-03-17 02:22:50 +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
700fee14aa Set honeycomb as default fill pattern, as it works better at low layer heights and makes stronger parts 2013-03-17 00:24:53 +01:00
Alessandro Ranellucci
c999d0c44f Set default value for first_layer_height to 0.35mm so that first_layer_extrusion_width = 200% works fine even when user sets layer_height to 0.1. A first layer height of 0.35mm works fine for both 0.35 and 0.5 nozzles so it should be fine for most users 2013-03-17 00:22:53 +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
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
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
f4b8185698 Fixed typo preventing support material to work with new simplify() syntax 2013-03-16 19:11:49 +01:00
Alessandro Ranellucci
db2e76a0df New option to change perimeter order. #534 2013-03-16 18:56: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
f528088d31 Merge branch 'master' into grow-narrow 2013-03-13 16:39:57 +01:00
Alessandro Ranellucci
9713b9f524 Fix narrow fills growing 2013-03-13 14:55:58 +01:00
Alessandro Ranellucci
0feef890b1 Use Class::XSAccessor 2013-03-13 01:29:45 +01:00
Alessandro Ranellucci
cab51d4581 One more slight optimization 2013-03-13 01:14:47 +01:00
Alessandro Ranellucci
a412291690 Little optimization 2013-03-13 01:07:06 +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
5c1336d2de Clarify that min Z, max Z and layer height are supposed to be expressed in mm 2013-03-12 10:28:51 +01:00
Alessandro Ranellucci
a5e6340004 Workaround for HideRowLabels() missing in wxWidgets 2.8. #770 2013-03-11 20:00:12 +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
0df8398a39 Use concentric infill for internal bridges. #240 2013-03-11 18:38:32 +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
b73c301c55 Bugfix: double lift at toolchange. #953 2013-03-11 17:06:05 +01:00
Alessandro Ranellucci
0326962d11 Merge branch 'new-extra-perimeters' 2013-03-11 14:24:02 +01:00
Alessandro Ranellucci
e809a5bdcc Added support for expolygons in Slic3r::SVG 2013-03-11 14:23:45 +01:00
Alessandro Ranellucci
b7945ac790 Finished new extra perimeters implementation 2013-03-11 14:23:16 +01:00
Alessandro Ranellucci
428cd7867d Missing bit 2013-03-11 12:47:27 +01:00
Alessandro Ranellucci
74e21d7a04 New implementation of extra perimeters - to test 2013-03-10 19:08:36 +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
d1acc511b3 Refactor ObjectDialog into a tab panel 2013-03-10 12:46:54 +01:00
Alessandro Ranellucci
6a0ba97f0e Move ObjectDialog to a separate file 2013-03-10 12:33:10 +01:00
Alessandro Ranellucci
d2152a53a0 Missing tooltip for extra perimeters 2013-03-10 12:30:43 +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
e9c7460c11 New --bridge-acceleration option 2013-03-09 20:31:09 +01:00
Alessandro Ranellucci
2acda9973e Don't apply acceleration settings to travel moves 2013-03-09 20:28:03 +01:00
Alessandro Ranellucci
b7b89ff7f2 Bugfix: *-acceleration options didn't work in CLI 2013-03-09 20:21:05 +01:00
Alessandro Ranellucci
460e169c67 New option to disable retraction on layer change 2013-03-09 20:05:43 +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
d50e0af548 Make sure the inwards move after last perimeter loop doesn't exceed object boundary 2013-03-09 17:15:45 +01:00
Alessandro Ranellucci
caa79583ff Tiny optimization 2013-03-09 17:08:17 +01:00
Alessandro Ranellucci
fa41e15c68 Fixed regression causing thin walls to be processed twice, thus producing overlapping straight paths and zigzag. #1035 2013-03-09 17:07:11 +01:00
Alessandro Ranellucci
a2702082b2 Merge pull request #962 from scottp/issue_885b
Add defaults into Tooltips from #885
2013-03-09 07:48:20 -08:00
Alessandro Ranellucci
9247b3e9f4 New --no-plater and --gui-mode options. #604 2013-03-09 16:43:09 +01:00
Alessandro Ranellucci
af50272b3b Refactor simple mode definitions to dedicated SimpleTab classes 2013-03-09 16:27:18 +01:00
Alessandro Ranellucci
5477d66902 Advertise the expert mode in simple mode 2013-03-09 14:55:07 +01:00
Alessandro Ranellucci
46f35e39f6 Some more tweaks 2013-03-08 23:34:57 +01:00
Alessandro Ranellucci
0748e088a0 Reorder options in simple mode 2013-03-08 23:07:14 +01:00
Alessandro Ranellucci
84f4f098ca Fix cooling and load in simple-mode. #1001 2013-03-08 22:58:28 +01:00
Alessandro Ranellucci
b901e1f6c8 Merge branch 'master' into simple-mode 2013-03-08 22:28:13 +01:00
Alessandro Ranellucci
4fc435f0fd Bugfix: retract speed was applied to travel 2013-03-08 17:52:33 +01:00
Alessandro Ranellucci
f494335f77 Bugfix: not all the calls to travel_to() were updated 2013-03-08 13:50:50 +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
a9df56670f Bugfix: internal-bridge regions were not touching perimeters 2013-03-05 19:33:06 +01:00
Alessandro Ranellucci
37810f777f Make only_retract_when_crossing_perimeters work with avoid_crossing_perimeters 2013-03-05 17:30:27 +01:00
Alessandro Ranellucci
72613ae2b4 Enable only_retract_when_crossing_perimeters by default 2013-03-05 15:01:45 +01:00
Alessandro Ranellucci
70092a9cf5 Apply only_retract_when_crossing_perimeters to all infills 2013-03-04 23:37:58 +01:00
Mike Sheldrake
28467b68e0 typo - fix wrong bridge direction #621
fixes two out of three reported in #621 (but not the first one)
likely the same issue in #706 and #1003
2013-02-27 15:16:07 -08:00
Alessandro Ranellucci
a6243124a9 Merge pull request #984 from giseburt/origin_master
Fix for Replicator 1 not finishing builds.
2013-02-27 02:37:45 -08:00
Alessandro Ranellucci
fafad0fd81 Code for memory usage statistics 2013-02-27 11:26:52 +01:00
Alessandro Ranellucci
bb83f070ae Load threads::shared before Wx. #1018 2013-02-27 11:08:08 +01:00
Alessandro Ranellucci
919d1131f8 Use nearest-neighbor search for internal perimeters too. #1025 2013-02-27 11:04:14 +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
d00c2882c4 Remove debug line slipped into last commit 2013-02-27 10:30:05 +01:00
Alessandro Ranellucci
bf9fe1b505 Bugfix: internal bridge surfaces were incorrectly merged with other internal solid surfaces, causing suboptimal results 2013-02-27 01:30:32 +01:00
Alessandro Ranellucci
8ce7b13db5 Fixed regression in is_printable() - needs unit test 2013-02-26 20:54:40 +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
038737abe6 Bugfix: minimum flow for low layer heights was still too low 2013-02-26 14:15:05 +01:00
Alessandro Ranellucci
7412d4a687 Bugfix: manifoldness error triggered with multi-volume AMF files. #1019 2013-02-24 18:17:08 +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
3b1e921171 Slight changes to the defaults 2013-02-23 19:14:41 +01:00
Alessandro Ranellucci
0634437364 Keep the full geometries in $layer->slices, including thin walls 2013-02-23 18:21:29 +01:00
Alessandro Ranellucci
504962712b Bugfix: when using low layer heights and support material, the contact regions were generated with a negative height. #1013 2013-02-23 17:40:38 +01:00
Alessandro Ranellucci
3eedd4bbed Fixed regression in support material after recent flow refactoring. #1012 2013-02-23 16:08:29 +01:00
Alessandro Ranellucci
72df796185 Bugfix: failure in launching on Windows with non-ASCII characters in username. #1011 2013-02-22 18:40:00 +01:00
Alessandro Ranellucci
28638019ae Bugfix: perimeter/infill overlap was calculated regardless of the infill extrusion width. #994 2013-02-22 18:23:23 +01:00
Alessandro Ranellucci
bec2371604 Fix regression introduced in 91bcfc8a74 2013-02-22 16:56:43 +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
Alessandro Ranellucci
cf8cfc1380 Bugfix: angle threshold was considered even when enforcing support 2013-02-09 21:49:00 +01:00
Robert Giseburt
6c12bd32ad Fix for Replicator 1 not finishing builds.
If the progress reaches 100% before last layer, the firmware erroneously stops reading the file.
2013-02-06 22:32:37 -06: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
e593a30fc7 Skip support material for one-layer objects 2013-02-06 10:40:08 +01:00
Alessandro Ranellucci
4f91bed904 Optimize cycling in get_layer_range() 2013-02-05 21:59:18 +01:00
Alessandro Ranellucci
73a661e6c1 shortest_path() in MotionPlanner was actually correctly named shortest_path() 2013-02-05 19:41:56 +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
Alessandro Ranellucci
8efe46e58d New option to enforce support material on a given number of layers to improve adhesion of objects with poor footprint 2013-02-04 15:48:57 +01:00
Alessandro Ranellucci
c8100ed099 Disable randomize starting points by default 2013-02-04 15:05:56 +01:00
Alessandro Ranellucci
7d08796b0a Remove sporadic duplicate useless lines. #772 2013-02-04 14:27:23 +01:00
Alessandro Ranellucci
9222526e03 Customizable number of interface layers for support material and raft 2013-02-03 17:23:50 +01:00
Alessandro Ranellucci
acada05068 Merge branch 'raft' 2013-02-02 16:17:05 +01:00
Alessandro Ranellucci
c7b4d99d7e Generate raft automatically even when support material is disabled 2013-02-02 16:16:43 +01:00
Alessandro Ranellucci
02c0f3658f Use 50% density for support base flange 2013-02-02 15:37:09 +01:00
Alessandro Ranellucci
d3727a1699 Add ability to have cross-hatched rectilinear support material. #509 2013-02-02 00:14:45 +01:00
Alessandro Ranellucci
547dfb857d Workaround for Boost clipping not being idempotent and causing lack of support material 2013-02-01 23:45:46 +01:00
Alessandro Ranellucci
eae1e7adc2 Make a solid base below support material on first layer 2013-02-01 22:13:12 +01:00
Alessandro Ranellucci
1de0169910 Multithreaded perimeter generation. #154 2013-01-31 15:44:55 +01:00
Scott Penrose
9d086f027a Add defaults into Tooltips from #885 2013-01-30 09:53:22 +11:00
Alessandro Ranellucci
177f1a9bf0 New raft_layers option. #123 2013-01-28 14:12:01 +01:00
Alessandro Ranellucci
a016a06fa6 Merge branch 'avoid-crossing-perimeters'
Conflicts:
	lib/Slic3r/GCode.pm
2013-01-28 10:43:58 +01:00
Alessandro Ranellucci
e8cb1f4528 Slight addition to avoid_crossing_perimeters tooltip 2013-01-28 10:42:24 +01:00
Alessandro Ranellucci
721b61e798 Require Boost::Geometry::Utils 0.06 2013-01-28 00:34:09 +01:00
Alessandro Ranellucci
2963e54d21 Use the faster polygon_multi_linestring_intersection() 2013-01-28 00:32:19 +01:00
Alessandro Ranellucci
ae201c8f41 Optimization: avoid calculating square roots if not needed 2013-01-28 00:18:55 +01:00
Alessandro Ranellucci
6cb891f2db Use Boost::Geometry::Utils for Douglas-Peucker 2013-01-28 00:09:19 +01:00
Alessandro Ranellucci
4c8c725eec Add a wkt() method to ExPolygon 2013-01-28 00:02:34 +01:00
Alessandro Ranellucci
ddaeaa7591 Fix last_pos shifting and add unit test 2013-01-27 13:08:13 +01:00
Alessandro Ranellucci
50526dea5a Fix last_pos shifting and add unit test 2013-01-27 13:06:45 +01:00
Alessandro Ranellucci
ad48fdc7f9 Fix external motionplanner too 2013-01-27 12:48:16 +01:00
Alessandro Ranellucci
f1230312e3 Fixes for merge issues 2013-01-26 23:55:47 +01:00
Alessandro Ranellucci
61b164b539 Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	lib/Slic3r/GCode.pm
	lib/Slic3r/Print.pm
2013-01-26 21:45:17 +01:00
Alessandro Ranellucci
4c62c1b570 Support .gco extension too. #957 2013-01-26 21:40:20 +01:00
Mike Sheldrake
bc61656057 harmless misplaced semicolon 2013-01-26 09:31:28 -08:00
Mike Sheldrake
599d76b70b avoid DBus related crash on Ubuntu #954
An undocumented feature of Net::DBus->session() is that it returns
the same connection object it creates the first time it's called for
all subsequent calls. Somehow this exposes us to a bug where unref()
is called on that object too many times, causing a segfault.
Undefining the cached object after we've used it once avoids this.
2013-01-25 12:29:44 -08:00
Alessandro Ranellucci
18280da1b3 Bugfix: the non-manifold warning was spitting out wrong coordinates 2013-01-25 18:02:01 +01:00
Alessandro Ranellucci
f555a1ecc2 Replace 'Less' with 'Fewer' in plater. #944 2013-01-23 19:16:57 +01:00
Alessandro Ranellucci
94bb1e54bb Raise max temperatures (in GUI) to 400°C 2013-01-23 11:10:46 +01:00
Mike Sheldrake
65ef3b35d9 limit layer requests to object->layer_count when preparing skirt #901
Each object on the plater was being queried for points for
producing the skirt for all skirt layers, even when the object was
shorter than the skirt.

layers of the print
2013-01-18 08:36:01 -08:00
Alessandro Ranellucci
09bdd2ea5d Bump version number 2013-01-17 17:44:56 +01:00
Alessandro Ranellucci
71052433de Releasing 0.9.8 2013-01-17 15:50:45 +01:00
Alessandro Ranellucci
73c70021df Change toolchange and G92 E0 order for makerbot and sailfish G-code flavors. #855 2013-01-17 15:02:40 +01:00
Alessandro Ranellucci
177347137f New G-code flavor for Sailfish (thanks to fros1y for working on it). #826 2013-01-17 14:56:31 +01:00
Alessandro Ranellucci
8001059390 Add Mike Sheldrake in the About window 2013-01-17 14:13:25 +01:00
Alessandro Ranellucci
92feebf5fe Fixed regression introduced in 4d8757bf5d causing crash during support material generation 2013-01-17 12:32:57 +01:00
Alessandro Ranellucci
4d8757bf5d Interface support layers were clipped badly. Also, reduce simplification of the clipping boundaries. #583 2013-01-17 11:59:14 +01:00
Alessandro Ranellucci
4fc6fc5ab6 Increase default value for retract_length_toolchange 2013-01-17 11:51:00 +01:00
Alessandro Ranellucci
0ddd6d9e55 Require Math::Clipper 1.17 2013-01-17 11:11:22 +01:00
Alessandro Ranellucci
954520cba5 Enable cooling by default 2013-01-17 10:40:45 +01:00
Alessandro Ranellucci
ecc7e4560e Don't fill gaps if fill density is 0. #915 2013-01-17 10:39:05 +01:00
Mike Sheldrake
f3a1221039 per-thread clipper object for parallel support generation #888 2013-01-16 06:00:04 -08:00
Mike Sheldrake
241dff00e2 Merge branch '834-every-n-fill-frags' #834 2013-01-16 02:24:47 -08:00
Mike Sheldrake
85934e1738 use infill flow spacing, not perimeter, for combine_infill() clip offsets 2013-01-15 22:13:11 -08:00
Alessandro Ranellucci
4bff4d0d50 Ignore perimeter_acceleration and infill_acceleration if their values are 25 and 50 to handle legacy configs gracefully. 2013-01-15 12:52:22 +01:00
Mike Sheldrake
bce3e96210 extraneous fill against sloped walls with fill every N layers #834
Polygons used for N x depth fill surfaces need to be offset
by flow spacing before they are reused to clip lower fill surfaces.
Otherwise thin fill sections remain on clipped layers against sloping
walls, and the N x depth fill collides with them.
2013-01-14 21:18:31 -08:00
Mike Sheldrake
68fc91d854 offset miter limit to 3 - 801 828 836 851 875 - spikes and pimples
Was set to 10 to address 801. Setting to 3 has the same effect for 801,
and avoids spike artifacts that are likely causing "spike and pimple"
problems in the referenced issues.
2013-01-13 02:50:49 -08:00
Alessandro Ranellucci
ad9be0e4d7 Bugfix: crash when reading/writing files to paths containing non-ASCII characters on Windows. #651 #865 2013-01-13 10:18:34 +01:00
Alessandro Ranellucci
48e00a4c40 Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	lib/Slic3r/GCode.pm
	lib/Slic3r/GUI/Plater.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/SVG.pm
2013-01-12 19:00:18 +01:00
Mike Sheldrake
73aae07e74 842, 847 slightly enlarge a clip polygon to counteract integer truncation
Geomery in referenced issues triggered Clipper problems, but also
pointed to a situation where integer truncation (as coordinates pass
into Clipper) might be shrinking a clip polygon in a way that leaves
degenerate or unwanted thin clip results. Growing the clip polygon by 2
is expected to overcome any issues caused by truncation of floats.
2013-01-11 10:15:42 -08:00
Alessandro Ranellucci
3d03faf0b2 Remove leftover M501 2013-01-10 17:19:38 +01:00
Alessandro Ranellucci
32fd58d531 Acceleration control. #185 2013-01-10 15:29:40 +01:00
Alessandro Ranellucci
7239ca18c1 Simple mode 2013-01-03 15:49:20 +01:00
Alessandro Ranellucci
cf4c090208 Added Preferences dialog 2013-01-02 20:30:48 +01:00
Alessandro Ranellucci
34e047205a Automatic detection of support material threshold angle 2013-01-02 19:40:48 +01:00
Alessandro Ranellucci
cbd298bc36 Alter extrusion width automatic calculation to take "native flow" into account 2013-01-02 19:22:51 +01:00
Alessandro Ranellucci
30d9b2e508 Refactoring: initialize all layers at once and avoid duplication of slicing height math. #637 2013-01-01 23:28:48 +01:00
Alessandro Ranellucci
1774143011 Bugfix: PlanePath fill patterns were not working anymore. #880 2012-12-31 14:11:36 +01:00
Alessandro Ranellucci
141a8d3989 Bugfix: some holes being closed incorrectly. #858 2012-12-30 17:57:30 +01:00
Alessandro Ranellucci
6e6bc74636 Added failing test case for troubleshooting unexpected filled holes. #858 2012-12-30 16:27:20 +01:00
Alessandro Ranellucci
0da71dbdfa Fix regression causing wrong number of solid shells when using fill_density = 0 (includes regression test) 2012-12-23 20:20:17 +01:00
Alessandro Ranellucci
e59ed7efb7 New toolchange_gcode option. #547 2012-12-23 16:29:08 +01:00
Alessandro Ranellucci
15f07197d8 Don't store ->surfaces anymore. Save memory, save time 2012-12-22 23:57:39 +01:00
Alessandro Ranellucci
5930267de9 Bugfix: some top/bottom solid shells are not treated as solid. #689 2012-12-21 20:25:48 +01:00
Alessandro Ranellucci
8cd8e8b209 Merge branch 'test-dual-retraction' 2012-12-21 15:23:07 +01:00
Alessandro Ranellucci
dc4ada2374 Fix retraction tests and fix retract_extra_length and lift in multiple extruders environments 2012-12-21 15:14:44 +01:00
Alessandro Ranellucci
701c98c5a7 Export Slic3r::Test::_eq() 2012-12-21 13:25:03 +01:00
Alessandro Ranellucci
d5537e7797 Enable retraction for support material too, but only when moving away from support islands. #831 2012-12-20 18:47:40 +01:00
Alessandro Ranellucci
bf603b0221 Fixed regression causing inefficient paths during infill 2012-12-20 18:10:20 +01:00
Alessandro Ranellucci
dcc0ce78db Fix warning 2012-12-20 17:03:50 +01:00
Alessandro Ranellucci
ea304a4803 Bugfix: custom layer G-code was applied before Z change, and not after like it was documented. #869 2012-12-20 17:01:01 +01:00
Alessandro Ranellucci
b70404bb23 Disable gap filling if gap fill speed is set to zero 2012-12-17 19:55:25 +01:00
Alessandro Ranellucci
1a3497b71d Add tests for vibration limiting and fix implementation. Also includes a fix in set_shift() 2012-12-09 18:33:25 +01:00
Alessandro Ranellucci
4078bb0476 Fix error when vibration limit is disabled 2012-12-06 10:54:28 +01:00
Alessandro Ranellucci
142a6cc4eb Add --vibration-limit back to CLI usage and disable it by default 2012-12-05 17:57:35 +01:00
Alessandro Ranellucci
ca0aa5c287 Apply vibration limit to every move except perimeters 2012-12-05 16:32:50 +01:00
Alessandro Ranellucci
25960a33e0 Put vibration limit back in GUI 2012-12-05 15:08:17 +01:00
Alessandro Ranellucci
cf32cd6510 Implement vibration limit using G4 pauses 2012-12-05 15:03:36 +01:00
Alessandro Ranellucci
f001374c6e New implementation of the little inwards move before leaving a loop. #186 2012-12-05 11:31:35 +01:00
Alessandro Ranellucci
283809f5c2 No need for a role to identify small perimeters 2012-12-05 10:47:41 +01:00
Alessandro Ranellucci
ac6dc67e6a Tidy 2012-12-05 01:12:50 +01:00
Alessandro Ranellucci
accc598eb5 Revert "Experimental feature: make a little move inwards by 45° after finishing the external perimeter and before retracting. #186"
This reverts commit c57e94c065.

Conflicts:

	lib/Slic3r/GCode.pm
2012-11-29 19:16:07 +01:00
Alessandro Ranellucci
b495e15d7f Fix plater slowness after the introduction of the vertical projection 2012-11-29 19:13:52 +01:00
Alessandro Ranellucci
93310a6a81 Fix bounding_box_center() 2012-11-24 00:15:02 +01:00
Alessandro Ranellucci
116ab446e3 Show vertical projection instead of convex hull for objects with <= 2000 facets. #780 2012-11-24 00:13:04 +01:00
Alessandro Ranellucci
e6afebb982 Bump version number 2012-11-23 19:37:41 +01:00
Alessandro Ranellucci
452b62e53d Releasing 0.9.7 2012-11-23 18:38:50 +01:00
Alessandro Ranellucci
12873e973b One more missing bit for gap_fill_speed 2012-11-23 18:37:47 +01:00
Alessandro Ranellucci
556e59bbe4 Last commit erroneously reverted gap fill speed 2012-11-23 17:41:15 +01:00
Alessandro Ranellucci
0f0992e39a Speed for support material. #813 2012-11-23 17:20:26 +01:00
Alessandro Ranellucci
d6d96391a9 Avoid overextrusion when support material spacing is configured to < the extrusion spacing. #821 2012-11-23 17:15:52 +01:00
Alessandro Ranellucci
e7b307df02 Expose gap_fill_speed in GUI 2012-11-23 17:09:59 +01:00
Alessandro Ranellucci
5dba02fdeb New separate speed setting for gap fill. #785 2012-11-23 11:25:02 +01:00
Alessandro Ranellucci
68e302fe27 Fix exporting G-code 2012-11-23 11:24:04 +01:00
Alessandro Ranellucci
21a6219b62 Disable vibration limit. #785 2012-11-23 11:14:06 +01:00
Alessandro Ranellucci
2abf2be781 New testing framework 2012-11-21 20:41:14 +01:00
Alessandro Ranellucci
8ae96a8868 Only apply vibration limit to gaps fill while it's not very mature to work with long segments 2012-11-21 19:27:38 +01:00
Alessandro Ranellucci
fc399d60e2 Raise the miter limit to avoid squaring corners too easily. #801 2012-11-20 17:43:20 +01:00
Alessandro Ranellucci
cd892fdce8 Connect zigzag gaps fill paths to benefit from simplification 2012-11-19 18:57:42 +01:00
Alessandro Ranellucci
e91320e031 Fix rotation for threaded perls 2012-11-19 18:31:41 +01:00
Alessandro Ranellucci
124a1fd84e Raise default frequency limit to 25Hz 2012-11-19 18:03:49 +01:00
Alessandro Ranellucci
de8a845d81 Disable retraction for support material 2012-11-19 18:03:20 +01:00
Alessandro Ranellucci
5678cd562c Fix preview after rotation in plater 2012-11-19 17:39:16 +01:00
Alessandro Ranellucci
99c942b5ea Merge branch 'vibration-limit' 2012-11-19 15:54:50 +01:00
Alessandro Ranellucci
3c7321ab80 Bugfix: some retractions between objects/copies were skipped. #786 2012-11-19 15:34:52 +01:00
Alessandro Ranellucci
300734db38 Emit M106 S0 instead of M107 for Teacup 2012-11-19 15:30:55 +01:00