Commit Graph

598 Commits

Author SHA1 Message Date
Alessandro Ranellucci
167ec7a4e7 Use M135 for makerbot toolchange; also disable any G90 and G21 command. #1034 2013-06-03 16:21:22 +02:00
Alessandro Ranellucci
7134df4638 Only skip objects with no layers without stopping the whole job 2013-06-03 11:39:23 +02:00
Alessandro Ranellucci
895e0bbfcd Include M82/M83 for Teacup too. #1206 2013-06-02 19:58:29 +02:00
Alessandro Ranellucci
086ec4af9c Fixed yet one more regression in Quick Slice caused by recent Model refactoring. #1208 2013-06-02 19:32:53 +02:00
Alessandro Ranellucci
655d528d92 Fixed recent regression causing a spike when avoid_crossing_perimeters was used on split objects 2013-06-02 16:56:08 +02:00
Alessandro Ranellucci
49531f6f78 Fixed regression causing rotation from plater to also translate the resulting G-code. #1191 2013-05-31 19:41:31 +02:00
Alessandro Ranellucci
5c7dd2cf78 Some fixes to the cooling logic and new test suite for cooling 2013-05-31 12:18:33 +02:00
Alessandro Ranellucci
da76496988 Store config in Slic3r::GCode object 2013-05-31 11:19:36 +02:00
Alessandro Ranellucci
bbb190dc68 Generate infill using each object's bounding_box instead of full print. #1177 2013-05-19 11:35:41 +02:00
Alessandro Ranellucci
f599ed00c6 Avoid closures, move planning code to _plan() and layer G-code generation to Slic3r::GCode::Layer 2013-05-18 17:41:37 +02:00
Alessandro Ranellucci
08a0bbd7f0 Optimization: split meshes automatically when avoid_crossing_perimeters is enabled, so that we reduce the complexity of the MotionPlanner graphs. This commit includes a very large refactoring of the Model class which is now responsible for duplication and arrangement 2013-05-18 16:48:26 +02:00
Alessandro Ranellucci
55071e544f Fix brim spacing. #1174 2013-05-16 12:29:46 +02:00
Alessandro Ranellucci
4121a7ece5 Set support material enforce layers to 0 when spiral printing 2013-05-14 13:54:24 +02:00
Alessandro Ranellucci
a86c48d85c Disable retract on layer change when doing spiral vase; also check that we're printing a single-material object 2013-05-13 21:55:34 +02:00
Alessandro Ranellucci
ccdb29ddc9 New --spiral-vase option to continously raise Z when printing single-walled vases. #997 2013-05-13 20:15:45 +02:00
Alessandro Ranellucci
6e216e2fd9 New traverse_pt() 2013-05-11 09:24:48 +02:00
Alessandro Ranellucci
6b8894cf9a Rename ex_int_offset2 to offset2_ex 2013-05-10 13:56:29 +02:00
Alessandro Ranellucci
5bf3f5f5e4 Make sure brim paths don't overlap 2013-05-10 13:47:40 +02:00
Alessandro Ranellucci
4aad2f6243 Smarter ordering of brim loops. #687 2013-05-09 14:52:56 +02:00
Alessandro Ranellucci
bc9ff47d3f New module to output SVG vertical sections of extrusion paths with real width and height. The commit includes a bugfix to the Polyline->grow() method and some simplification in the Line class which is now child of Polyline 2013-04-27 15:02:13 +02:00
Mark Hindess
aac2c45450 Avoid merging meshes when there is only one mesh to merge.
When slicing yoda.stl it reduces peak memory usage by 5% and speeds up
slicing by 13%.
Further optimization using a simple proxy to implement the two methods
(size/extends) needed on the merge meshes is also possible and
undoubtedly worthwhile.
2013-04-18 19:50:05 +01:00
Alessandro Ranellucci
e088d9b3f7 Cache Slic3r::Fill object 2013-04-18 18:40:59 +02:00
Alessandro Ranellucci
b4be61b703 Bugfix: time estimates for cooling were computed for each object separately instead of the whole actual layer. #1071 2013-04-04 01:17:44 +02:00
Alessandro Ranellucci
a563801304 Merge branch 'master' of github.com:alexrj/Slic3r 2013-04-04 01:15:46 +02:00
Alessandro Ranellucci
3afeb5c7b5 Second layer commands were written multiple times 2013-04-04 00:52:11 +02:00
Devin Grady
e602aad998 inspired by f5e48a3, a seems to work to fix 1076 2013-04-01 22:12:51 -05:00
Alessandro Ranellucci
0d6ff22e19 Merge branch 'wipe' 2013-03-31 11:36:04 +02:00
Alessandro Ranellucci
ac2356f66a Don't crash at the end of empty prints. #1042 2013-03-30 00:36:14 +01:00
Alessandro Ranellucci
d2b451d9a1 Merge branch 'master' into wipe 2013-03-26 16:28:01 +01:00
Alessandro Ranellucci
2f046799f2 Removed offset() method from Slic3r::Polygon because it only works with ccw polygons 2013-03-26 14:03:24 +01:00
Alessandro Ranellucci
b7cd362820 Remove scale from G-code comments 2013-03-19 19:16:13 +01:00
Alessandro Ranellucci
9c122bda5e Fix memory leak in avoid_crossing_perimeters. #1044 2013-03-19 16:02:03 +01:00
Alessandro Ranellucci
fd2a5e894a Respect perimeter/infill order when multiple extruders are configured but only one is used 2013-03-19 11:58:03 +01:00
Alessandro Ranellucci
7de8b20bc4 New wipe feature 2013-03-17 02:22:50 +01:00
Alessandro Ranellucci
78a4ae4835 Use full flow for sparse infill by default 2013-03-17 00:21:17 +01:00
Alessandro Ranellucci
35bd5a3423 New --solid-infill-extrusion-width option 2013-03-17 00:02:31 +01:00
Alessandro Ranellucci
25554a345f Reorder object copies using a nearest neighbor search 2013-03-16 20:56:14 +01:00
Alessandro Ranellucci
cf5adca928 New --resolution option to simplify input models 2013-03-16 19:58:34 +01:00
Alessandro Ranellucci
10b6bc9d15 Removed keep_meshes 2013-03-16 19:39:00 +01:00
Alessandro Ranellucci
33b40eda18 Always fix self-intersecting polygons that Douglas-Peucker might return 2013-03-16 18:42:56 +01:00
Alessandro Ranellucci
964accb588 Typo 2013-03-10 19:07:41 +01:00
Alessandro Ranellucci
2942485a94 New option to make infill before perimeters. #1039 2013-03-10 18:15:44 +01:00
Alessandro Ranellucci
ab3d1ac820 Give priority to infill extruder if it was used last. #940 2013-03-10 17:40:19 +01:00
Alessandro Ranellucci
107f48d894 Reduce toolchanges by giving priority to last extruder on layer change. #940 2013-03-10 17:28:03 +01:00
Alessandro Ranellucci
dac168eff0 Do each island completely if avoid_crossing_perimeters is enabled. #278 2013-03-10 16:09:03 +01:00
Alessandro Ranellucci
f10a4787b2 Fix layer ordering when printing objects with different layer heights 2013-03-10 15:36:52 +01:00
Alessandro Ranellucci
f670acb4b1 Slice a single object with multiple layer heights. :-) 2013-03-10 14:58:49 +01:00
Alessandro Ranellucci
2acda9973e Don't apply acceleration settings to travel moves 2013-03-09 20:28:03 +01:00
Alessandro Ranellucci
e71bf48463 Add a command to lift nozzle in default start G-code 2013-03-09 19:51:09 +01:00
Alessandro Ranellucci
97e864699e New top-infill-extrusion-width option 2013-03-07 16:00:58 +01:00
Alessandro Ranellucci
36d24ccb0b Infill refactoring and cleanup complete 2013-03-07 15:47:32 +01:00
Alessandro Ranellucci
fafad0fd81 Code for memory usage statistics 2013-02-27 11:26:52 +01:00
Alessandro Ranellucci
c3dde74776 Fix brim and extra perimeters after recent changes to ->slices 2013-02-24 16:40:14 +01:00
Alessandro Ranellucci
08a72c0824 Use bridge math for the first solid infill layer above sparse infill. #240 2013-02-23 21:39:13 +01:00
Alessandro Ranellucci
91bcfc8a74 Remove $Slic3r::flow and $Slic3r::first_layer_flow 2013-02-22 16:08:11 +01:00
Alessandro Ranellucci
cac79c0575 New option to only infill where strictly needed for supporting ceilings 2013-02-09 23:36:32 +01:00
Alessandro Ranellucci
090e3b1fe3 Rename shortest_path to chained_path, which reflects its algorithm more correctly 2013-02-05 17:27:45 +01:00
Alessandro Ranellucci
11637d527a Bugfix: avoid-crossing-perimeters was failing on layers only containing single walls. #978 2013-02-04 19:33:30 +01:00
Alessandro Ranellucci
8efe46e58d New option to enforce support material on a given number of layers to improve adhesion of objects with poor footprint 2013-02-04 15:48:57 +01:00
Alessandro Ranellucci
9222526e03 Customizable number of interface layers for support material and raft 2013-02-03 17:23:50 +01:00
Alessandro Ranellucci
c7b4d99d7e Generate raft automatically even when support material is disabled 2013-02-02 16:16:43 +01:00
Alessandro Ranellucci
f1230312e3 Fixes for merge issues 2013-01-26 23:55:47 +01:00
Alessandro Ranellucci
61b164b539 Merge branch 'master' into avoid-crossing-perimeters
Conflicts:
	lib/Slic3r/GCode.pm
	lib/Slic3r/Print.pm
2013-01-26 21:45:17 +01:00
Mike Sheldrake
65ef3b35d9 limit layer requests to object->layer_count when preparing skirt #901
Each object on the plater was being queried for points for
producing the skirt for all skirt layers, even when the object was
shorter than the skirt.

layers of the print
2013-01-18 08:36:01 -08:00
Alessandro Ranellucci
177347137f New G-code flavor for Sailfish (thanks to fros1y for working on it). #826 2013-01-17 14:56:31 +01:00
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
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
Alessandro Ranellucci
1e6ecd9eab Corrections to math. Threads are not always rectangles with semicircles. Better calculation of overlap. 2011-12-17 19:52:34 +01:00
Alessandro Ranellucci
f5eb4f03e1 Skirt can be disabled by either setting skirts to 0 or skirt-height to 0 2011-12-16 09:55:13 +01:00
Alessandro Ranellucci
b422537cc4 Bugfix: do not die when no layers are detected at all 2011-12-15 20:36:46 +01:00
Alessandro Ranellucci
56691c1dea Model extrusion threads as rectangles with semicircles at the end. Remove overlap_ratio setting. #109 #112 2011-12-13 17:34:31 +01:00
Alessandro Ranellucci
869cb48c1a Merge branch 'master' of github.com:alexrj/Slic3r 2011-12-12 17:35:18 +01:00
Alessandro Ranellucci
3c2b2cfef2 Bugfix: duplicate options did not work correctly for copies > 2. #113 2011-12-12 17:32:45 +01:00
Richard Goodwin
557afcc4b1 Added scale to settings output 2011-12-11 15:32:47 -06:00
Alessandro Ranellucci
0a74e068a3 Merge branch 'infill-overlap' 2011-12-08 10:53:24 +01:00
Alessandro Ranellucci
d9a70ea80d Customizable overlap ratio (it defaults to 0.15 now) 2011-12-08 10:53:07 +01:00
Alessandro Ranellucci
1f64a01ed4 Remove empty layers from bottom. They could be caused by little contact with the print bed, resulting in the need of thin walls. While thin walls will be supported one day, it's still not optimal to have so little contact on bottom layer(s), so we remove such layers. #96 2011-12-08 10:25:19 +01:00
Alessandro Ranellucci
525855dc7d Bugfix: fatal error when combining infills. #96 2011-12-07 20:15:08 +01:00
Alessandro Ranellucci
2ba513bdb2 Bugfix: after recent changes, objects had slight dimension errors. #56 2011-12-05 18:48:48 +01:00
Alessandro Ranellucci
3d0cde2fce Fixed regression. The repair algorithm was not working after recent changes. Releasing 0.5.5b. #16 #28 2011-12-05 13:01:02 +01:00
Alessandro Ranellucci
eb64cc4965 More fixes for bridges. #58 2011-12-04 18:37:37 +01:00
Alessandro Ranellucci
0aff5fab24 Connect infill segments and adjust spacing and flow rate to fill the area completely without leaving gaps. #89 2011-12-04 16:24:46 +01:00
Alessandro Ranellucci
4fe340cc56 Many fixes to the bridge direction detection algorithm and other things. #58 2011-12-03 18:31:31 +01:00
Alessandro Ranellucci
792960aae1 Slic3r should now be able to detect optimal bridging direction for any kind of bridge. #58 2011-12-02 23:35:39 +01:00
Alessandro Ranellucci
52c9897eda New --extrusion-axis option; removed --no-extrusion 2011-12-01 22:34:21 +01:00
Alessandro Ranellucci
830965fc0b Note used settings in exported gcode. #52 2011-12-01 22:20:48 +01:00
Alessandro Ranellucci
2a02d26ca5 Fixed regression: fill density = 0 was preventing extra solid layers. #75 2011-12-01 21:15:02 +01:00
Alessandro Ranellucci
b03afc7f1c Bugfix: some bridges were not detected correctly. #57 2011-11-30 20:32:28 +01:00
Alessandro Ranellucci
42383dec84 Warn about models with overlapping or intersecting facets but try to repair wrong layers. #16 2011-11-30 16:28:09 +01:00
Alessandro Ranellucci
d51a37a0ae Refactoring: moved slicing code to new TriangleMesh class, leaving in STL just what's needed to read that particular input format. Slic3r will now warn if model is not manifold. #16 2011-11-30 16:07:31 +01:00
Alessandro Ranellucci
d168ecbb4e Bugfix: fill density = 0 was preventing generation of extra solid layers. #75 2011-11-29 10:15:50 +01:00
Alessandro Ranellucci
975387d953 New --bridge-feed-rate option. #68 2011-11-28 18:37:53 +01:00
Alessandro Ranellucci
4cdd0f6fd0 Bugfix: sparse and wrong infill was generated for objects with null fill density. Also fixed a division by zero. 2011-11-27 10:12:44 +01:00
Alessandro Ranellucci
afd8e0a1bd Bugfix: setting temperature to zero didn't remove it from output 2011-11-26 15:11:11 +01:00
Alessandro Ranellucci
f3b689d4e0 Bugfix: infill every 'n' layers was broken after recent changes 2011-11-25 18:16:31 +01:00
Alessandro Ranellucci
47d347e1b2 Revert "Disable retraction when moving over infill space. #29"
This reverts commit d6ed9c6f34.
2011-11-24 12:53:09 +01:00
Alessandro Ranellucci
8598b66b0a Large refactoring. Cleaner logic, smaller memory footprint. 2011-11-23 12:29:27 +01:00
Alessandro Ranellucci
13ef24b5eb Fixes, improvements and refactoring for bridges and solid surfaces. 2011-11-23 09:49:39 +01:00
Alessandro Ranellucci
d13a0e2503 Bugfix: no top surfaces when they were too close to bridges 2011-11-22 21:45:05 +01:00
Alessandro Ranellucci
84d9f5fd9d Bugfix: some regions near bridges were left blank. #58 2011-11-21 21:05:00 +01:00
Alessandro Ranellucci
00beb7e118 Merge branch 'new-bridges' 2011-11-21 12:49:41 +01:00
Alessandro Ranellucci
d6ed9c6f34 Disable retraction when moving over infill space. #29 2011-11-21 12:37:12 +01:00
Alessandro Ranellucci
ed9b4e829c Add a M109 for temperature control 2011-11-19 17:37:04 +01:00
Alessandro Ranellucci
4a9fc942cb Add a M109 for temperature control 2011-11-19 17:32:37 +01:00
Alessandro Ranellucci
a1c766cc52 New bridging logic, more robust. #58 2011-11-19 16:44:24 +01:00