Alessandro Ranellucci
c57a88c943
start_perimeters_at_non_overhang was still partially enforced
2013-07-07 19:11:23 +02:00
Alessandro Ranellucci
a1e4bda670
Have Clipper.pm only return ExPolygon::XS objects
2013-07-07 15:17:09 +02:00
Alessandro Ranellucci
f455ecb7da
Rename adjust_overhang_flow to overhangs
2013-07-06 11:35:40 +02:00
Alessandro Ranellucci
f8ae8d3e8d
New option to disable overhang flow
2013-07-05 22:12:58 +02:00
Alessandro Ranellucci
0a7e0ffecf
New options: start_perimeters_at_concave_points start_perimeters_at_non_overhang
2013-07-05 22:06:58 +02:00
Alessandro Ranellucci
339c487077
Fix starting point after overhang clipping is performed
2013-07-05 17:25:56 +02:00
Alessandro Ranellucci
b3b2a1e891
One more fix in overhang starting point detection
2013-07-05 17:08:26 +02:00
Alessandro Ranellucci
df4612a209
Prefer starting points that are NOT in overhangs
2013-07-05 17:00:14 +02:00
Alessandro Ranellucci
d074b98aba
Optimization: don't store wipe path if wipe is not requested
2013-07-05 15:03:08 +02:00
Alessandro Ranellucci
8061cc6e30
Optimization in Polyline instantiation
2013-07-05 14:44:41 +02:00
Alessandro Ranellucci
1e3ce9b8c4
Complete retraction if the wipe path was too short for the full retract. #1264
2013-06-23 00:10:57 +02:00
Alessandro Ranellucci
c03f9f0197
Fixed regression causing wrong direction for inwards move in holes. Includes regression test. #1265
2013-06-23 00:05:08 +02:00
Alessandro Ranellucci
aba7641fe4
Avoid starting loops on convex vertices and/or overhangs. #296 #135
2013-06-21 19:43:15 +02:00
Alessandro Ranellucci
19b40baf55
Add regression test to ensure fan is enabled when printing overhangs. #432
2013-06-21 15:38:58 +02:00
Alessandro Ranellucci
c707073a73
Some fixes about overhang detection. Includes regression tests
2013-06-21 14:52:35 +02:00
Alessandro Ranellucci
f5322596d9
Note to self in code
2013-06-20 20:16:15 +02:00
Alessandro Ranellucci
7e875393f5
New algorithm for overhang detection
2013-06-20 20:11:46 +02:00
Alessandro Ranellucci
07407e5dbd
Merge branch 'master' into overhang
...
Conflicts:
lib/Slic3r/GCode.pm
2013-06-16 10:49:33 +02:00
Alessandro Ranellucci
b12a09ed71
Rename makerbot G-code flavor to makerware; also mention Repetier among RepRap firmwares. #1034
2013-06-07 23:24:53 +02:00
Alessandro Ranellucci
8c40cefe1e
Also use G1 when traveling with avoid_crossing_perimeters enabled
2013-06-05 17:12:34 +02:00
Alessandro Ranellucci
532ae53d0b
Use G1 instead of G0 for restart after retraction to avoid blending with the previous travel move. #1212
2013-06-05 16:58:30 +02:00
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
974379c955
Add M103 after retraction and M101 before restart when Makerbot G-code flavor is selected. #1119
2013-06-03 15:37:32 +02:00
Alessandro Ranellucci
71608e799e
Keep per-extruder E absolute value for Makerbot flavour to avoid any G92 E0. #950
2013-06-03 15:27:58 +02:00
Alessandro Ranellucci
81bae56e92
Limit only_retract_when_crossing_perimeters to travel moves that are completely enclosed in the upper layer's slices so that we avoid visible traces on top layers. #1091
2013-06-03 12:25:32 +02:00
Alessandro Ranellucci
da76496988
Store config in Slic3r::GCode object
2013-05-31 11:19:36 +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
575127151b
New algorithm for overhang detection
2013-05-14 20:19:42 +02:00
Alessandro Ranellucci
ece6dd8a0b
Only make the inwards move when we have more than one perimeter
2013-05-13 19:35:42 +02:00
Alessandro Ranellucci
94ed6cd239
Always move Z at travel speed. #1093
2013-04-08 22:23:51 +02:00
Alessandro Ranellucci
88e70a59c7
Don't wipe if option is disabled
2013-04-03 19:08:12 +02:00
Alessandro Ranellucci
d089d2b2d4
Bugfix: crash introduced by wipe
2013-04-03 19:06:33 +02:00
Alessandro Ranellucci
843a700e96
Fixes for wipe
2013-03-25 23:06:18 +01:00
Alessandro Ranellucci
7de8b20bc4
New wipe feature
2013-03-17 02:22:50 +01:00
Alessandro Ranellucci
537fca47c5
Use solid infill speed for internal bridges; apply slowdown if any; don't use bridge fan settings. #240
2013-03-17 00:42:53 +01:00
Alessandro Ranellucci
b73c301c55
Bugfix: double lift at toolchange. #953
2013-03-11 17:06:05 +01:00
Alessandro Ranellucci
e9c7460c11
New --bridge-acceleration option
2013-03-09 20:31:09 +01:00
Alessandro Ranellucci
2acda9973e
Don't apply acceleration settings to travel moves
2013-03-09 20:28:03 +01:00
Alessandro Ranellucci
460e169c67
New option to disable retraction on layer change
2013-03-09 20:05:43 +01:00
Alessandro Ranellucci
d50e0af548
Make sure the inwards move after last perimeter loop doesn't exceed object boundary
2013-03-09 17:15:45 +01:00
Alessandro Ranellucci
4fc435f0fd
Bugfix: retract speed was applied to travel
2013-03-08 17:52:33 +01:00
Alessandro Ranellucci
f494335f77
Bugfix: not all the calls to travel_to() were updated
2013-03-08 13:50:50 +01:00
Alessandro Ranellucci
2f192bddca
Make tests happy
2013-03-07 16:24:25 +01:00
Alessandro Ranellucci
37810f777f
Make only_retract_when_crossing_perimeters work with avoid_crossing_perimeters
2013-03-05 17:30:27 +01:00
Alessandro Ranellucci
70092a9cf5
Apply only_retract_when_crossing_perimeters to all infills
2013-03-04 23:37:58 +01:00
Robert Giseburt
6c12bd32ad
Fix for Replicator 1 not finishing builds.
...
If the progress reaches 100% before last layer, the firmware erroneously stops reading the file.
2013-02-06 22:32:37 -06:00
Alessandro Ranellucci
73a661e6c1
shortest_path() in MotionPlanner was actually correctly named shortest_path()
2013-02-05 19:41:56 +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
ddaeaa7591
Fix last_pos shifting and add unit test
2013-01-27 13:08:13 +01:00
Alessandro Ranellucci
ad48fdc7f9
Fix external motionplanner too
2013-01-27 12:48:16 +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
Alessandro Ranellucci
73c70021df
Change toolchange and G92 E0 order for makerbot and sailfish G-code flavors. #855
2013-01-17 15:02:40 +01: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
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
32fd58d531
Acceleration control. #185
2013-01-10 15:29:40 +01:00
Alessandro Ranellucci
e59ed7efb7
New toolchange_gcode option. #547
2012-12-23 16:29:08 +01:00
Alessandro Ranellucci
8cd8e8b209
Merge branch 'test-dual-retraction'
2012-12-21 15:23:07 +01:00
Alessandro Ranellucci
dc4ada2374
Fix retraction tests and fix retract_extra_length and lift in multiple extruders environments
2012-12-21 15:14:44 +01:00
Alessandro Ranellucci
d5537e7797
Enable retraction for support material too, but only when moving away from support islands. #831
2012-12-20 18:47:40 +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
1a3497b71d
Add tests for vibration limiting and fix implementation. Also includes a fix in set_shift()
2012-12-09 18:33:25 +01:00
Alessandro Ranellucci
4078bb0476
Fix error when vibration limit is disabled
2012-12-06 10:54:28 +01:00
Alessandro Ranellucci
ca0aa5c287
Apply vibration limit to every move except perimeters
2012-12-05 16:32:50 +01:00
Alessandro Ranellucci
cf32cd6510
Implement vibration limit using G4 pauses
2012-12-05 15:03:36 +01:00
Alessandro Ranellucci
f001374c6e
New implementation of the little inwards move before leaving a loop. #186
2012-12-05 11:31:35 +01:00
Alessandro Ranellucci
283809f5c2
No need for a role to identify small perimeters
2012-12-05 10:47:41 +01:00
Alessandro Ranellucci
accc598eb5
Revert "Experimental feature: make a little move inwards by 45° after finishing the external perimeter and before retracting. #186 "
...
This reverts commit c57e94c065
.
Conflicts:
lib/Slic3r/GCode.pm
2012-11-29 19:16:07 +01:00
Alessandro Ranellucci
12873e973b
One more missing bit for gap_fill_speed
2012-11-23 18:37:47 +01:00
Alessandro Ranellucci
556e59bbe4
Last commit erroneously reverted gap fill speed
2012-11-23 17:41:15 +01:00
Alessandro Ranellucci
0f0992e39a
Speed for support material. #813
2012-11-23 17:20:26 +01:00
Alessandro Ranellucci
5dba02fdeb
New separate speed setting for gap fill. #785
2012-11-23 11:25:02 +01:00
Alessandro Ranellucci
21a6219b62
Disable vibration limit. #785
2012-11-23 11:14:06 +01:00
Alessandro Ranellucci
8ae96a8868
Only apply vibration limit to gaps fill while it's not very mature to work with long segments
2012-11-21 19:27:38 +01:00
Alessandro Ranellucci
de8a845d81
Disable retraction for support material
2012-11-19 18:03:20 +01:00
Alessandro Ranellucci
99c942b5ea
Merge branch 'vibration-limit'
2012-11-19 15:54:50 +01:00
Alessandro Ranellucci
3c7321ab80
Bugfix: some retractions between objects/copies were skipped. #786
2012-11-19 15:34:52 +01:00
Alessandro Ranellucci
300734db38
Emit M106 S0 instead of M107 for Teacup
2012-11-19 15:30:55 +01:00
Alessandro Ranellucci
a66e8e547d
Apply Douglas-Peucker to all paths before generating G-code
2012-11-18 18:00:33 +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
7a87a76391
Refactor frequency limit to avoid processing G-code
2012-11-18 15:28:13 +01:00
Alessandro Ranellucci
008633f013
Working implementation of frequency limit
2012-11-18 12:23:11 +01:00
Alessandro Ranellucci
f3164594eb
More incomplete work
2012-11-18 11:33:53 +01:00
Alessandro Ranellucci
72007c4f6a
Rewrite frequency limiting code
2012-11-17 18:07:13 +01:00
Alessandro Ranellucci
600e951fd8
Completed vibration limit
2012-11-17 12:08:19 +01:00
Alessandro Ranellucci
ac5be309e3
Do not call merge_continuous_lines() anymore
2012-11-16 19:20:46 +01:00
Alessandro Ranellucci
1c2bc94d5a
Bugfix: only_retract_when_crossing_perimeters might cause some missed retractions when printing multiple copies of the same object. #786
2012-11-16 12:39:55 +01:00
Alessandro Ranellucci
06b475a4ed
Clone last_pos before storing it otherwise it will be translated. #786
2012-11-16 11:05:45 +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
d4ccd39ad3
Minor code cleanup
2012-10-30 15:53:01 +01:00
Alessandro Ranellucci
92ab53868e
Remove unused methods
2012-10-30 15:49:11 +01:00
Alessandro Ranellucci
25d88bddff
Remove the change_layer method
2012-10-30 14:11:32 +01:00
Alessandro Ranellucci
be7e211bb6
Make flow_spacing required for ExtrusionPath objects
2012-10-30 14:07:01 +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
df4dcf0534
Move by 30° instead of 45° when completing an external loop. #186
2012-10-29 11:21:41 +01:00
Alessandro Ranellucci
9b94a661d9
Fixed regression causing too much clipping at the endpoints of loops
2012-10-29 11:20:27 +01:00
Alessandro Ranellucci
f2389682b6
Factor out some hard-coded settings
2012-10-29 00:23:33 +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
c57e94c065
Experimental feature: make a little move inwards by 45° after finishing the external perimeter and before retracting. #186
2012-10-28 19:15:34 +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
f35cdef2aa
Renamed ExtrusionPath->depth_layers to height
2012-10-28 14:22:51 +01:00
Alessandro Ranellucci
b0f24a2666
Bugfix: unnecessary tool changes were generated when using the same tool for subsequent parts
2012-10-25 18:49:59 +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
76f75db055
Always specify tool number in M104/M109 when printing with multiple extruders
2012-10-21 21:44:06 +02:00
Alessandro Ranellucci
d1e0bcf113
Bugfix: tool numbers written in G-code were wrong
2012-10-01 18:22:35 +02:00
Alessandro Ranellucci
a49b045ce4
Do not call srand for each layer, to get better randomization of starting points. #694
2012-09-28 14:01:59 +02:00
Alessandro Ranellucci
d8c192ae05
Fix fatal error caused by recent refactorings
2012-09-23 18:07:44 +02:00
Alessandro Ranellucci
bbe0a45b58
Optimization: cache scaled flow width and spacing
2012-09-23 03:03:08 +02:00
Alessandro Ranellucci
e696764af8
Assign extruders and flows to materials
2012-09-23 02:40:25 +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
9934f8957f
Bugfix: only_retract_when_crossing_perimeters was almost not working. #680
2012-09-12 15:20:37 +02:00
Alessandro Ranellucci
5017f17171
Adjust M-codes for temperature handling for Teacup. #539
2012-08-30 23:13:28 +02:00
Alessandro Ranellucci
873ea93832
Fix missing module inclusion preventing the recently introduced option from working
2012-08-25 17:18:12 +02:00
Alessandro Ranellucci
0c22250740
New option to disable retraction when moving between infill paths inside the same island. #29
2012-08-25 16:30:11 +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
edfdf236da
Fix for the recent commit about the new retraction settings
2012-08-22 19:47:59 +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
9e682924c7
New separate options for retraction length to be used when switching tools
2012-08-22 19:11:45 +02:00
Alessandro Ranellucci
075213c731
Refactoring: make 'retracted' an attribute of the Extruder object
2012-08-22 18:57:03 +02:00
Alessandro Ranellucci
97c3756034
Don't force automatic unretraction after tool change
2012-08-22 18:06:50 +02:00
Alessandro Ranellucci
9ca21c835c
Merge branch 'per-extruder-retraction-settings'
...
Conflicts:
lib/Slic3r/Config.pm
lib/Slic3r/GUI/Tab.pm
2012-08-08 22:06:47 +02:00
Alessandro Ranellucci
866b09f3f9
New --extruder-offset option
2012-08-07 21:39:45 +02:00
Alessandro Ranellucci
cf01c142de
Make retraction configurable for each extruder
2012-08-07 21:08:56 +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
ea604384dd
Typo
2012-07-23 17:56:20 +02:00
Alessandro Ranellucci
ba475cae45
Fixed fatal error introduced after recent refactoring
2012-07-23 17:52:02 +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
0aa3cc230f
Merge branch 'new-flow'
2012-07-14 21:40:57 +02:00
Alessandro Ranellucci
e703e78504
A typo caused no newline after Tn. #530
2012-07-11 21:48:30 +02:00
Alessandro Ranellucci
079f6072a6
Use M109 P1 for Teacup
2012-07-10 19:31:09 +02:00
Henrik Brix Andersen
0266729635
Merge branch 'master' into new-flow
2012-07-06 22:10:47 +02:00
Henrik Brix Andersen
9f4444a7d4
Add missing sprintf spotted by olasd
...
Fixes 3c00573805
2012-07-06 22:09:17 +02:00
Alessandro Ranellucci
4f6934bab8
Merge branch 'master' into new-flow
2012-07-06 20:06:09 +02:00
Alessandro Ranellucci
3c00573805
Reset E and compensate retraction after changing extruder
2012-07-06 19:57:58 +02:00
Alessandro Ranellucci
77123ada7c
New spacing math. Speed optimizations
2012-07-04 09:33:33 +02:00
Alessandro Ranellucci
dd37867324
Bugfix: wrong spacing was calculated
2012-07-04 09:33:33 +02:00
Mark Hindess
35ecd65e77
Implement nearest point index and split at index to avoid search for point.
2012-07-02 20:26:56 +01:00
Alessandro Ranellucci
c4b9a6cf61
Bugfix: flow wasn't adjusted for perimeters when a custom perimeters extrusion width was applied
2012-07-01 18:13:48 +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
898266fd34
Initial refactoring for supporting multiple extruders. Little speed optimization included
2012-06-28 14:44:54 +02:00