Alessandro Ranellucci
fc1a23f5b0
Quick and dirty OpenGL mockup
2013-05-16 12:09:01 +02:00
Alessandro Ranellucci
bff31d7002
Fix split_mesh() not working anymore since analyze() is lazy
2013-05-16 11:25:15 +02:00
Alessandro Ranellucci
a94d26b1ce
Fix overhang detection for contours
2013-05-15 10:50:38 +02:00
Alessandro Ranellucci
575127151b
New algorithm for overhang detection
2013-05-14 20:19:42 +02:00
Alessandro Ranellucci
90280fe63b
Little fix for bridge rendering in SectionCut
2013-05-14 20:11:05 +02:00
Alessandro Ranellucci
967d567db0
Fix bridge rendering in SectionCut
2013-05-14 19:48:52 +02:00
Alessandro Ranellucci
632652d924
Unfinished work for displaying bridge paths in section cuts
2013-05-14 19:48:47 +02:00
Alessandro Ranellucci
06ad6b70f8
Bugfix: scaling object from the plater applied scale factor over the factor used in the previous slicing job. #1075
2013-05-14 16:31:50 +02:00
Alessandro Ranellucci
7eff002e21
Memory and speed optimization: only study meshes when needed
2013-05-14 14:47:00 +02:00
Alessandro Ranellucci
e51dbb994d
One more speed optimization in STL.pm
2013-05-14 14:17:46 +02:00
Alessandro Ranellucci
745cea8e6c
One more little speed optimization in STL.pm
2013-05-14 14:12:32 +02:00
Alessandro Ranellucci
25bafe7ff1
Memory (and maybe speed?) optimization in STL reader
2013-05-14 13:54:25 +02:00
Alessandro Ranellucci
4121a7ece5
Set support material enforce layers to 0 when spiral printing
2013-05-14 13:54:24 +02:00
Mark Hindess
7979dd9e9c
Avoid expensive TriangleMesh BUILD method during clone.
...
Gives 6% speedup and uses less memory when slicing yoda.stl and should
give significantly bigger speedup on more complex models and plates.
2013-05-13 21:27:55 +01: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
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
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
baa1a8c736
Move Slic3r::Test::GCodeReader to Slic3r::GCode::Reader
2013-05-13 20:14:33 +02:00
Alessandro Ranellucci
ece6dd8a0b
Only make the inwards move when we have more than one perimeter
2013-05-13 19:35:42 +02:00
Alessandro Ranellucci
7c89476602
Move fan_always_on in the Enable options group. #1166
2013-05-13 18:33:44 +02:00
Alessandro Ranellucci
1aae311148
Fix menus for --no-plater. #1112
2013-05-13 18:30:12 +02:00
Alessandro Ranellucci
f6dc712158
Bugfix: most of the File menu items didn't work with --no-plater. #1112
2013-05-13 18:22:47 +02:00
Alessandro Ranellucci
d2425748a3
Code cleanup and remove arc compensation code
2013-05-13 13:18:58 +02:00
Alessandro Ranellucci
5efa409c7c
Move gap fill to its own method
2013-05-13 13:07:22 +02:00
Alessandro Ranellucci
1d94618c5e
Correctly detect external hole perimeters
2013-05-13 12:52:57 +02:00
Alessandro Ranellucci
ca549cd2fe
Perimeters refactoring complete
2013-05-11 21:30:26 +02:00
Alessandro Ranellucci
67b24efd49
Incomplete work - still wrong order
2013-05-11 21:05:29 +02:00
Alessandro Ranellucci
df62c25c8f
One more offset_ex() optimization
2013-05-11 09:39:38 +02:00
Alessandro Ranellucci
0e100827f8
Avoid useless looping and usage of ExPolygons
2013-05-11 09:35:33 +02:00
Alessandro Ranellucci
6e216e2fd9
New traverse_pt()
2013-05-11 09:24:48 +02:00
Alessandro Ranellucci
7953dcfb12
Merge branch 'better-brim'
...
Conflicts:
lib/Slic3r/Geometry/Clipper.pm
lib/Slic3r/Print.pm
2013-05-11 09:19:23 +02:00
Alessandro Ranellucci
bac5093de4
Alwyas apply disable_fan_first_layers, even if cooling is disabled, since fan_always_on is applied in that case as well. Update descriptive text and have it appear in case of disabled auto cooling. #1166
2013-05-10 15:09:27 +02:00
Alessandro Ranellucci
6b8894cf9a
Rename ex_int_offset2 to offset2_ex
2013-05-10 13:56:29 +02:00
Alessandro Ranellucci
993fcd9182
Revert "Smarter ordering of brim loops. #687 " until new Math::Clipper is out
...
This reverts commit 4aad2f6243
.
2013-05-10 13:51:28 +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
855ba90332
New script to generate vertical section cuts from any given G-code file
2013-05-02 11:42:51 +02:00
Alessandro Ranellucci
dde3e6e870
Disable Net::DBus. #1015
2013-04-29 15:57:07 +02:00
Alessandro Ranellucci
c2301c5796
Don't extend solid layers when fill density is 0
2013-04-29 15:55:50 +02:00
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
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
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
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
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
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