Commit Graph

333 Commits

Author SHA1 Message Date
Alessandro Ranellucci
ad9be0e4d7 Bugfix: crash when reading/writing files to paths containing non-ASCII characters on Windows. #651 #865 2013-01-13 10:18:34 +01:00
Alessandro Ranellucci
48e00a4c40 Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	lib/Slic3r/GCode.pm
	lib/Slic3r/GUI/Plater.pm
	lib/Slic3r/Print.pm
	lib/Slic3r/SVG.pm
2013-01-12 19:00:18 +01:00
Alessandro Ranellucci
3d03faf0b2 Remove leftover M501 2013-01-10 17:19:38 +01:00
Alessandro Ranellucci
32fd58d531 Acceleration control. #185 2013-01-10 15:29:40 +01:00
Alessandro Ranellucci
30d9b2e508 Refactoring: initialize all layers at once and avoid duplication of slicing height math. #637 2013-01-01 23:28:48 +01:00
Alessandro Ranellucci
15f07197d8 Don't store ->surfaces anymore. Save memory, save time 2012-12-22 23:57:39 +01:00
Alessandro Ranellucci
dcc0ce78db Fix warning 2012-12-20 17:03:50 +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
68e302fe27 Fix exporting G-code 2012-11-23 11:24:04 +01:00
Alessandro Ranellucci
2abf2be781 New testing framework 2012-11-21 20:41:14 +01:00
Alessandro Ranellucci
de0640603a Append full config when --gcode-comments is enabled 2012-11-18 19:53:52 +01:00
Alessandro Ranellucci
c99ff0cfe2 Apply Douglas-Peucker to all paths before generating G-code 2012-11-18 17:38:08 +01:00
Alessandro Ranellucci
93bb2c1056 Bugfix: fatal error when using brim and no skirt. #784 2012-11-07 23:06:32 +01:00
Alessandro Ranellucci
1db614a5a9 Revert "Use G92 to apply Z offset. #486" #778 2012-11-06 20:04:44 +01:00
Alessandro Ranellucci
ab2b31672f Fixed regression causing a long string between copies 2012-11-06 19:54:21 +01:00
Alessandro Ranellucci
0a912c6316 Only apply min_skirt_length on bottom layer 2012-11-05 14:26:55 +01:00
Alessandro Ranellucci
68e1edab80 Require Math::Clipper 1.14 and increase scale factor for offset(). #720 2012-11-05 00:17:46 +01:00
Mark Hindess
705d6b3179 Quick fix for support material. 2012-11-02 22:39:08 +00:00
Alessandro Ranellucci
25d88bddff Remove the change_layer method 2012-10-30 14:11:32 +01:00
Alessandro Ranellucci
4c6fe0b3d4 Fixed regression preventing lift to work correctly 2012-10-30 10:45:55 +01:00
Alessandro Ranellucci
887634e1e2 Use G92 to apply Z offset. #486 2012-10-29 19:54:04 +01:00
Alessandro Ranellucci
e9ae62a9d1 New --min-skirt-length option. #269 2012-10-29 11:17:57 +01:00
Alessandro Ranellucci
c25e54a830 Expose perimeter/infill/support material extrusion widths in G-code comments 2012-10-29 00:31:25 +01:00
Alessandro Ranellucci
8da4151c6d Fix regression causing skirt to be printed at Z = 0 after a recent commit 2012-10-28 19:24:24 +01:00
Alessandro Ranellucci
ecd054a57c Don't emit T0 at the beginning of the file, so that it's generated automatically just right before starting the print 2012-10-28 17:29:01 +01:00
Alessandro Ranellucci
ccb49a8439 Do a slightly thinner interface layer at the top of support material structures by taking into account the diameter of bridge extrudates (nophead's idea) 2012-10-28 16:59:20 +01:00
Alessandro Ranellucci
cee3864fc9 Independently set number of top/bottom solid layers. #676 2012-10-25 12:21:04 +02:00
Alessandro Ranellucci
31c2e50fc6 Bugfix: bed temperature wasn't being set after the first layer when first layer bed temperature was set to zero. #760 2012-10-24 22:57:19 +02:00
Alessandro Ranellucci
50f6909475 Don't apply slowdown factor to bridges. #640 2012-10-24 22:55:03 +02:00
Alessandro Ranellucci
355031fe2f Remove unnecessary retractions 2012-10-24 19:38:18 +02:00
Alessandro Ranellucci
44016b38c5 Distribute skirt loops across all extruders 2012-10-24 19:13:40 +02:00
Alessandro Ranellucci
1627268fd4 Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	lib/Slic3r/GCode.pm
2012-10-24 11:49:31 +02:00
Alessandro Ranellucci
c793a2657f Replace Math::ConvexHull with Math::ConvexHull::MonotoneChain. #722 2012-10-22 15:29:54 +02:00
Alessandro Ranellucci
f5f9574173 Merge pull request #722 from mesheldrake/remove-dups-before-hull
use remove_coinciding_points before convex_hull
2012-10-15 02:49:30 -07:00
Alessandro Ranellucci
769134bb6f Fixed regression causing skirt ignoring the first layer extrusion width override. #728 2012-10-15 10:57:15 +02:00
Alessandro Ranellucci
8ac367bfa7 If brim overlaps with skirt, make brim around skirt too instead of just ignoring skirt on first layer 2012-10-14 22:10:49 +02:00
Alessandro Ranellucci
22b312395a Fix SVG/DLP support material. #673 2012-09-28 16:32:53 +02:00
Alessandro Ranellucci
f50b0040ef Bugfix: the grow() method wasn't working properly, causing bad brim/support material interface. #639 2012-09-28 15:27:33 +02:00
Mike Sheldrake
4b91496edd use remove_coinciding_points before convex_hull
convex_hull returns polygons with sharp concaves sometimes when
duplicate points are present
2012-09-27 06:47:38 -07:00
Alessandro Ranellucci
bbe0a45b58 Optimization: cache scaled flow width and spacing 2012-09-23 03:03:08 +02:00
Alessandro Ranellucci
ec0d3987db Rename materials to regions 2012-09-23 02:52:31 +02:00
Alessandro Ranellucci
e696764af8 Assign extruders and flows to materials 2012-09-23 02:40:25 +02:00
Alessandro Ranellucci
e2ab340edb Fix positioning and other things 2012-09-22 21:03:57 +02:00
Alessandro Ranellucci
d488afd243 More work (breaks centering and internal surfaces detection) 2012-09-22 19:38:25 +02:00
Alessandro Ranellucci
02356fd613 Large refactoring to allow processing multimaterial files 2012-09-22 19:04:36 +02:00
Alessandro Ranellucci
04be94023b Refactoring: move the 'copies' property to each Print::Object 2012-09-22 16:19:24 +02:00
Alessandro Ranellucci
037be34b7b Bugfix: removed fatal error when generating SVG support material in some circumstances. #673 2012-09-21 16:52:05 +02:00
Alessandro Ranellucci
c95cd5ac38 Merge branch 'master' into avoid-crossing-perimeters 2012-09-21 15:36:45 +02:00
Alessandro Ranellucci
e40f32995f Finish GUI decoupling 2012-09-21 15:04:33 +02:00
Alessandro Ranellucci
757515ba17 New [print_preset], [filament_preset] and [printer_preset] variables. #675 2012-09-21 15:04:18 +02:00
Alessandro Ranellucci
6adf98edaf Fix regression causing SVG/DLP support material to crash the application. #668 2012-09-21 15:04:16 +02:00
Alessandro Ranellucci
37ae2e1e2d Use support material extruder for brim. #653 2012-09-21 15:04:16 +02:00
Alessandro Ranellucci
47c5d410ea Remove the initial retraction compensation. Not only it is not very good for multi-head setups, but it also caused wrong first layer Z when lift was enabled. #655 2012-09-21 15:04:15 +02:00
Alessandro Ranellucci
94a096f1d2 Support legacy config files not containing first_layer_height #631 2012-09-21 15:04:11 +02:00
Alessandro Ranellucci
cc8d8bd26f Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	README.markdown
	lib/Slic3r/Config.pm
	lib/Slic3r/GCode.pm
	lib/Slic3r/Print.pm
	slic3r.pl
2012-09-12 16:04:16 +02:00
Alessandro Ranellucci
7a5071f66c New [print_preset], [filament_preset] and [printer_preset] variables. #675 2012-09-12 15:29:44 +02:00
Alessandro Ranellucci
628cc52338 Fix regression causing SVG/DLP support material to crash the application. #668 2012-09-06 11:28:24 +02:00
Alessandro Ranellucci
f41a6af343 Use support material extruder for brim. #653 2012-09-06 11:01:44 +02:00
Alessandro Ranellucci
e0a96c00b3 Remove the initial retraction compensation. Not only it is not very good for multi-head setups, but it also caused wrong first layer Z when lift was enabled. #655 2012-09-06 10:44:48 +02:00
Alessandro Ranellucci
b37af86bef Support legacy config files not containing first_layer_height #631 2012-08-30 23:04:56 +02:00
Alessandro Ranellucci
191de5d078 Unfinished work for decoupling GUI from the Print object (goal = more speed for manipulation, less memory usage) 2012-08-29 19:37:27 +02:00
Alessandro Ranellucci
f90520ed06 Refactoring: new Slic3r::Model class to represent files 2012-08-29 17:12:32 +02:00
Alessandro Ranellucci
9bd1b0f6ba Revert "Refactoring: initialize all layers at once and avoid duplication of slicing height math". #637
This reverts commit 08270022dd.
2012-08-26 17:47:00 +02:00
Alessandro Ranellucci
08270022dd Refactoring: initialize all layers at once and avoid duplication of slicing height math 2012-08-25 20:40:44 +02:00
Alessandro Ranellucci
a1ac866b84 Refactoring: turn x_length and y_length in size 2012-08-25 20:14:01 +02:00
Alessandro Ranellucci
896641cb7e Fixed regression causing some bridges not to be detected correctly. #629 2012-08-25 20:04:29 +02:00
Alessandro Ranellucci
c98e9515ed Better implementation of the external motion planner 2012-08-23 21:10:04 +02:00
Alessandro Ranellucci
0eadc5adba Manual rebase of the avoid_crossing_perimeters feature 2012-08-23 15:42:58 +02:00
Alessandro Ranellucci
b35c41c1a3 Bugfix: retraction was still not working correctly at tool change 2012-08-22 20:31:03 +02:00
Alessandro Ranellucci
4bddb66513 Always emit T0 at the beginning of a multi-extruder print 2012-08-22 19:20:34 +02:00
Alessandro Ranellucci
075213c731 Refactoring: make 'retracted' an attribute of the Extruder object 2012-08-22 18:57:03 +02:00
Alessandro Ranellucci
3c2464abf9 Bugfix: crazy temperatures were written when using sequential printing. #625 2012-08-22 17:58:38 +02:00
Alessandro Ranellucci
26e033a30c Bugfix: brim was positioned incorrectly if no skirt was enabled. #627 2012-08-19 20:30:17 +02:00
Henrik Brix Andersen
0f327ef912 Add missing use File::Spec 2012-08-07 23:37:16 +02:00
Alessandro Ranellucci
c7858912d8 Bugfix: some paths were not considered when generating brim 2012-08-07 22:04:58 +02:00
Alessandro Ranellucci
63e77fcfd8 Refactor extruder settings 2012-08-07 20:50:54 +02:00
Alessandro Ranellucci
b7d8444ac8 Take support material into account when generating brim. #490 #501 #567 2012-08-06 20:54:49 +02:00
Alessandro Ranellucci
9bfa4118a1 Bugfix: brim and skirt collision was not precisely detected when they had similar offsets. #548 2012-08-06 20:27:10 +02:00
Henrik Brix Andersen
0e620f3ad2 Make --output accept directories. #535 2012-08-01 17:12:16 +02:00
Henrik Brix Andersen
83fccf0875 Fix auto-arrange of objects 2012-07-30 19:30:41 +02:00
Alessandro Ranellucci
4c33eabc6e Slicing from plater was still using the default options 2012-07-29 17:02:46 +02:00
Alessandro Ranellucci
7e34244b05 Refactored configuration handling.
Slic3r::Config is now an object. Multiple partial config objects are used throughout the codebase as local repositories, then merged and serialized when necessary.
2012-07-27 21:16:11 +02:00
Alessandro Ranellucci
1d04e15b63 Refactor/clean up. Merge remove_small_surfaces() into prepare_fill_surfaces(), rename infill_every_layers() to combine_infill(), remove $layer->fill_boundaries, initialize layer properties explicitely for clarity. 2012-07-22 21:00:02 +02:00
Alessandro Ranellucci
3edf42e98e Little workflow simplification 2012-07-21 15:53:38 +02:00
Alessandro Ranellucci
bce2663ed8 Restore thin walls and thin fills after last commit 2012-07-20 15:02:25 +02:00
Alessandro Ranellucci
1697cb24a6 Memory optimization and code cleanup. Don't keep deserialized paths 2012-07-20 14:39:56 +02:00
Alessandro Ranellucci
3c00573805 Reset E and compensate retraction after changing extruder 2012-07-06 19:57:58 +02:00
Mark Hindess
07f2dab5f6 Fix perimeters_* options to be singular to be consistent. 2012-06-30 23:18:15 +01:00
Alessandro Ranellucci
cbb111ee64 Fix for incomplete commit causing thin gaps to throw an error 2012-06-30 17:23:55 +02:00
Alessandro Ranellucci
5eb1982081 Bugfix: brim was extruded multiple times when sequential printing was enabled 2012-06-30 16:14:45 +02:00
Alessandro Ranellucci
a7668e0933 Revert "Reduce memory usage during gcode output by discarding processed layers."
This reverts commit 4d1551c305.
2012-06-30 16:12:06 +02:00
Mark Hindess
4d1551c305 Reduce memory usage during gcode output by discarding processed layers.
As each layer is processed, it increases in size by a factor of two
or three so by the end the layer list gets quite big.  So this removes
the list entry after it's been processed.
2012-06-29 12:33:30 +01:00
Alessandro Ranellucci
fb96cdec76 Command line options to assign perimeters and infill to different extruders 2012-06-28 16:48:56 +02:00
Alessandro Ranellucci
f9f2361acb Allow setting different temperatures and first layer temperatures for each extruder. Also make support material extruder selection compatible with the new architecture 2012-06-28 16:22:11 +02:00
Alessandro Ranellucci
dbcfebeb66 Rename support_material_tool to support_material_extruder 2012-06-28 15:14:27 +02:00
Alessandro Ranellucci
898266fd34 Initial refactoring for supporting multiple extruders. Little speed optimization included 2012-06-28 14:44:54 +02:00
Alessandro Ranellucci
e72bd56b9d Rename brim_thickness to brim_width 2012-06-23 22:27:59 +02:00
Alessandro Ranellucci
48addf8c3f New feature: brim. #424 2012-06-23 21:31:29 +02:00
Alessandro Ranellucci
44c636aea1 Do not oversimplify outer perimeters and keep the full resolution of the input file. #340 #462 2012-06-23 20:08:08 +02:00
Alessandro Ranellucci
20229fccdb Bugfix: fatal error when a layer contained nothing 2012-06-23 18:31:24 +02:00