Commit Graph

299 Commits (master)

Author SHA1 Message Date
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