Commit Graph

469 Commits

Author SHA1 Message Date
Alessandro Ranellucci
48f1fab49f Bugfix: an error in porting caused bad perimeter ordering. Includes regression test and more unit tests for PerimeterGenerator 2015-12-01 20:40:00 +01:00
Alessandro Ranellucci
6ac79e3ed6 Ported make_perimeters() to C++ 2015-07-23 16:27:21 +02:00
Alessandro Ranellucci
b4515cf695 Finished porting PerimeterGenerator to C++ 2015-07-23 15:53:02 +02:00
Alessandro Ranellucci
b14290b9f6 Make tests happy 2015-07-02 14:29:20 +02:00
Alessandro Ranellucci
b4019bb438 Ported more Slic3r::GCode methods to XS 2015-07-01 23:00:52 +02:00
Alessandro Ranellucci
801f629fdc Ported Slic3r::GCode storage to XS 2015-07-01 21:47:17 +02:00
Alessandro Ranellucci
76b2e88551 Removed setenv() test as we can't test environment variables in Perl since they are now set in XS 2015-07-01 20:15:52 +02:00
Alessandro Ranellucci
580d28d071 Finished porting PlaceholderParser to XS 2015-07-01 19:35:22 +02:00
Alessandro Ranellucci
f14c0e2183 Bugfix: concave starting points were not correctly detected for slice holes. Includes regression test. #2857 2015-06-01 17:55:51 +02:00
Alessandro Ranellucci
a587e11780 Regression test for overlapping gap fill. #2474 2015-05-22 14:26:01 +02:00
Alessandro Ranellucci
97211f35e7 More robust medial axis pruning. #2800 2015-05-13 20:50:30 +02:00
Alessandro Ranellucci
63af442e3e Bugfix: [layer_num] was out of order because of support material layers having their order numbers. Now we use a unique continuous series. Includes regression test. #2634 2015-05-03 21:41:30 +02:00
Alessandro Ranellucci
1f8ef2a63c Fixed regression introduced by the recent PerimeterGenerator refactoring causing spiral vase not to be correctly skipped on multi-loop layers. Includes regression test. #2761 2015-04-12 20:16:27 +02:00
Alessandro Ranellucci
13b63d06ed Use thick raft layers as we do for support material layers. #2723 2015-03-09 20:00:55 +01:00
Alessandro Ranellucci
d8ee9dd5f5 Limit first object layer height correctly when using a larger support material extruder. #2722 2015-03-09 19:27:57 +01:00
Alessandro Ranellucci
095391d702 When using raft, validate first layer height against support material extruder only instead of taking other extruders into account, thus potentially allowing larger nozzles to be used for it. #2701 2015-03-06 21:35:00 +01:00
Alessandro Ranellucci
722e94513c Refactoring: removed the non-idempotent init_extruders() step. Also, infill_extruder was not limited to the available number of extruders when slicing from the plater, and support material extruder was considered also when support material was disabled 2015-03-06 09:56:58 +01:00
Alessandro Ranellucci
a3b843b24e Bugfix: temperature was not set correctly when using sequential printing. Includes regression test. #2702 2015-03-02 23:56:38 +01:00
Alessandro Ranellucci
a07c48bb30 Fixed regression causing [input_filename] and [input_filename_base] not being available in custom G-code anymore. Includes regression test. #1507 2015-02-15 23:47:35 +01:00
Alessandro Ranellucci
6eb1fa36ed Bugfix: bridge speed was still used for first object layer above raft when support_material_contact_distance == 0. Includes regression tests. #2656 2015-02-14 12:47:33 +01:00
Alessandro Ranellucci
2e88b088e6 Make tests happy with new defaults 2015-01-31 12:10:50 +01:00
Alessandro Ranellucci
229039d3b8 Fixed test and implementation of ooze prevention standby points (wrong test caused wrong implementation). #2103 2015-01-19 15:31:12 +01:00
Alessandro Ranellucci
7b980c1dc9 New option for vertical distance between object and support material, with special handling of the 0 case that disabled bridge flow/speed in order to allow for soluble material. #2491 #2272 #2069 #1942 #2435 #1703 2015-01-19 09:52:24 +01:00
Alessandro Ranellucci
90afbc8bd9 Bugfix: don't crash when skirts > 0 but skirt_height = 0. Includes regression test. #2537 2015-01-18 13:01:00 +01:00
Alessandro Ranellucci
89f0c60fc8 Adapt t/multi.t to new behavior of auto_assign_extruders() 2015-01-17 10:36:42 +01:00
Alessandro Ranellucci
d1243397fa Make tests happy 2015-01-14 00:14:56 +01:00
Alessandro Ranellucci
406d045ced The inwards move after an external loop was still randomly generated outwards in some cases. Perimeters are now generated with a distinct iterator for each slice. Nested islands are also correctly supported too. Various regression tests included. #2253 2015-01-08 15:22:13 +01:00
Alessandro Ranellucci
49817aac34 Removed test that doesn't apply anymore because the logic of only_retract_when_crossing_perimeters is much more complex now 2015-01-06 21:04:00 +01:00
Alessandro Ranellucci
0f7933c4f9 Bugfix: pressure regulation accumulated too much retraction and didn't discharge at the end of print. Includes regression test. #2470 2015-01-06 00:35:39 +01:00
Alessandro Ranellucci
3332282767 Unit test for pressure advance. #2470 2015-01-05 20:07:47 +01:00
Alessandro Ranellucci
d46d9079a3 Fixed test after recent change of distance_to_line() semantics 2015-01-03 15:41:54 +01:00
Alessandro Ranellucci
de2fd9721c Fixed ooze prevention test as well 2014-12-29 01:37:34 +01:00
Alessandro Ranellucci
33f7b08c80 Fix t/support.t after changing contact distance on top surfaces 2014-12-24 12:11:30 +01:00
Alessandro Ranellucci
19548fe301 Don't perform wiping if we have just changed layer and no extrusions were performed before the first retraction. Includes regression test. #2214 2014-12-24 12:02:42 +01:00
Alessandro Ranellucci
092b1724ba Fixed t/vibrationlimit.t 2014-12-23 11:23:12 +01:00
Alessandro Ranellucci
0ded18207b Adapt t/fill.t to the new infill internal API 2014-12-22 17:29:23 +01:00
Alessandro Ranellucci
9ac60dca1a Fixed vibration limit. 2014-12-21 12:39:19 +01:00
Alessandro Ranellucci
21ea100d0e Fixed tests 2014-12-17 01:15:47 +01:00
Alessandro Ranellucci
9264db7ecd Removed useless thing added in e79aa2e81c 2014-12-17 00:52:01 +01:00
Alessandro Ranellucci
e79aa2e81c New --solid-infill-extruder option. Includes a refactoring of the strategy used to order layer extrusions according to their extruder and island; toolchanges and travel moves should be more optimized now. #618 2014-12-17 00:34:00 +01:00
Alessandro Ranellucci
d350241da3 Make combine_infill() completely idempotent. Includes unit testing 2014-12-08 21:23:42 +01:00
Alessandro Ranellucci
9a9ba02d85 Bugfix: infill was not correctly generated when infill_every_layers was used along with raft_layers. Includes regression test. #2396 2014-12-08 20:14:04 +01:00
Alessandro Ranellucci
6ce651eb4a Fixed wrong implementation of concave_points() and convex_points() in C++. #2384 2014-12-07 19:53:22 +01:00
Alessandro Ranellucci
7a7d00c8d6 Rename solid_fill_pattern to external_fill_pattern and clarify tooltip 2014-11-27 00:38:05 +01:00
Alessandro Ranellucci
23848492ce Fixed regression causing crash when using avoid_crossing_perimeters with multiple object, caused by recent refactorings. Added regression test 2014-11-26 22:46:51 +01:00
Alessandro Ranellucci
60a76b8cfa Fixed regression causing retraction to be skipped when Retract Length was 0 but Use Firmware Retraction was enabled. Includes regression test. #2359 2014-11-23 19:32:06 +01:00
Alessandro Ranellucci
379cde30e2 Ported Slic3r::BridgeDetector to XS 2014-11-15 22:41:22 +01:00
Alessandro Ranellucci
6135a9fb8b Bugfix: a move below z_offset was performed when retract_lift was enabled and lift amount was less than z_offset. Includes regression test. #2349 2014-11-09 19:24:17 +01:00
Alessandro Ranellucci
59f0c64e1c Fixed regression test for #2301 2014-11-07 17:27:16 +01:00
Alessandro Ranellucci
66b5f45f45 Merge branch 'issue2301-bridge-speed' 2014-11-07 17:18:17 +01:00
Alessandro Ranellucci
fb2d84b5d3 Bugfix: double G10 and G11 commands were issued. #2320 2014-11-07 00:26:39 +01:00
Alessandro Ranellucci
8ad200a352 Minor cleanup of t/gcode.t 2014-11-06 21:13:30 +01:00
Alessandro Ranellucci
9372abb51e Fixed regression in min_skirt_length. Includes regression test. #2337 2014-11-06 21:11:59 +01:00
Alessandro Ranellucci
30b0869595 Bugfix: crash when slicing one layer objects with sailfish G-code flavor. Includes regression test. #2335 2014-11-06 21:06:09 +01:00
Alessandro Ranellucci
11bd1e68e2 Fixed some regressions in retracts and wipe. Includes regression test 2014-11-05 01:16:26 +01:00
Alessandro Ranellucci
36c1a9d20c Renamed shift_x and shift_y into origin 2014-10-25 10:56:21 +02:00
Alessandro Ranellucci
7f57f007cd Refactoring: moved Slic3r::GCode::Base to Slic3r::GCode::Writer 2014-10-25 10:42:07 +02:00
Alessandro Ranellucci
c2e710d092 Removed --g0 2014-10-21 21:41:11 +02:00
Alessandro Ranellucci
167df0ab87 Refactoring: moved most of the low-level G-code to the Slic3r::GCode::Base class. Cleanup of the retraction and wipe logic. 2014-10-21 20:16:45 +02:00
Alessandro Ranellucci
4b013d7a48 Added failing test for bridge speed not being used for first object layer above support material. #2301 2014-10-18 14:08:40 +02:00
Alessandro Ranellucci
534b8c3f12 Fixed minor harmless error in a couple tests 2014-08-08 11:07:51 +02:00
Alessandro Ranellucci
c0a6b1a9cc Bugfix: enabling/disabling support material didn't cause skirt to be recalculated 2014-08-08 01:37:39 +02:00
Alessandro Ranellucci
30fa055995 Bugfix: medial axis missed some segments. #2144 2014-08-03 15:03:47 +02:00
Alessandro Ranellucci
c4d70bcb85 Always use a rectangle with semicircles as extrudate shape 2014-07-26 15:29:24 +02:00
Alessandro Ranellucci
a654722f18 Fixed test relying on old layer_height default value 2014-07-26 14:15:53 +02:00
Alessandro Ranellucci
71209711b3 Bugfix: ignore only_retract_when_crossing_perimeters when fill_density = 0 2014-07-23 00:57:31 +02:00
Alessandro Ranellucci
5ec12080e0 Added unit tests about temperatures being preserved in spiral_vase mode 2014-07-03 14:36:15 +02:00
Alessandro Ranellucci
928335f186 Removed print_center option (but left --print-center from CLI) 2014-06-16 23:58:45 +02:00
Alessandro Ranellucci
e24b3a8916 Merge branch 'call_get_layer' of github.com:sapir/Slic3r into sapir-call_get_layer
Conflicts:
	lib/Slic3r/Print.pm
2014-06-14 00:05:24 +02:00
Y. Sapir
09357e5868 A few improvements to gcode placeholder tests. 2014-06-13 14:02:09 +03:00
Alessandro Ranellucci
9bff6ccde7 Fixed tests after recent fixes to concave_points 2014-06-11 22:21:30 +02:00
Alessandro Ranellucci
5dcc1eab79 Bugfix: seam_position = aligned failed in certaim circumstances because of faulty concave points detection. Includes regression test 2014-06-11 21:58:41 +02:00
Alessandro Ranellucci
82e2dd4e62 Bugfix: wrong number of raft layers in some situations due to a numerical error 2014-06-11 21:58:28 +02:00
Alessandro Ranellucci
3599bd0bae Distinct extrusion width for external perimeters 2014-06-09 21:22:15 +02:00
Alessandro Ranellucci
64853d5661 Bugfix: M73 was exceeding 100% when multiple objects were printed together. #1912 2014-06-05 16:24:47 +02:00
Alessandro Ranellucci
28695c719c Fixed regression causing bridge flow to be incorrect when a manual default extrusion width was specified. Includes several regression tests. #2027 2014-06-03 23:59:03 +02:00
Alessandro Ranellucci
ce1e736b6b Bugfix: crash when skirt was contained in brim area. Includes regression test. #2058 2014-05-27 13:38:41 +02:00
Alessandro Ranellucci
3d25b9030c Bugfix: movement between objects in sequential printing mode was going too far away. #2013 #2007 2014-05-26 15:19:13 +02:00
Alessandro Ranellucci
abdf6531f1 Bugfix: wrong logic for concave_points() and convex_points() 2014-05-26 11:50:42 +02:00
Alessandro Ranellucci
7ea09a0071 Bugfix: failure when exporting SVG from object containing multiple islands. Includes regression test. #2050 2014-05-26 11:13:53 +02:00
Alessandro Ranellucci
4e5f7d74ff Bugfix: wrong handling of large number of raft layers. #2041 2014-05-25 23:17:00 +02:00
Alessandro Ranellucci
88a2e5c791 Typo seal -> seam :-) 2014-05-24 22:10:28 +02:00
Alessandro Ranellucci
a3bd1b5302 New seal_position option that replaces randomize_start, start_perimeters_at_concave_points and start_perimeters_at_non_overhang. The two latter options are now always on by default. A new "Aligned" seal position value has been added, that forces starting points to be aligned when not randomized. #1741 #925 2014-05-22 19:34:49 +02:00
Alessandro Ranellucci
5e6ff952df Fix more regressions in test suite regarding the workaround for Clipper bug 2014-05-21 15:45:16 +02:00
Alessandro Ranellucci
08279ec5d8 Bugfix: thin walls forming a closed loop had overlapping segments at their endpoints. #1948 #1875 2014-05-21 15:03:31 +02:00
Alessandro Ranellucci
038076e040 Bugfix: first layer extrusion width wasn't affecting infill. Includes regression test. #2042 2014-05-18 23:36:30 +02:00
Alessandro Ranellucci
0ddcefe956 Use support material speed for skirt and brim instead of perimeter speed so that perimeter speed can be set on a per-region basis 2014-05-18 17:02:18 +02:00
Alessandro Ranellucci
58ffaca2df Bugfix: ooze_prevention brought the extruder too far. Includes regression test 2014-05-15 19:23:57 +02:00
Alessandro Ranellucci
69002b8ea2 No tests were covering randomize-start, which was not working anymore after recent ExtrusionLoop refactoring. #2028 2014-05-12 21:49:17 +02:00
Alessandro Ranellucci
7ba08c90cf Refactoring to Model API for making it stricter and safer 2014-05-09 14:24:35 +02:00
Alessandro Ranellucci
93c1ae92c9 Added failing test case for contains_point() not working on Windows. #1950 2014-04-30 16:44:25 +02:00
Alessandro Ranellucci
4680bbdfe2 Make sure spiral vase mode is not enabled for multi-island layers. #1938 2014-04-30 12:23:07 +02:00
Alessandro Ranellucci
a31b2e6ca2 Stricter implementation of the overhang detection. Includes unit tests 2014-04-29 19:58:58 +02:00
Alessandro Ranellucci
7a9dec3720 One more change to multi-value placeholders: indices start from 0. #1899 2014-04-29 17:12:00 +02:00
Alessandro Ranellucci
a4b6075600 Fixed regression and ambiguity about multiple-value placeholders like [first_layer_temperature_1]. Includes several unit tests covering regression. #1899 2014-04-29 17:06:31 +02:00
Alessandro Ranellucci
913ab54a2b Bugfix: gap fill was not inserted in the correct order before leaving island. Includes regression test. #1907 2014-04-29 15:25:14 +02:00
Alessandro Ranellucci
129b6651f6 More correct test description 2014-04-26 16:09:00 +02:00
Alessandro Ranellucci
148c773319 Exclude support from bridged areas 2014-04-26 16:07:43 +02:00
Alessandro Ranellucci
6201aacf88 New coverage detection for bridges. Includes implementation of ExPolygon::get_trapezoids() 2014-04-24 13:44:39 +02:00
Alessandro Ranellucci
d458a7c4d2 Merge pull request #1956 from ledvinap/fix-bridges
Fix bridges
2014-04-23 12:09:02 +02:00
Petr Ledvina
4c1ffecfc4 Fix test to check for correct direction and accept result close to 180 degrees. 2014-04-23 11:40:37 +02:00
Will Miles
fbce8e6730 Avoid integer overflow in arc test. Fixes #1918 2014-04-22 23:01:01 -04:00
Alessandro Ranellucci
9989ebaabd Refactored the BridgeDetector class to expose a cleaner API and make it stateful 2014-04-22 00:59:14 +02:00
Alessandro Ranellucci
f7e8a99078 More tests and related fixes to bridge detection. #1917 2014-04-21 20:44:21 +02:00
Alessandro Ranellucci
c4bfe64fb8 Test coverage for retract_layer_change 2014-04-19 19:28:43 +02:00
Alessandro Ranellucci
a248c98192 Fixed regression when concentric infill was used as solid infill. Includes regression test. #1650 2014-04-19 16:53:37 +02:00
Alessandro Ranellucci
f51921a11a Default extruder wasn't applied to perimeter extruder. Includes regression test. #1868 2014-04-19 11:43:41 +02:00
Alessandro Ranellucci
62e19469bc Fixed regression in --infill-only-where-needed. Includes a minimal test suite for such feature. #1871
Conflicts:

	t/fill.t
2014-04-18 21:48:32 +02:00
Alessandro Ranellucci
15628a90ed Regression test for numerical issues causing thin gaps between perimeters and infill. #1803 2014-04-18 17:30:35 +02:00
Alessandro Ranellucci
e02d33bbce Remove weak test. #1803 2014-04-15 00:57:43 +02:00
Alessandro Ranellucci
43ffb7d3e8 Bugfix: sometimes a tiny gap was left between infill and perimeters. Includes regression test. #1803 2014-04-15 00:22:31 +02:00
Alessandro Ranellucci
26bdbf0210 Test bridges when infill flow is larger than perimeter flow. #1917 2014-04-09 12:09:25 +02:00
Alessandro Ranellucci
627f23d5fe Make angle increment (i.e. angle resolution) configurable 2014-04-08 16:53:32 +02:00
Alessandro Ranellucci
20ca6cea05 Test Clipper's buggy behavior with polylines having coinciding endpoints 2014-04-08 15:26:31 +02:00
Alessandro Ranellucci
38f6e3b643 More unit tests for bridge angle detection 2014-04-08 15:18:37 +02:00
Alessandro Ranellucci
9be57f750d Some fixes to bridge direction detection. Includes regression tests 2014-04-08 14:51:55 +02:00
Alessandro Ranellucci
23e6abff49 Added first unit test for bridge direction 2014-04-08 13:08:42 +02:00
Alessandro Ranellucci
e4709068b9 Some more unit tests for arc fitting 2014-04-06 22:32:53 +02:00
Alessandro Ranellucci
1d35701f99 Incomplete work on arc fitting. Results are still incomplete. More unit tests are needed 2014-04-06 22:10:34 +02:00
Alessandro Ranellucci
e9e23119fc Failing test for broken command line scaling. #1889 2014-04-05 11:21:26 +02:00
Alessandro Ranellucci
d6d6a51e0d Fix for incomplete extrusion on solid surfaces 2014-04-05 10:54:24 +02:00
Alessandro Ranellucci
d2a6194960 Fix the 'extruder' behavior in CLI and test that Print::Simple accepts an incomplete DynamicConfig object 2014-04-05 10:18:00 +02:00
Alessandro Ranellucci
6f3844c1ba Fix crash when using multiple skirts with a single, non-zero, extruder. Includes regression test 2014-04-05 10:09:05 +02:00
Alessandro Ranellucci
9c7cc484bc Update t/support.t still assuming default support material pattern was honeycomb 2014-03-27 00:28:26 +01:00
Alessandro Ranellucci
071097d3f1 Fix extruder assignment and tests 2014-03-27 00:01:33 +01:00
Alessandro Ranellucci
10bf334a58 Added one more failing test to address bad option priority hierarchy 2014-03-26 19:42:01 +01:00
Alessandro Ranellucci
a058994b20 Disable thin wall test failing on Linux. A more robust implementation is needed. #1825 2014-03-25 14:23:11 +01:00
Alessandro Ranellucci
432a87e73d New option for forcing the generation of interface shells. #1847 2014-03-25 01:11:28 +01:00
Alessandro Ranellucci
6feff7fe53 Test that stacked cubes with distinct extruders don't generate any internal interface shells. #1847 2014-03-24 23:44:47 +01:00
Alessandro Ranellucci
5ce4de0544 Bugfix: wrong inwards moves were calculated for 2+ copies because ExtrusionLoop objects were modified in place. Includes regression test. #1842 2014-03-24 20:01:14 +01:00
Alessandro Ranellucci
7421a7bf63 Turn fill_density into percentage 2014-03-22 16:23:33 +01:00
Alessandro Ranellucci
34f1511e0c Better fix for non-global options not being replaced in filename placeholders. Includes refactoring and a new PlaceholderParser class. Also includes regression tests. #1831 2014-03-17 00:39:07 +01:00
Alessandro Ranellucci
bc054e613c Fix regression causing non-global config options to be ignored when replacing placeholders in output filename format. #1831 2014-03-15 20:45:10 +01:00
Alessandro Ranellucci
2a73ab988f Recursive pruning. Some more unit tests 2014-03-09 17:46:02 +01:00
Alessandro Ranellucci
33da6adc3c Better pruning 2014-03-08 11:36:48 +01:00
Alessandro Ranellucci
3c77b301a7 Promising approach to medial axis pruning 2014-03-04 23:33:13 +01:00
Alessandro Ranellucci
ba5435cde1 More medial axis tests 2014-03-03 02:14:02 +01:00
Alessandro Ranellucci
b49a652736 Rewritten half-edge traversal in a more robust way. Includes first medial axis unit test 2014-03-03 01:48:05 +01:00
Alessandro Ranellucci
bc44611f24 Fix failing test after recent changes to thin wall thresholds 2014-03-02 22:26:52 +01:00
Alessandro Ranellucci
2295d48947 Better pruning of thin walls to avoid unwanted extra extrusions. Includes regression test. #1794
Conflicts:

	lib/Slic3r/Layer/Region.pm
2014-03-02 00:31:17 +01:00
Alessandro Ranellucci
a344d68257 Use bridge speed for first solid layer above sparse infill. Includes unit test. #1792 2014-03-01 20:35:44 +01:00
Alessandro Ranellucci
344a517ce8 Regression test for #1808 (crash when using non-consecutive extruders), already fixed in master branch 2014-02-26 11:56:34 +01:00
Alessandro Ranellucci
e837183327 Fixed regression when using --infill-only-where-needed. Includes regression test. #1721 2014-02-16 12:48:07 +01:00
Alessandro Ranellucci
4c650a6d80 Fix regression about percent extrusion width not being validated. Includes regression test 2014-02-13 18:42:49 +01:00
Alessandro Ranellucci
8331c54b67 Updated test count in t/shells.t 2014-02-13 16:17:32 +01:00
Alessandro Ranellucci
49d290accf Fixed spiral vase regressions. Includes regression tests. #1773 2014-02-13 16:11:12 +01:00
Alessandro Ranellucci
0060873f1c Regression test and incomplete fix for bug affecting wrong spiral vase output. #1773
Conflicts:

	lib/Slic3r/GCode/Layer.pm
2014-02-13 16:11:02 +01:00
Alessandro Ranellucci
634ccb33ab Fix regression in Config->setenv affecting post-processing scripts. Includes regression test 2014-02-09 23:14:32 +01:00
Alessandro Ranellucci
ffc891d885 Bugfix: when processing with fill_density = 0, top/bottom solid shells were missing regions thinner than 3 * extrusion width. Includes regression test. #1602
Conflicts:

	lib/Slic3r/Print/Object.pm
	t/fill.t
2014-02-07 02:07:21 +01:00
Alessandro Ranellucci
66045faf81 Fix error in t/support.t 2014-01-14 13:41:39 +01:00