Commit Graph

1442 Commits (6e216e2fd947d96782253da0d44a4ce20899e679)

Author SHA1 Message Date
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 fec816b065 Collect undetected lines (caused by dirty or non-manifold models), warn the user, post debug info. Includes some further ExPolygon refactoring. 2011-11-11 10:21:48 +01:00
Alessandro Ranellucci 91e250a2fd Infill solid layers even when --fill-density is set to zero. #37 2011-11-09 09:21:09 +01:00
Alessandro Ranellucci 80adbb7044 Support for legacy multiply options in config files. #7 2011-11-07 17:16:34 +01:00
Alessandro Ranellucci 0b42139e54 Print first layer at Z = 1 * layer_height instead of zero like it was until now. #17 2011-11-07 16:04:27 +01:00
Alessandro Ranellucci b4e268efad New --retract-lift option to lift Z while doing travel moves. #25 2011-11-07 15:58:47 +01:00
Alessandro Ranellucci 71a44e253c Renamed "multiply" to "duplicate". #7 2011-11-07 15:49:07 +01:00
Alessandro Ranellucci 279bfbb10d Organize perimeters with a nearest point search to avoid unnecessary travel moves. #21 2011-11-07 15:40:09 +01:00
Alessandro Ranellucci e860254780 Do all perimeters for each island/object at once without moving between multiple objects. #34 2011-11-07 14:25:36 +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 8172bcb772 Bugfix: G2/G3 I and J coordinates were wrong. #30 2011-11-06 20:24:42 +01:00
Alessandro Ranellucci b5ca83abf8 Enforce the requirement for recent versions of Wx and Math::ConvexHull. #27 2011-11-05 18:19:35 +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 7f341cfcd3 New --fill-every-layers option to get high accuracy on external surfaces while speeding up infill 2011-10-18 15:57:53 +02:00
Alessandro Ranellucci 54cc6216a1 Bugfix: extrusion distance wasn't reset at print start, causing a possible huge retraction. 2011-10-17 21:38:41 +02:00
Alessandro Ranellucci 5090ae561c Refactored Perimeter code with new Slic3r::Polygon and Slic3r::ExPolygon objects
Large refactoring. Speed gains. Removed convex hull for bridges.
2011-10-15 21:14:13 +02:00
Alessandro Ranellucci 2d784fac9b New --start-gcode and --end-gcode options. #12 2011-10-14 16:24:55 +02:00
Alessandro Ranellucci f7335b6d1e Bugfix: latest retraction changes broke retraction 2011-10-14 12:14:20 +02:00
Alessandro Ranellucci 56619871b2 Bugfix: some bridges had wrong perimeters inside 2011-10-13 22:22:45 +02:00
Alessandro Ranellucci c97a89c07c Refactored Line objects to arrayrefs 2011-10-12 16:27:40 +02:00
Alessandro Ranellucci e410410dc7 Refactoring. Point objects are now plain arrayrefs. Slicing is 30% faster. 2011-10-12 14:54:49 +02:00
Alessandro Ranellucci 774717c8bb Implement our own STL relaxed parser to be tolerant with malformed STL files and remove a dependency 2011-10-12 10:47:26 +02:00
Alessandro Ranellucci a65befe08c Require Math::Clipper 1.02 otherwise fail with a hard error
This is to force people to upgrade their dependencies in order to avoid their previous bugs
2011-10-11 17:56:56 +02:00
Alessandro Ranellucci 82d8d0896f Reset extrusion distance during retracts 2011-10-11 17:53:50 +02:00
Alessandro Ranellucci ef485e511e Remove useless F params to shrink gcode size (#14) and Reset E before exceeding 65535 (#13) 2011-10-11 16:04:50 +02:00
Alessandro Ranellucci f01ddae974 Some compatibility bugs. Slic3r will still fail hard with non-manifold objects 2011-10-11 15:51:08 +02:00
Alessandro Ranellucci bca3abb755 More fixes. 2011-10-10 17:27:00 +02:00
Alessandro Ranellucci 34681af6ae Improvements for bottom and top surfaces perimeters 2011-10-10 16:31:37 +02:00
Alessandro Ranellucci a7d5e643ae Bugfix: couldn't set fill density to zero 2011-10-10 14:37:40 +02:00
Alessandro Ranellucci 332d55f854 Moved Temperature under filament options 2011-10-09 22:29:13 +02:00
Alessandro Ranellucci 84abd41cf4 Fixes for bridges 2011-10-09 22:18:06 +02:00
Alessandro Ranellucci 459577f9a2 Completely rewritten the slicing algorithm
It should work with any model now. There are still problems with some
bridges.
2011-10-09 19:47:21 +02:00
Alessandro Ranellucci ad27f25c71 Skeining algorithm totally rewritten 2011-10-08 19:02:05 +02:00
Alessandro Ranellucci 3274f3978b Additions to Geometry.pm and allow function exporting 2011-10-07 21:19:18 +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 1cb515a8e5 Merge branch 'high-res-perimeters'
Conflicts:
	lib/Slic3r/Extruder.pm
2011-10-06 20:09:50 +02:00
Alessandro Ranellucci 5daaf454b1 Faster algorithm for rectilinear fill 2011-10-06 17:13:42 +02:00
Alessandro Ranellucci 119eb0693f New high_res_perimeters option (like the "Skin" plugin for Skeinforge) 2011-10-06 17:11:59 +02:00
Alessandro Ranellucci 1978a99416 Faster algorithm for rectilinear fill 2011-10-06 16:22:22 +02:00
Alessandro Ranellucci 33d7b8c7cf Code refactored to allow for multiple infill types 2011-10-06 15:13:09 +02:00
Alessandro Ranellucci bfd1d0e1dd Got rid of Math::Geometry::Planar 2011-10-06 12:39:58 +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 5a07137def Fixes to retraction and skirt 2011-10-05 21:25:17 +02:00
Alessandro Ranellucci a1d518f1a2 Save and load configurations 2011-10-05 18:13:47 +02:00
Alessandro Ranellucci 92dec2db2a Fixed detection of horizontal shells 2011-10-04 22:36:05 +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 706586f150 Allow .STL files as well as .stl 2011-10-04 18:00:01 +02:00
Alessandro Ranellucci 794b7a99d2 Fixes for hi-res STL models 2011-10-04 17:55:55 +02:00
Alessandro Ranellucci 6444c3d7a9 Bugfix in dealing with very small STL facets 2011-10-03 20:57:56 +02:00
Alessandro Ranellucci ef201a99cc Bugfix in polyline simplification 2011-10-03 20:40:49 +02:00
Alessandro Ranellucci 865e234a44 Workaround for Wx/GTK bug on Linux 2011-10-03 19:15:07 +02:00
Alessandro Ranellucci 71a373e437 Bugfix: error during skein freezed the GUI 2011-10-03 17:41:45 +02:00
Alessandro Ranellucci 558e86e72d GUI fixes for Windows 2011-10-03 13:08:43 +02:00
Alessandro Ranellucci f2f9178e07 GUI 2011-10-03 11:55:32 +02:00
Alessandro Ranellucci 21d287504c New --perimeter-feed-rate and --retract-before-travel options. Includes some refactoring and fixes. 2011-10-02 09:57:37 +02:00
Alessandro Ranellucci 55f2247cd9 New extrusion math 2011-10-01 18:10:33 +02:00
Alessandro Ranellucci ea88cad8e3 Don't extrude acute angles 2011-10-01 14:26:54 +02:00
Alessandro Ranellucci 25ea8a0204 Bugfixes for complex and dirty geometries 2011-09-30 15:46:48 +02:00
Alessandro Ranellucci b61b543243 Minor cleanups 2011-09-26 19:53:01 +02:00
Alessandro Ranellucci 81085433fd New options to multiply input object 2011-09-26 16:58:08 +02:00
Alessandro Ranellucci c16ecb4316 Fixed regression which prevented horizontal shells to be processed for external top surfaces 2011-09-26 16:19:32 +02:00
Alessandro Ranellucci 404c76adc8 New option to rotate input object 2011-09-26 16:07:12 +02:00
Alessandro Ranellucci 8d13d4b21e New option to shift Z coordinates 2011-09-26 15:59:03 +02:00
Alessandro Ranellucci b0433097d4 New option to customize infill angle 2011-09-26 15:51:22 +02:00
Alessandro Ranellucci 742f646372 Minor fixes to time computation and right-hand rule 2011-09-26 15:08:05 +02:00
Alessandro Ranellucci 478047fad3 Fixes and improvements after testing with more complex objects 2011-09-26 14:48:22 +02:00
Alessandro Ranellucci bfad101c8c Ability to scale input object 2011-09-26 12:07:29 +02:00
Alessandro Ranellucci c2a62891da Remove features that are too small to be printed 2011-09-26 11:59:06 +02:00
Alessandro Ranellucci 081f65852d Refactor extrusion logic in a dedicated class 2011-09-26 11:42:08 +02:00
Alessandro Ranellucci 415d1a5170 Optimization of travel paths for fills 2011-09-26 10:52:58 +02:00
Alessandro Ranellucci 0cd10441a1 Optimization of travel paths for perimeters 2011-09-25 23:15:45 +02:00
Alessandro Ranellucci 03341f3485 Multiple solid layers near external surfaces 2011-09-25 22:11:56 +02:00
Alessandro Ranellucci f892fde123 Make rounded corners for skirt 2011-09-25 20:24:14 +02:00
Alessandro Ranellucci 5fec13353c Use latest Math::Clipper updated to Clipper 4.4.4 to get sharp corners 2011-09-25 20:09:30 +02:00
Alessandro Ranellucci f48dec9e41 Remove old code 2011-09-25 19:51:03 +02:00
Alessandro Ranellucci 18c7aef1a7 Lots of changes and refactoring after testing with hollow objects 2011-09-18 19:28:12 +02:00
Alessandro Ranellucci 26b05ab155 Replaced Moose with Moo => big performance boost and easier packaging 2011-09-06 11:50:43 +02:00
Alessandro Ranellucci bf5824781d Rearranged configuration options; removed --resolution (now hard-coded to 0.01mm) and --flow-width (now calculated using the new --nozzle-diameter) 2011-09-06 11:10:12 +02:00
Alessandro Ranellucci 3421e8fef8 Improvements to avoid blobs 2011-09-05 20:29:07 +02:00
Alessandro Ranellucci ff5044c031 Implemented skirt 2011-09-05 20:00:59 +02:00
Alessandro Ranellucci d8b848a67f Implemented retraction and fixed extrusion math 2011-09-05 18:52:09 +02:00
Alessandro Ranellucci 5595839b31 Command line interface 2011-09-05 13:33:09 +02:00
Alessandro Ranellucci 778e4f6ffa Allow for different speed on bottom layer 2011-09-05 12:22:54 +02:00
Alessandro Ranellucci 9e111d0a6d Rectilinear fill 2011-09-05 12:21:27 +02:00
Alessandro Ranellucci 428006264d Generate boundaries of areas to fill (includes some refactoring) 2011-09-04 12:04:01 +02:00
Alessandro Ranellucci 416ad241ea Require at least one perimeter 2011-09-04 11:06:15 +02:00
Alessandro Ranellucci a5ba0af7ef Generate GCODE 2011-09-03 20:47:38 +02:00
Alessandro Ranellucci 74b4d8d612 Bugfix (harmless for now) in calculation of extents; using constants now for code readability 2011-09-03 20:08:48 +02:00
Alessandro Ranellucci febd655e22 Extrusion of perimeters 2011-09-02 21:10:20 +02:00
Alessandro Ranellucci 55a523e1fa Initial import 2011-09-01 21:06:28 +02:00