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
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
Alessandro Ranellucci
f814ccf062
Refactoring: use indexed vertices
2012-02-17 13:56:17 +01:00
Alessandro Ranellucci
68f001a7de
Mark acceleration settings as experimental and add a M501 command at the end of the print if acceleration control is enabled
2012-02-14 21:57:53 +01:00
Alessandro Ranellucci
74c71b4ef2
Acceleration control. #185
2012-02-10 14:53:44 +01:00
Alessandro Ranellucci
ad8c9d4ea1
Bugfix: model with rounded walls had small useless infill regions. #177
2012-02-10 14:42:54 +01:00
Henrik Brix Andersen
121895d3fc
Add support for notes field in configuration profiles. #130
2012-02-05 20:55:17 +01:00
Alessandro Ranellucci
4a9672bd88
Use about 40% less memory
2012-01-28 21:52:31 +01:00
Alessandro Ranellucci
a4194554c9
Write single wall width (extrusion width) to the G-code file
2012-01-21 17:02:55 +01:00
Alessandro Ranellucci
a0ebee2ca3
Warn if no layers were detected
2012-01-21 11:34:03 +01:00
Alessandro Ranellucci
92cdaf2f2d
Retract at end of print
2012-01-20 14:48:51 +01:00
Alessandro Ranellucci
bba91fc0a5
Some better debug messages and a note about self-intersecting polygons. #160
2012-01-18 18:59:34 +01:00
Alessandro Ranellucci
0184b0f205
Fixed many little things that were not updated along with recent large refactoring. #157 #144
2012-01-11 20:13:26 +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
4b2bd7f779
Bugfix: wrong month number in output
2011-12-30 18:57:58 +01:00
Alessandro Ranellucci
f08ebe97b2
Bugfix: fatal error for some models and thin walls not considered for skirt
2011-12-30 18:51:48 +01:00
Alessandro Ranellucci
1c7564e4a4
Thin walls. #24
2011-12-30 17:17:37 +01:00
Alessandro Ranellucci
55045e0437
Limit skirt height to the print height. #128
2011-12-22 11:57:26 +01:00
Alessandro Ranellucci
caf41f07dd
Output required filament length and volume to command line and to the gcode file itself
2011-12-20 15:29:15 +01:00
Alessandro Ranellucci
627e1b32e2
Add Slic3r version to gcode comment
2011-12-20 14:20:39 +01:00