Commit Graph

2328 Commits (896bf15ea28a705a33823a3c1fef7cae68441eb4)

Author SHA1 Message Date
Alessandro Ranellucci 4a9fc942cb Add a M109 for temperature control 2011-11-19 17:32:37 +01:00
Alessandro Ranellucci 4540f2377d Some minor fixes for the new bridging logic #58 2011-11-19 17:31:00 +01:00
Alessandro Ranellucci a1c766cc52 New bridging logic, more robust. #58 2011-11-19 16:44:24 +01:00
Alessandro Ranellucci 1ef4d006a0 Treating "reverse bridges" as bridges should not change the way they're infilled or the chosen flow width 2011-11-18 09:54:28 +01:00
Alessandro Ranellucci 1a066caecc Compute bridge overlap as twice the total thickness of perimeters 2011-11-17 10:41:20 +01:00
Alessandro Ranellucci c8ce989962 Renamed perimeter_offsets to perimeters 2011-11-17 10:38:23 +01:00
Alessandro Ranellucci 580f42c1de Use the same bridging logic for "reverse bridges" (top surfaces) 2011-11-17 10:34:40 +01:00
Alessandro Ranellucci 8aca717209 Print solid infill without cutting an internal surface under small regions such as pillars. #39 2011-11-16 16:35:20 +01:00
Alessandro Ranellucci 47c0da8110 Bugfix: some solid layers were skipped. #47 2011-11-16 14:53:30 +01:00
Alessandro Ranellucci 9ab81880c9 Throw a fatal exception if no layers are detected 2011-11-16 10:26:47 +01:00
Alessandro Ranellucci 55f00fdb35 Little refactoring, removing useless methods 2011-11-16 10:16:01 +01:00
Alessandro Ranellucci 2abd8fe240 Bugfix: bottom layer speed settings were ignored. 2011-11-15 12:02:31 +01:00
Alessandro Ranellucci e65349469b Disable M104 if temperature is 0 2011-11-15 12:00:09 +01:00
Alessandro Ranellucci 9e42158582 Remove G92 E0 if --no-extrusion was supplied 2011-11-14 18:14:12 +01:00
Alessandro Ranellucci e51310e1b0 Moved print settings to first tab 2011-11-14 17:21:44 +01:00
Alessandro Ranellucci 612b2e6ded Slic3r::Fill::PlanePath was not explicitely included, puzzling the packager 2011-11-14 15:23:17 +01:00
Alessandro Ranellucci 8263a5d16d Raise version to 0.5.0 2011-11-14 13:21:04 +01:00
Alessandro Ranellucci c2a2d9ae6d Combine Z changes and retractions using G0. #51 2011-11-14 12:45:20 +01:00
Alessandro Ranellucci db35faeabb New experimental --g0 option for fast retractions. #51 2011-11-14 12:15:32 +01:00
Alessandro Ranellucci 12b06b0ab0 Speed boost for new infill patterns. #20 2011-11-14 10:54:04 +01:00
Alessandro Ranellucci 86f3e4fcd2 Implemented a new "line" fill pattern. #20 2011-11-14 10:31:07 +01:00
Alessandro Ranellucci d47a7bebbc Display current version in GUI 2011-11-13 22:57:58 +01:00
Alessandro Ranellucci 60f6ce363e GUI text boxes for start/end GCODE. #12 2011-11-13 22:48:21 +01:00
Alessandro Ranellucci b2f0f85d96 Reorganized GUI with tabs 2011-11-13 22:22:34 +01:00
Alessandro Ranellucci 8f32ee8f5a Bugfix: recent changes broke the "Infill every N layers" feature 2011-11-13 21:46:32 +01:00
Alessandro Ranellucci ba1b59f54c New --close-after-slicing option to allow for easy integration with Pronterface 2011-11-13 20:45:15 +01:00
Alessandro Ranellucci a10d13120c Better toolpaths for infills with different density 2011-11-13 20:22:44 +01:00
Alessandro Ranellucci fe9ed84f64 Infill is now overlapped with perimeters by 15%. #19 2011-11-13 19:25:15 +01:00
Alessandro Ranellucci 75a71a23a5 New --first-layer-height-ratio option. #36 2011-11-13 19:08:19 +01:00
Alessandro Ranellucci 097b8d9acb New --skirt-height option. #11 2011-11-13 18:41:12 +01:00
Alessandro Ranellucci b123194522 New --no-extrusion option to disable E values 2011-11-13 18:26:31 +01:00
Alessandro Ranellucci 76dfda3b09 Comment for M104 was erroneously saying that it would wait for temperature. #49 2011-11-13 18:22:33 +01:00
Alessandro Ranellucci a2b4f9f671 Use nozzle diameter as flow width when bridging 2011-11-13 18:21:25 +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 041e9877a3 Bugfix: parsing fatal error on Windows. #38 2011-11-12 11:57:22 +01:00
Alessandro Ranellucci a13e4c6fb5 Detect membranes (solid parts generating both a bottom and a top surface on the same layers) and don't infill twice. #28 2011-11-12 11:05:32 +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 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