Commit Graph

254 Commits

Author SHA1 Message Date
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
Alessandro Ranellucci
464400a37b Bugfix: when skirt distance was set to zero, the first loop coincided with the outer perimeter of the object 2012-06-23 17:44:05 +02:00
Alessandro Ranellucci
05e4571310 Do perimeters from outside to inside. #466 2012-06-23 17:41:44 +02:00
Alessandro Ranellucci
b926e0b27d Support material lines need to be white 2012-06-11 20:42:39 +02:00
Alessandro Ranellucci
55ed4af06e DLP support material in SVG output (untested) 2012-06-11 14:47:48 +02:00
Alessandro Ranellucci
1f35a3f6aa Fixed regression preventing SVG export to work properly. #428 2012-06-11 13:50:38 +02:00
Alessandro Ranellucci
c0c84d13b8 Always set bed temperature after first layer if first layer temperature is set. #427 2012-06-11 13:43:23 +02:00
Alessandro Ranellucci
3e94add8a8 Pass config options as environment variables to post-processing scripts 2012-06-09 17:52:03 +02:00
Alessandro Ranellucci
82dd3c7a3e New --perimeters-extrusion-width and --infill-extrusion-width options. #302 2012-06-06 18:05:03 +02:00
Alessandro Ranellucci
8a031fe501 New --first-layer-extrusion-width option. #385 2012-06-06 17:29:12 +02:00
Alessandro Ranellucci
aedb6cc35f Accept both relative and absolute extrusion width values. #151 2012-06-06 15:23:34 +02:00
Alessandro Ranellucci
ea83c562c1 Fixed regression caused by sequential printing code preventing skirt to extend past first layer. #396 2012-05-31 09:37:39 +02:00
Alessandro Ranellucci
8aa20cd784 Fixed the "Export SVG..." menu item. #399 2012-05-30 12:06:01 +02:00
Alessandro Ranellucci
bc4b4a981b Take extruder clearance radius into account when autopositioning 2012-05-29 09:38:53 +02:00
Alessandro Ranellucci
34e3dfdb08 Large memory savings (down to about 50%) for high-res input files 2012-05-28 19:58:27 +02:00
Alessandro Ranellucci
5a78111efa Options to set extruder clearance for sequential printing and graphical preview of collisions 2012-05-23 11:47:52 +02:00
Alessandro Ranellucci
e7d609db12 Fix previous commit about slicing from smallest to tallest 2012-05-21 20:23:17 +02:00
Alessandro Ranellucci
e4b37db13f Print objects from the smallest to the tallest to avoid extruder collisions (this applies when using the complete_objects setting) 2012-05-21 20:19:30 +02:00
Alessandro Ranellucci
181f750618 Invert SVG colors for DLP printing. #380 2012-05-21 18:29:19 +02:00
Alessandro Ranellucci
ce6b4aeaee New option to print each object completely before moving onto next one (watch out for extruder collisions, Slic3r isn't doing any check since it doesn't know its shape) 2012-05-20 20:08:59 +02:00
Alessandro Ranellucci
731367a6a0 Bugfix, support material still not working well after memory optimizations 2012-05-20 11:44:30 +02:00
Alessandro Ranellucci
1998801a58 Read OBJ files. #324 2012-05-20 11:40:37 +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
edbdc5ec55 New automatic detection of additional required perimeters for better quality with domes and sloping walls. #198 2012-05-05 16:36:10 +02:00
Alessandro Ranellucci
847cf3c5b8 Bugfix: when slicing the same plate multiple times, the results contained old and duplicate data 2012-05-02 15:20:05 +02:00
Alessandro Ranellucci
7ee08be0b8 Allow [version], [timestamp], [year], [month], [day], [hour], [minute], [second] in filenames. #318 2012-05-01 15:02:33 +02:00
Alessandro Ranellucci
49ff9a0ebe Emit G92 E0 when in relative mode. #322 2012-05-01 14:49:41 +02:00
Alessandro Ranellucci
0f3cbe6fa4 Bugfix: G-code errors with multiple objects 2012-05-01 13:18:01 +02:00
Alessandro Ranellucci
54e1d934a7 Fixed regression with support material 2012-04-30 23:36:49 +02:00
Alessandro Ranellucci
d03925a18d New GUI with plating facilities 2012-04-30 14:56:01 +02:00
Alessandro Ranellucci
4bc49dcc5b Fixed regression throwing fatal error when using --duplicate-grid 2012-04-29 19:01:18 +02:00
Alessandro Ranellucci
ed4a5739f6 Multiple objects autoplating (--merge, from command line only) 2012-04-29 12:51:20 +02:00
Alessandro Ranellucci
285caffa9c Omit G92 if No Extrusion 2012-04-16 20:06:53 +02:00
Alessandro Ranellucci
96d5e513b8 Rename $Slic3r::resolution to $Slic3r::scaling_factor 2012-04-16 14:05:38 +02:00
Alessandro Ranellucci
d51ba94e8a Remove XXX from dependencies 2012-04-16 14:03:36 +02:00
Alessandro Ranellucci
356e750cf4 Bugfix: support material was oversimplifying the first outer perimeter. #314 2012-04-16 13:48:55 +02:00
Alessandro Ranellucci
0faebad4da Make new support material algorithm effective 2012-04-14 19:47:33 +02:00
Alessandro Ranellucci
74c02e7aed added skirt to print size calculation for --duplicate
Conflicts:

	lib/Slic3r/Print.pm
2012-04-11 20:44:09 +02:00
Michael Moon
757f8a2404 move duplicate stuff around a bit 2012-04-12 03:30:15 +10:00
Alessandro Ranellucci
e58ed195fd New --bed-size option 2012-04-11 16:30:58 +02:00
Alessandro Ranellucci
4ae551a424 Ditch --duplicate-x and --duplicate-y, add --duplicate-grid 2012-04-11 15:58:09 +02:00
Alessandro Ranellucci
a8adff53ca New implementation of support material 2012-04-09 22:06:30 +02:00
Alessandro Ranellucci
82a16ed8ee Merge branch 'triffid-duplicate' 2012-04-09 15:14:40 +02:00
Michael Moon
f2edfd1a76 initial implementation of algorithm for #249
fix typo that put things in the wrong position

use int() builtin instead of POSIX::floor()

fix typo

use alternate method of creating local routines

remove aliases for new duplicate option

use coderefs for linear interpolate function, make binary insertion sort inline

add \n at end of die message regarding too many objects for print area

fix case where no duplication is done

fix whitespace according to slic3r coding style

assume 200x200 bed area if center is 0,0

Some cleanup to the autoarrange duplication logic
2012-04-09 15:14:07 +02:00
Alessandro Ranellucci
64e669d893 Refactored parallelization code. #154 2012-04-09 13:53:13 +02:00
Alessandro Ranellucci
68b48fa807 Multithreaded mesh processing. #154 2012-04-09 12:29:47 +02:00
Alessandro Ranellucci
43ebaa9d94 Don't slow down travel moves. #293 2012-04-03 14:22:18 +02:00
Alessandro Ranellucci
13e573a8e4 Only output M109 if there's none in user-supplied start G-code 2012-04-03 12:50:06 +02:00
Alessandro Ranellucci
0afb5ad9dd Bugfix: some holes were filled. #291 2012-04-02 11:40:12 +02:00
Alessandro Ranellucci
d791315b4a Bugfix: fatal error when generating skirt for layers having only two-point thin walls. #295 2012-03-31 18:32:53 +02:00
Alessandro Ranellucci
1355833cbf Use M109 for Makerbot bed control. #294 2012-03-31 18:24:12 +02:00
Alessandro Ranellucci
2aa786c95f Bugfix: extrude_skirt() was assuming that a copy existed at 0,0 (not harmful but incorrect) 2012-03-26 19:47:21 +02:00
Alessandro Ranellucci
69942d2076 Bugfix: certain values of first layer height ratio caused slicing errors 2012-03-11 16:31:39 +01:00
Alessandro Ranellucci
d0807aa807 Allow to use config options in start/end G-code 2012-03-03 23:29:08 +01:00
Alessandro Ranellucci
f2032686da Ensure fan is turned off at start if disable_fan_first_layers > 0 2012-03-03 23:18:02 +01:00
Michael Moon
35e7877437 bed temperature handling. TODO: gui elements 2012-03-03 23:08:50 +01:00
Alessandro Ranellucci
2c16509e8a Slowdown wasn't triggered when fan_below_layer_time was set to zero. #237 2012-03-03 22:28:44 +01:00
Alessandro Ranellucci
06c22c9db3 New --fan-always-on option. #241 #110 2012-03-03 22:21:30 +01:00
Alessandro Ranellucci
c7006fed26 Bugfix: an awful _BRIDGE_FAN_END string was sometimes left in the output. #245 2012-03-03 22:16:38 +01:00
Alessandro Ranellucci
b5cba48e55 Put the relative E checkbox back in the GUI and disable M82/M83 for MakerBot 2012-03-03 21:27:33 +01:00
Alessandro Ranellucci
f0e434f8c1 Fix typo in previous commit and in config options. #234 2012-02-28 22:04:48 +01:00
Alessandro Ranellucci
0520d1645b Bugfix: retraction wasn't triggered when moving between copies. #232 2012-02-28 21:55:32 +01:00
Alessandro Ranellucci
79bc2240fb Use first layer temperature for M109 too 2012-02-26 15:09:28 +01:00
Alessandro Ranellucci
dccd7d19a9 First layer temperature. #134 2012-02-26 14:54:38 +01:00
Alessandro Ranellucci
170d29a789 New --cooling option and checkbox to enable/disable fan and cooling control 2012-02-25 21:56:36 +01:00
Alessandro Ranellucci
70e69be60a Bugfix: support material was generated under most bridges 2012-02-25 21:39:01 +01:00
Alessandro Ranellucci
1d0a852679 Cooling and fan control. #110 2012-02-25 21:01:00 +01:00
Alessandro Ranellucci
f4fde54bf3 Add extrusion multiplier to gcode comments. #222 2012-02-25 19:24:46 +01:00
Alessandro Ranellucci
848bf91244 Multithreaded support material generation 2012-02-25 16:51:08 +01:00
Alessandro Ranellucci
cc695c6c22 Support material: refactoring 2012-02-25 16:23:41 +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
94e673e050 Backwards compatibility for people using relative E distances on RepRap firmwares 2012-02-24 23:12:16 +01:00
Alessandro Ranellucci
555c23069d New --post-process option. Includes some cleaning of the STDOUT messages 2012-02-20 12:50:05 +01:00
Alessandro Ranellucci
ae35df716f Little refactoring, new TriangleMesh->align_to_origin method 2012-02-20 11:47:21 +01:00
Alessandro Ranellucci
615bcb27dd New --gcode-flavor option. extrusion_axis, use_relative_e_distances options hidden and implied. #158 2012-02-20 11:44:30 +01:00
Alessandro Ranellucci
94a2585b97 Dual extruder for support material 2012-02-19 17:02:49 +01:00
Alessandro Ranellucci
7b67fae686 Support material 2012-02-19 12:03:36 +01:00
Alessandro Ranellucci
e0e2023a5a Duplication is now performed on generated toolpaths instead of mesh (speed boost). #179 2012-02-19 10:48:58 +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