Commit Graph

1353 Commits

Author SHA1 Message Date
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
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
de0640603a Append full config when --gcode-comments is enabled 2012-11-18 19:53:52 +01:00
Alessandro Ranellucci
a66e8e547d Apply Douglas-Peucker to all paths before generating G-code 2012-11-18 18:00:33 +01:00
Alessandro Ranellucci
e119cee66c Don't emit warnings on unknown options 2012-11-18 17:42:52 +01:00
Alessandro Ranellucci
c99ff0cfe2 Apply Douglas-Peucker to all paths before generating G-code 2012-11-18 17:38:08 +01:00
Alessandro Ranellucci
08700aa942 Keep bridge flow unchanged even with the new overlapping spacing 2012-11-18 15:44:47 +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
7a87a76391 Refactor frequency limit to avoid processing G-code 2012-11-18 15:28:13 +01:00
Alessandro Ranellucci
008633f013 Working implementation of frequency limit 2012-11-18 12:23:11 +01:00
Alessandro Ranellucci
f3164594eb More incomplete work 2012-11-18 11:33:53 +01:00
Alessandro Ranellucci
72007c4f6a Rewrite frequency limiting code 2012-11-17 18:07:13 +01:00
Alessandro Ranellucci
600e951fd8 Completed vibration limit 2012-11-17 12:08:19 +01:00
Alessandro Ranellucci
96dd106f61 Initial work for limiting vibrations 2012-11-17 10:40:15 +01:00
Alessandro Ranellucci
8d557bee8c Bugfix: AMF export was not working anymore. #799 2012-11-16 22:41:54 +01:00
Alessandro Ranellucci
7310cec087 Remove one more unused line 2012-11-16 22:09:32 +01:00
Alessandro Ranellucci
ed50aefa71 Remove unused code 2012-11-16 22:08:14 +01:00
Alessandro Ranellucci
ac5be309e3 Do not call merge_continuous_lines() anymore 2012-11-16 19:20:46 +01:00
Alessandro Ranellucci
aff0898f35 Typo 2012-11-16 18:24:09 +01:00
Alessandro Ranellucci
e13fe1d636 Raise overlap factor to 1 >:-) 2012-11-16 18:11:06 +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
1c2bc94d5a Bugfix: only_retract_when_crossing_perimeters might cause some missed retractions when printing multiple copies of the same object. #786 2012-11-16 12:39:55 +01:00
Alessandro Ranellucci
a1a12ffe8e Allow setting top-solid-layers and bottom-solid-layers to 0 independently 2012-11-16 12:37:47 +01:00
Alessandro Ranellucci
06b475a4ed Clone last_pos before storing it otherwise it will be translated. #786 2012-11-16 11:05:45 +01:00
Alessandro Ranellucci
b625c3b2b2 Simplify gaps fills to avoid some shaking 2012-11-16 10:47:42 +01:00
Alessandro Ranellucci
a5a0f32e19 Expose all SLIC3R_* environment variables as placeholders. #781 2012-11-16 10:07:30 +01:00
Alessandro Ranellucci
580e36eb25 Raise offset scale factor back to 100000 now that Clipper was updated 2012-11-15 10:09:29 +01:00
Alessandro Ranellucci
d3629a3a44 Require Math::Clipper 1.15. #779 2012-11-13 11:53:02 +01:00
Alessandro Ranellucci
8f0e388c5b Bump version number 2012-11-07 23:22:12 +01:00
Alessandro Ranellucci
af78469231 Releasing 0.9.5 2012-11-07 23:07:43 +01:00
Alessandro Ranellucci
93bb2c1056 Bugfix: fatal error when using brim and no skirt. #784 2012-11-07 23:06:32 +01:00