Welcome! Log In Create A New Profile

Advanced

Another wipe/prime tower for Slic3r

Posted by The_NESt 
Another wipe/prime tower for Slic3r
January 20, 2017 04:47AM
Hi All.

I have just printet this: 3Dator Y-piece for dual extrusion with one nozzle

Then I needed a wipe tower and found this: Wipe and prime towers for slic3r

But thought that it did not live up to my expectations and has not bean updated for 2 years, I tried Cura but could not get the result I wanted. I decided to try to write a new post script for Slic3r.

As you can se on the pictures I have only tested in software and simulation, but I feel like I'm ready for testing on my 3D printer this weekend.
The code it self also need some clean up smiling smiley

Features:
Works with as meany colors as you can fit towers in a single row.
Auto find the number of tool change per layer to determent the number of towers needed.
Detect layer change even withe the wired layers when Slic3r is creating support materal. (Tries to correct layer height when printing tower)
Only fill the tower if there is a tool change on that layer.
Manuel placement of tower.
Imports settings form Slic3r for brim and other stuff needed so you don't need to add them smiling smiley
Supports Z-lift.
Uses the square around the tower to wipe after color change.
It will create brim according to Slic3r settings.

Future Features:
Auto placement of tower according to size of print.
More rows of towers if needed.

I'm writing this post to ask if it has any interest for any one else? Then I can release it when I have tested on the real printer smiling smiley

Edited 3 time(s). Last edit at 01/20/2017 05:57AM by The_NESt.
Attachments:
open | download - Test print.png (41.1 KB)
open | download - First layer.png (79.4 KB)
open | download - Layer without tool change.png (48.1 KB)
open | download - Layer with tool change.png (81.4 KB)
open | download - Finished tower.png (139.6 KB)
Re: Another wipe/prime tower for Slic3r
January 20, 2017 10:41AM
Well the script is working ok, but when using the 3Dator Y-piece there is a slight chance that there will be a small blob on the end of the filament when changing the color that do not fit in the E3D hotend resulting in the filament getting stuck before it get's to the heat chamber. This happens like 1 out of 20 times and the print is broken. I will have to test some different temperatur settings. Is there some one else that have experience with this? Any suggestions?
Re: Another wipe/prime tower for Slic3r
January 20, 2017 11:08AM
You should look for tighter fitting PTFE tube between Y-piece and hotend. When you retract the still hot filament, it'll be formed to a smaller diameter then.
1.8mm inner diameter instead of 2mm will do the trick.
Re: Another wipe/prime tower for Slic3r
January 22, 2017 12:11AM
Sure we want to have the code!
I myself have a 3-to-1 Switcher, similar to the one you have linked to. Currently I only use it in manual switching, because Slic3r doesn't soporific the prime towers natively...
So I am looking forward to your tests!
Re: Another wipe/prime tower for Slic3r
January 22, 2017 01:44AM
@o_lampe, I will try to finde some tube and for now I have created a compression ring for the tube to see if that can be a temporary solution. I think I have the time to test it tonight.

@Teilchen, I don't know if I have time to clean the code tonight but let's see. If you are willing to help testing it you can get the code when I get home. I have run the first 2 prints and fixed some bugs. It's just my printer that do not want to change color smiling smiley
Re: Another wipe/prime tower for Slic3r
January 22, 2017 01:55AM
Another trick I read at thingiverse in the description of a random Y-splitter is to:
- retract some filament fast
- unretract a smaller amount to get rid of the stringing and that bulb o_lampe was taking about
- retract a large amount at a lower speed than usual to get the time for the filament to take the shape of Bowden
- continue retracting fast until the splitter is free to insert the next color

This retract - unretract thing works fine I think.

In my case i do not have a bulb formed, but a long thing string, which will jam the next color easily. The solution here was easy: just retract a lot more then needed.
I got my tool change working pretty reliable I think.

But back to Slic3r: I will gladly test the code, but it might take longer to get results from me, since I do not have much free time available smiling smiley, but I am eager to contribute if it helps!
Re: Another wipe/prime tower for Slic3r
January 22, 2017 08:37AM
This is my first version of the scrip use it on you own risk, if you find any bugs just report them here and I will try to fix it.
Please help with a better name for it smiling smiley And should I release this on Thingiverse or any better place or is it fine to keep it at this forum?

Just som excuses: This is my first script in Perl and english is not my primary language so please excuse spelling and grammatical mistakes. And yes it needs more clean up.

Then grate thanks to Makertum for this script as I got a lot of inspiration form it and also used the matematcis form that script everything else is rewritten.

And as I can no longer edit the start post. I will include an updated feature list smiling smiley

Features:
Works with as meany colors as you can fit towers in a single row.
Auto find the number of tool change per layer to determent the number of towers needed.
Detect layer change even withe the wired layers when Slic3r is creating support materal. (Tries to correct layer height when printing tower)
Only fill the tower if there is a tool change on that layer.
Manuel placement of tower.
Imports settings form Slic3r for brim and other stuff needed so you don't need to add them smiling smiley
Supports Z-lift.
Uses the square around the tower to wipe after color change.
It will create brim according to Slic3r settings.
Auto placement of tower according to size of print.
Change temp while changing tool/colour.
Retraction sequence suggested by Teilchen. (Not tested)

Future Features:
More rows of towers if needed.
Force tool change if needed.

Known Issues:
There is something wrong with the extrusion calculation as it seems to under extrude in some cases.
Calculation error in retraction speed for 2 step of color change sequence. Fixed in 0.2.1_a.
Calculation error in retraction speed for retraction after wipe tower done. Fixed in 0.2.2_a.

Installation:
Install Perl if you are using Windows try the Strawberry version. For Linux it should be included.
And read the read me smiling smiley

Read Me:
# Warning if you are using z lift then do not set it at the same as layer hight or first layer hight.
#
# If different temperatures is select in Slic3r then it will change temp just before unretracting at colour/tool change.
# You need to install Perl to get this working smiling smiley
#
#
# toolChangeRetractionLength
# The amount of retraction when changing tool one number for each tool separate by comma.
#
# useAutoPlacement
# Place tower based on size of print on bead.
#
# wipeTowerX
# wipeTowerY
# Position of tower, ignored if auto placement is used.
#
# wipeTowerSize
# Size of tower. Brim size will be taken form Slic3e
#
# wipeTowerInfillNoChange
# The amount of infill of layers without colour/tool change
#
# fastRetractionSpeed
# The speed for retraction when doing colour/tool change.
# When extruding the retraction the retraction speed from Slic3r is used.
#
# useYSplitChange
# Retraction sequence suggested by Teilchen. (Not tested)
# - retract some filament fast.
# - unretract a smaller amount to get rid of the stringing and that bulb o_lampe was taking about.
# - retract a large amount at a lower speed than usual to get the time for the filament to take the shape of Bowden.
# - continue retracting fast until the splitter is free to insert the next colour.
#
# ySplitFirstRetractionSpeed
# ySplitFirstRetract
# First retraction amount in sequence.
#
# ySplitUnretract
# Then unretract this amount.
#
# ySplitSlowRetractionSpeed
# Speed of the last retraction step.
# The last retract step will use toolChangeRetractionLength to detriment how much more to retract.
#
# You need to add the path to this script in Print Settings->Output options->Post-processing script.
# You also need to insert these vars in "End G-code" window in Slic3r settings.
# The first line is also important as it serves as a indicator for the script to start reading vars.
#
#; WIPE TOWER PARAMS
#; Not Implemented:
#; forceToolChanges = false
#;
#; Implemented:
#; toolChangeRetractionLength = 120,120
#; useAutoPlacement = 1
#; wipeTowerX = 20
#; wipeTowerY = 20
#; wipeTowerSize = 20
#; wipeTowerInfillNoChange = 10
#; useYSplitChange = 1
#; ySplitFirstRetractionSpeed = 100
#; ySplitFirstRetract = 10
#; ySplitUnretract = 5
#; ySplitSlowRetractionSpeed = 20

Edited 4 time(s). Last edit at 01/23/2017 07:20AM by The_NESt.
Attachments:
open | download - myColorChangeV0.2.2_a.zip (5.8 KB)
Re: Another wipe/prime tower for Slic3r
January 23, 2017 03:02AM
I'm affraid I must pass on this one. I have absolutely no knowledge on Python and such...
Re: Another wipe/prime tower for Slic3r
January 23, 2017 07:22AM
Sorry I forgot to add installation instructions for Perl.
You don't need to have a lot og knolage of Perl to use this script, I will try to find out if it's possible to compile a executable for Windows users.
Re: Another wipe/prime tower for Slic3r
March 06, 2017 07:01AM
I'd be happy to try this out. The lack of prime towers are the main reason I don't use Slic3r for dual extrusion.

I should be able to give it a good torture test, too, since I have a three-color setup (soon will be four) on two nozzles.

I'll give it a try in the coming days and report back.
Re: Another wipe/prime tower for Slic3r
March 06, 2017 10:07AM
I have some minor bug fixes in this one I will describe them later smiling smiley

It has a bug where it dose not work with skirt(It will make extra towers for color change in skirt). So you can only run with brim or nothing. in "Skirt and Brim" settings.

Edited 2 time(s). Last edit at 03/06/2017 10:08AM by The_NESt.
Attachments:
open | download - myColorChangeV0.2.3_a.pl.zip (6 KB)
Re: Another wipe/prime tower for Slic3r
March 06, 2017 10:10AM
Her is my settings works ok but not perfect smiling smiley

; WIPE TOWER PARAMS
; Not Implemented:
; forceToolChanges = false
;
; Implemented:
; toolChangeRetractionLength = 150,150
; useAutoPlacement = 1
; wipeTowerX = 20
; wipeTowerY = 20
; wipeTowerSize = 30
; wipeTowerInfillNoChange = 10
; useYSplitChange = 1
; ySplitFirstRetractionSpeed = 2
; ySplitFirstRetract = 11
; ySplitUnretract = 7
; ySplitSlowRetractionSpeed = 150
; ySplitSlowRetract = 0
; ySplitLarstRetractionSpeed = 150
; ySplitUnRetractAfterToolChangeSpeed = 40
normaly im not to stupid in scripting but...
March 06, 2017 01:13PM
first of all: great your doing this. is just got my dual setup running and dont want to install cura using slic3r for years now..
BUT
I dont get any error massages, and the script does not change a thing on gcode.
Permision is set (Debian)
Slic3r executes the script
nothing is changed.

Do i Have to uncoment something? or do i need to ad some tool change Code in slic3r?
normaly (without the script) i used this few lines:
; tool change

T[previous_extruder] ;Select Old Tool

G91; Relative Coordinates
G1 E-5 F1500; Fast Retract 5mm
G1 E4 F1900; Fast Reinsert 2mm
G1 E-40 F1200; Fast Retract 50mm
;G1 Z15 F800
G4 P1800; Pause 3secs
G1 E-130 F1000; Fast long retract


T[next_extruder]; Select New tool
G1 E170 F1000; Fast insert 170mm
G4 P800
G1 E1 F500
G1 E0.6 F300
;G1 Z-15 F800

G90; back to absolut Coordinates
works okay but of cause prime tower would be nice.
Re: normaly im not to stupid in scripting but...
March 06, 2017 01:35PM
Okay Mea Culpa:
Installed the nessecary Perl Modules

- Math::Round;
 - Math::Complex;
 - List::Util
 - Scalar::Util
 - Data:grinning smileyumper


now it at least gives errors a lot xD
will start Debugging tomorrow its 11PM now. no more CLUB MATE

NESt: would you like to make it a Gitmoody smiley if its more stable it might be implemented in Slic3r
Re: Another wipe/prime tower for Slic3r
March 06, 2017 02:08PM
Ok, gives me no errors and works on my set up, still only one row of prime towers.

I did not remember to put in the post how to set it up :| Sorry. I can also see I forgot to add the "; end g-code" in the post above.
I really need to write some better doc. smiling smiley Sorry. And I work as a Documentation Specialist!?!? Doh..hot smiley
I do not know which moduls for Perl to install the Windows version I use do not complain smiling smiley Yes I'm new to Perl.

I have thought about git I will look into it tomorrow. See the foto of the prime tower.

Here is the installation note:

Installation:
Copy the scripts to a directory of your choice, note that directory.

In the print settings:
Add the full path to the script as noted above in the Print Settings -> Output options -> Post-processing scripts field I suggest only using one post-processing Script at a time.

In the printer settings:
Tick "Use relative E distances" in Printer Settings -> General
In Printer Settings -> Custom G-Code, add the following to the very end of your "End G-code" right after you own custom G-Code:

; end g-code
; WIPE TOWER PARAMS
; Not Implemented:
; forceToolChanges = false
;
; Implemented:
; toolChangeRetractionLength = 150,150
; useAutoPlacement = 1
; wipeTowerX = 20
; wipeTowerY = 20
; wipeTowerSize = 30
; wipeTowerInfillNoChange = 10
; useYSplitChange = 1
; ySplitFirstRetractionSpeed = 2
; ySplitFirstRetract = 11
; ySplitUnretract = 7
; ySplitSlowRetractionSpeed = 150
; ySplitSlowRetract = 0
; ySplitLarstRetractionSpeed = 150
; ySplitUnRetractAfterToolChangeSpeed = 40
Attachments:
open | download - 2017-03-06 22_57_48-Repetier-Host V1.6.2 - Dice_with_coloured_dots_Dice_body.png (379.6 KB)
Re: Another wipe/prime tower for Slic3r
March 06, 2017 02:49PM
For tool change G-Code just keep it empty the script detects the tool change and insert the custum code with whipe.

I hope you can get it to work. I have printet a few times but still have issues with the filament getting stuck in the e3d head. Not so much due to the blob on the end, just some strings in some cases. Have printet for over an hour without failures. But still needs fine tuning to get rid of the strings.
Re: Another wipe/prime tower for Slic3r
March 07, 2017 10:38AM
Moved to [github.com]
Re: normaly im not to stupid in scripting but...
March 07, 2017 11:12AM
great wil test it when iv finished thes fu** 35pages statistic...
Re: Another wipe/prime tower for Slic3r
March 07, 2017 11:27AM
Thanks and good luck with the 35 pages smiling smiley
Re: Another wipe/prime tower for Slic3r
March 07, 2017 12:47PM
Big issue for some reason it is no longer working in Slic3r frontend only in Repetier Host using Slic3r as slicer. Trying to find out why.
Re: Another wipe/prime tower for Slic3r
March 07, 2017 12:52PM
Quote
The_NESt
Big issue for some reason it is no longer working in Slic3r frontend only in Repetier Host using Slic3r as slicer. Trying to find out why.

Ok it's working if I export the G-Code.

How do we get Slic3r to show the code as exported?
Re: Another wipe/prime tower for Slic3r
March 07, 2017 01:10PM
On GitHub I have added Wiki, Issue list and to do list.

I hope that helped on the documentation part smiling smiley
Sorry, only registered users may post in this forum.

Click here to login