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
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
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
8f32ee8f5a
Bugfix: recent changes broke the "Infill every N layers" feature
2011-11-13 21:46:32 +01:00
Alessandro Ranellucci
097b8d9acb
New --skirt-height option. #11
2011-11-13 18:41:12 +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
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
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
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
56619871b2
Bugfix: some bridges had wrong perimeters inside
2011-10-13 22:22:45 +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
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
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
743f2abcf2
Detection of optimal infill direction for bridges. Includes many fixes and improvements.
2011-10-07 19:07:57 +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
33d7b8c7cf
Code refactored to allow for multiple infill types
2011-10-06 15:13:09 +02:00
Alessandro Ranellucci
2da5ee7448
Bugfixes and improvements in surface detection
2011-10-04 22:27:45 +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
b61b543243
Minor cleanups
2011-09-26 19:53:01 +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
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
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
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
a5ba0af7ef
Generate GCODE
2011-09-03 20:47:38 +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