Commit Graph

467 Commits

Author SHA1 Message Date
Alessandro Ranellucci
4dd12b57a1 Fixed wipe (includes regression test). #1421 2013-09-06 19:14:06 +02:00
Alessandro Ranellucci
a49dc603cc Many changes and fixes to remove leaks and return objects by reference 2013-09-03 19:26:58 +02:00
Alessandro Ranellucci
0ffb0f6a58 Fix tests 2013-09-02 22:10:52 +02:00
Alessandro Ranellucci
1cfdf7e955 Ported Slic3r::Polyline::Collection 2013-08-30 00:06:10 +02:00
Alessandro Ranellucci
bd7b0e2aed Ported ExtrusionPath::Collection->chained_path 2013-08-29 11:47:59 +02:00
Alessandro Ranellucci
5f17fa342b Move arc fitting code to its own post-processing filter and remove the built-in ExtrusionPath::Arc class 2013-08-28 20:40:13 +02:00
Alessandro Ranellucci
055273fbc8 Huge speed boost by reducing the number of method calls in GCode.pm 2013-08-28 20:38:22 +02:00
Alessandro Ranellucci
73c05a6092 Moved vibration limit to its own G-code filter 2013-08-28 20:37:56 +02:00
Alessandro Ranellucci
fb763b0187 Removed dependency on Math::Clipper 2013-08-27 01:26:44 +02:00
Alessandro Ranellucci
49040db9a3 Fixes to pass all tests 2013-08-26 16:25:42 +02:00
Alessandro Ranellucci
fa07c512b4 Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r/Layer/Region.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/Print/Object.pm
2013-08-16 09:09:56 +02:00
Alessandro Ranellucci
b5df61df2c Update test now failing because of some numerical instability 2013-08-13 10:46:46 +02:00
Alessandro Ranellucci
dbe429cf73 Regression test for fix 36596bf569. #1387 2013-08-13 10:05:40 +02:00
Alessandro Ranellucci
b38cc2c244 Merge branch 'master' into xsdata
Conflicts:
	lib/Slic3r.pm
	lib/Slic3r/ExPolygon.pm
	lib/Slic3r/Fill.pm
	lib/Slic3r/Fill/Rectilinear.pm
	lib/Slic3r/GCode.pm
	lib/Slic3r/GUI/Plater.pm
	lib/Slic3r/Geometry/Clipper.pm
	lib/Slic3r/Layer/Region.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/Print/Object.pm
	lib/Slic3r/TriangleMesh.pm
	t/shells.t
	xs/MANIFEST
2013-08-08 02:10:34 +02:00
Alessandro Ranellucci
4e13d61aed Fix retraction/Z/lift problems after recent changes 2013-07-30 12:15:40 +02:00
Alessandro Ranellucci
913f401280 Merge new-support2 2013-07-29 20:50:26 +02:00
Alessandro Ranellucci
10a8f479f9 Bugfix: lift was not working correctly with multiple extruders and multiple skirt layers. Also, we now ignore all lift settings except the one of the first extruder. Includes regression tests. #1332 #1338 2013-07-29 19:43:57 +02:00
Alessandro Ranellucci
b5907dc734 Bugfix: z_offset was not applied in spiral_vase. Includes regression test #1343 2013-07-29 17:28:30 +02:00
Alessandro Ranellucci
80676f358a Keep edge lines in rectilinear infill even when the sides are not perfectly straight 2013-07-29 13:36:22 +02:00
Alessandro Ranellucci
99963775ff Extend tests about solid infill adjustment 2013-07-29 12:28:23 +02:00
Alessandro Ranellucci
948b43fe0d Don't try to align rectilinear infill if solid, otherwise there will be a gap at one side 2013-07-29 11:05:04 +02:00
Alessandro Ranellucci
3bcb2f04ed Add spiral vase test for hollow models 2013-07-28 15:02:03 +02:00
Alessandro Ranellucci
91cade7e8f Make sure there are no gaps in spiral vase. Includes regression test. #1251 2013-07-28 13:39:15 +02:00
Alessandro Ranellucci
691c45d57f Smarter handling of hollow prints. Optimization included 2013-07-28 10:56:41 +02:00
Alessandro Ranellucci
5c191c062f Fix test description 2013-07-27 19:43:46 +02:00
Alessandro Ranellucci
25af3eb35f Proper fix for preventing shells to propagate too much 2013-07-27 19:41:36 +02:00
Alessandro Ranellucci
6bd4803612 Failing test case about spurious infill in hollow objects, caused by shells being correctly generated even for hollow objects - however sometimes we don't want that 2013-07-26 20:17:33 +02:00
Alessandro Ranellucci
fe94e31bda Remove t/freeze.t. #1352 2013-07-26 10:32:44 +02:00
Alessandro Ranellucci
e29aca3553 Reapply correct optimization for simplifiying fill_surfaces before performing the offset. #1325 2013-07-20 12:22:41 +02:00
Alessandro Ranellucci
9433048873 One more test about polygon simplification 2013-07-19 22:49:39 +02:00
Alessandro Ranellucci
1b285f3f46 Thread-safe integration of ExtrusionPath::Collection 2013-07-18 22:29:12 +02:00
Alessandro Ranellucci
898007fc36 Port offset_ex() and offset2_ex() to XS 2013-07-16 20:09:53 +02:00
Alessandro Ranellucci
9458c7db97 Fix integration of XS containers 2013-07-16 17:13:01 +02:00
Alessandro Ranellucci
9b582a11ff Adopt XS containers everywhere (incomplete work) 2013-07-16 09:49:34 +02:00
Alessandro Ranellucci
ab6b3d41a7 XS interface completed, including new Line class 2013-07-15 22:57:22 +02:00
Alessandro Ranellucci
9af2a1c007 Use XS Point everywhere 2013-07-15 20:31:43 +02:00
Alessandro Ranellucci
159a009f96 Fix tests here and there 2013-07-15 15:26:56 +02:00
Alessandro Ranellucci
f612d4c64e Ported ExtrusionPath to XS. Failing test for Surface 2013-07-15 12:14:22 +02:00
Alessandro Ranellucci
7534c1e6d9 Use Slic3r::Surface::Collection for Layer::Region->slices 2013-07-14 15:03:45 +02:00
Alessandro Ranellucci
b66a796f0b Silence t/freeze.t 2013-07-07 15:18:32 +02:00
Alessandro Ranellucci
f455ecb7da Rename adjust_overhang_flow to overhangs 2013-07-06 11:35:40 +02:00
Alessandro Ranellucci
1222f1f3e4 Update t/perimeters.t 2013-07-06 02:44:50 +02:00
Alessandro Ranellucci
8061cc6e30 Optimization in Polyline instantiation 2013-07-05 14:44:41 +02:00
Alessandro Ranellucci
f26f084064 New freeze.t test 2013-07-03 15:42:01 +02:00
Alessandro Ranellucci
c03f9f0197 Fixed regression causing wrong direction for inwards move in holes. Includes regression test. #1265 2013-06-23 00:05:08 +02:00
Alessandro Ranellucci
db266cde9f Little optimizations in slicing 2013-06-22 20:32:39 +02:00
Alessandro Ranellucci
64a21276e3 Add regression test for concave starting points. #135 2013-06-22 15:22:58 +02:00
Alessandro Ranellucci
19b40baf55 Add regression test to ensure fan is enabled when printing overhangs. #432 2013-06-21 15:38:58 +02:00
Alessandro Ranellucci
c707073a73 Some fixes about overhang detection. Includes regression tests 2013-06-21 14:52:35 +02:00
Alessandro Ranellucci
ac4a0bcdd8 Refactoring: use Slic3r::Geometry::BoundingBox objects everywhere 2013-06-16 12:21:25 +02:00
Alessandro Ranellucci
20158aac0d Merge branch 'issue1161' 2013-06-15 18:08:01 +02:00
Alessandro Ranellucci
a8981b8b35 Bugfix: infill was clipped badly. Includes regression test. #1245 2013-06-15 12:10:57 +02:00
Alessandro Ranellucci
878d17605c Ignore solid_infill_every_layers when fill_density is 0. Includes regression test. #1240 2013-06-14 16:48:24 +02:00
Alessandro Ranellucci
8e0e03247d Bugfix: ineffective scale() method in recently created BoundingBox objects caused wrong positioning for scaled objects in plater. Includes regression test. #1171 2013-06-10 15:34:45 +02:00
Alessandro Ranellucci
8b2c13cc6f Regression test for top solid surfaces in V-shaped object. #1161 2013-06-08 20:01:26 +02:00
Alessandro Ranellucci
7a8e1e778a New test to ensure brim and raft are extruded with the support material extruder. #123 2013-06-07 13:38:29 +02:00
Alessandro Ranellucci
f991e3bc10 Fixed SVG export and added regression test 2013-06-07 12:00:03 +02:00
Alessandro Ranellucci
5c7dd2cf78 Some fixes to the cooling logic and new test suite for cooling 2013-05-31 12:18:33 +02:00
Alessandro Ranellucci
da76496988 Store config in Slic3r::GCode object 2013-05-31 11:19:36 +02:00
Alessandro Ranellucci
7baaf6bf5d Fixed regression causing skirt_height to he honored incorrectly when printing more than one object. Includes regression test #1200 2013-05-30 20:06:05 +02:00
Alessandro Ranellucci
08a0bbd7f0 Optimization: split meshes automatically when avoid_crossing_perimeters is enabled, so that we reduce the complexity of the MotionPlanner graphs. This commit includes a very large refactoring of the Model class which is now responsible for duplication and arrangement 2013-05-18 16:48:26 +02:00
Alessandro Ranellucci
4bfbaddb59 Update t/arcs.t and add one more test 2013-05-17 15:07:01 +02:00
Alessandro Ranellucci
bfba5b3d78 Update tests after recent TriangleMesh optimizations 2013-05-15 17:38:50 +02:00
Alessandro Ranellucci
baa1a8c736 Move Slic3r::Test::GCodeReader to Slic3r::GCode::Reader 2013-05-13 20:14:33 +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
0118c7257f Update test according to the new Fill/Base.pm syntax 2013-04-25 12:01:40 +02:00
Alessandro Ranellucci
c723c07f8c Update unit test after recent conversion of Boost::Geometry::Utils to double coordinates 2013-04-15 19:03:02 +02:00
Alessandro Ranellucci
8030eaaa04 Remove debugging statements 2013-04-09 14:02:49 +02:00
Alessandro Ranellucci
94ed6cd239 Always move Z at travel speed. #1093 2013-04-08 22:23:51 +02: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
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
4fdcd18801 Fix t/retraction.t after the recent change to the first_layer_height default 2013-03-18 18:11:25 +01:00
Alessandro Ranellucci
10b6bc9d15 Removed keep_meshes 2013-03-16 19:39:00 +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
b73c301c55 Bugfix: double lift at toolchange. #953 2013-03-11 17:06:05 +01:00
Alessandro Ranellucci
06a592f25e Update tests 2013-03-09 22:05:41 +01:00
Alessandro Ranellucci
2f192bddca Make tests happy 2013-03-07 16:24:25 +01:00
Alessandro Ranellucci
36d24ccb0b Infill refactoring and cleanup complete 2013-03-07 15:47:32 +01:00
Mike Sheldrake
b36ed0538d make sure combine infill test has infill to combine #1023 2013-02-28 00:55:31 -08: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
Mike Sheldrake
f46226b32f regression test for combined infill #834
Guards against issue of slightly off-vertical walls triggering
extra infill on layers that should be empty when combining infill.
2013-02-16 06:51:24 -08:00
Alessandro Ranellucci
e7139c514d Rename shortest_path() in tests too. #980 2013-02-06 10:21:23 +01:00
Alessandro Ranellucci
7d08796b0a Remove sporadic duplicate useless lines. #772 2013-02-04 14:27:23 +01:00
Alessandro Ranellucci
3794d51cc7 Add unit test for polyline_lines 2013-02-04 14:21:59 +01:00
Alessandro Ranellucci
862900d9c1 Scale test coordinates to avoid truncation issues 2013-01-31 16:05:51 +01:00
Alessandro Ranellucci
4d70748723 Make tests happy about the new Boost::Geometry::Utils working with integers 2013-01-28 00:40:08 +01:00
Alessandro Ranellucci
ddaeaa7591 Fix last_pos shifting and add unit test 2013-01-27 13:08:13 +01:00
Alessandro Ranellucci
97f0b7a372 Update retraction.t to work with two-phase retractions (triggered by changing the default retract_length_toolchange to something greater than 3) 2013-01-17 12:27:39 +01:00
Alessandro Ranellucci
0e9d96100b New unit test for layer heights 2013-01-01 23:16:51 +01:00
Alessandro Ranellucci
a633180518 Add regression test to trap fatal errors during hilbertcurve infill generation. #880 2012-12-31 15:05:32 +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
de5b8b9f4d Rename t/stl.t to t/slice.t 2012-12-29 19:29:22 +01:00
Alessandro Ranellucci
547e62d0a8 Added a couple Clipper tests. #858 2012-12-27 14:17:04 +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
db754dca4d Add unit test to check that nested config options work 2012-12-23 15:56:13 +01:00
Alessandro Ranellucci
e372372a5d Bugfix: extra length on restart didn't work correctly for negative values. #654 2012-12-21 15:25:08 +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
bf603b0221 Fixed regression causing inefficient paths during infill 2012-12-20 18:10:20 +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
494a1a84cf Incomplete work to test multiple extruders in t/retraction.t 2012-12-10 01:10:20 +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
bfc3616c0c Fix test 2012-12-05 12:01:48 +01:00
Alessandro Ranellucci
d219d69625 Test retraction with G0 2012-12-05 11:52:52 +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
2564317fb4 Test retract lift 2012-12-05 01:27:21 +01:00
Alessandro Ranellucci
ac6dc67e6a Tidy 2012-12-05 01:12:50 +01:00
Alessandro Ranellucci
cf90033fd0 Refactor and extend t/retraction.t 2012-12-05 00:39:40 +01:00
Alessandro Ranellucci
3a2ca92ec3 Test shortest path algorithm 2012-12-04 23:52:53 +01:00
Alessandro Ranellucci
2abf2be781 New testing framework 2012-11-21 20:41:14 +01:00
Alessandro Ranellucci
20e73face2 Get rid of max_print_dimension in filler objects 2012-10-30 15:09:54 +01:00
Alessandro Ranellucci
f9e20db156 Update t/dynamic.t 2012-10-27 21:20:32 +02:00
Alessandro Ranellucci
b92642459f Merge branch 'master' into dynamic-flow
Conflicts:
	lib/Slic3r/Flow.pm
	lib/Slic3r/Layer.pm
2012-10-04 15:23:19 +02:00
Alessandro Ranellucci
c33333cfd8 Fix t/fill.t 2012-09-23 14:51:03 +02:00
Alessandro Ranellucci
46cbdcdc4e Merge branch 'master' into dynamic-flow 2012-09-21 15:36:33 +02:00
Alessandro Ranellucci
e40f32995f Finish GUI decoupling 2012-09-21 15:04:33 +02:00
Alessandro Ranellucci
4fbb8ffb9d Replace 'scale epsilon' with 'scaled_epsilon' 2012-09-21 15:04:18 +02:00
Alessandro Ranellucci
1cedb00f20 Merge branch 'master' into dynamic-flow
Conflicts:
	lib/Slic3r/ExPolygon.pm
2012-09-12 16:05:06 +02:00
Alessandro Ranellucci
e0d5f4e528 Replace 'scale epsilon' with 'scaled_epsilon' 2012-09-12 15:22:43 +02:00
Alessandro Ranellucci
a1ac866b84 Refactoring: turn x_length and y_length in size 2012-08-25 20:14:01 +02:00
Alessandro Ranellucci
af1b64a086 Added unit testing to prevent regression about disconnected infill paths 2012-08-25 14:59:34 +02:00
Alessandro Ranellucci
0aa224ffad Dynamic extrusion width for better gap filling 2012-08-25 14:23:46 +02:00
Alessandro Ranellucci
f977aff82d Update tests after recent serialization changes 2012-07-21 14:57:41 +02:00
Alessandro Ranellucci
d8d2f73aff Fixed regression causing fatal errors with many objects. #394 2012-05-29 14:54:20 +02:00
Alessandro Ranellucci
4aa85f4571 Fixed arcs.t to work with new serialization mechanism 2012-05-19 23:39:36 +02:00
Alessandro Ranellucci
b246480535 Massive reduction of memory usage (down to one third). 2012-05-19 17:57:38 +02:00
Alessandro Ranellucci
aa9563f00b More constants, less strings => ess memory usage 2012-05-19 15:40:11 +02:00
Alessandro Ranellucci
e4e970f7e3 Fix unit test 2012-05-01 12:18:59 +02:00
Alessandro Ranellucci
d51ba94e8a Remove XXX from dependencies 2012-04-16 14:03:36 +02:00
Alessandro Ranellucci
5bfe19a8b9 Huge speed Boost (pun intended). Also fixes a problem where infill was escaping perimeters sometimes (#305). 2012-04-09 11:04:32 +02:00
Alessandro Ranellucci
c98f6734c7 Code optimization 2012-02-25 22:18:07 +01:00
Alessandro Ranellucci
a24ffee2aa New polygon_is_convex() function 2012-02-25 16:14:59 +01:00
Alessandro Ranellucci
eba7c10018 Faster support generation. Includes a new implementation of the Douglas-Peucker algorithm 2012-02-25 14:46:21 +01:00
Alessandro Ranellucci
a9e7204fc6 New slicing algorithm based on a topological approach rather than numeric. It should be much more robust 2012-02-18 20:36:14 +01:00
Alessandro Ranellucci
de88144649 Fixed test after recent changes 2012-02-17 17:16:13 +01:00
Alessandro Ranellucci
660eedfa5b Added a couple unit tests 2012-02-15 12:04:10 +01:00
Alessandro Ranellucci
8ed91a8ec4 Very large refactoring. Ditched Slic3r::Polyline::Closed and reorganized geometric classes. 2011-12-30 19:59:51 +01:00
Alessandro Ranellucci
b1d6420ff4 Avoid test failures due to floating point values comparison 2011-12-22 12:19:24 +01:00
Clarence Risher
a81e8c4afc correct length calculation for clockwise arcs 2011-12-22 06:10:54 -05:00
Alessandro Ranellucci
28b851508e Extended arcs unit test to check whether it works with both cw and ccw arcs 2011-12-22 11:38:04 +01:00
Alessandro Ranellucci
98a8c64ed7 Extended (and fixed) unit testing to track down (and fix) an issue caused by floating point math that reversed some holes into contours when they should actually be ignored 2011-12-22 11:24:46 +01:00
Alessandro Ranellucci
4fe340cc56 Many fixes to the bridge direction detection algorithm and other things. #58 2011-12-03 18:31:31 +01:00
Alessandro Ranellucci
792960aae1 Slic3r should now be able to detect optimal bridging direction for any kind of bridge. #58 2011-12-02 23:35:39 +01:00
Alessandro Ranellucci
d51a37a0ae Refactoring: moved slicing code to new TriangleMesh class, leaving in STL just what's needed to read that particular input format. Slic3r will now warn if model is not manifold. #16 2011-11-30 16:07:31 +01:00
Alessandro Ranellucci
975387d953 New --bridge-feed-rate option. #68 2011-11-28 18:37:53 +01:00
Alessandro Ranellucci
ed050089d9 Removed SVG debug codes left (as always) in a unit test 2011-11-15 19:23:29 +01:00
Alessandro Ranellucci
038caddcda New fill types (hilbertcurve, archimedeanchords, octagramspiral) and ability to use different patterns for solid layers. #20 2011-11-13 18:14:02 +01:00
Alessandro Ranellucci
c5d5e4d244 Cleanup lines resulting from plane intersection before detecting polygons. This allows for more tolerance with dirty models. Performance impact depends on how many layers are detected as dirty. #16 #28 2011-11-12 10:18:20 +01:00
Alessandro Ranellucci
726460e6d0 Removed SVG left by error in arcs.t 2011-11-07 17:21:35 +01:00
Alessandro Ranellucci
d620b46beb Bugfix: arcs now work (some glitches in detecting their center, though). #30 2011-11-07 14:12:07 +01:00
Alessandro Ranellucci
6d6533831e New experimental --gcode-arcs options to generate G2/G3 commands. #23 2011-10-28 14:13:44 +02:00
Alessandro Ranellucci
c97a89c07c Refactored Line objects to arrayrefs 2011-10-12 16:27:40 +02:00
Alessandro Ranellucci
7628c83e9f Some tests were failing 2011-10-10 11:00:19 +02:00
Alessandro Ranellucci
84abd41cf4 Fixes for bridges 2011-10-09 22:18:06 +02:00
Alessandro Ranellucci
ad27f25c71 Skeining algorithm totally rewritten 2011-10-08 19:02:05 +02:00
Alessandro Ranellucci
743f2abcf2 Detection of optimal infill direction for bridges. Includes many fixes and improvements. 2011-10-07 19:07:57 +02:00
Alessandro Ranellucci
5daaf454b1 Faster algorithm for rectilinear fill 2011-10-06 17:13:42 +02:00
Alessandro Ranellucci
e2d2574b8b New algorithm for clipping lines to complex polygons 2011-10-06 12:20:25 +02:00
Alessandro Ranellucci
5812804d6b Refactored the can_connect() logic (includes a refactoring of the SVG library) 2011-10-06 11:55:26 +02:00
Alessandro Ranellucci
2da5ee7448 Bugfixes and improvements in surface detection 2011-10-04 22:27:45 +02:00
Alessandro Ranellucci
f1a36502e1 Additions to the polygon library 2011-10-04 20:06:17 +02:00
Alessandro Ranellucci
794b7a99d2 Fixes for hi-res STL models 2011-10-04 17:55:55 +02:00
Alessandro Ranellucci
ef201a99cc Bugfix in polyline simplification 2011-10-03 20:40:49 +02:00
Alessandro Ranellucci
a311220c19 New build script to install dependencies automatically 2011-10-02 11:57:47 +02:00
Alessandro Ranellucci
25ea8a0204 Bugfixes for complex and dirty geometries 2011-09-30 15:46:48 +02:00