Zorgonaute84
Posts: 58
Joined: Sun Feb 07, 2016 7:30 am

Retraction process issue with tool change script

Hello,

I had a lot of issues with the retraction during the changing tool process since the beginning of Simplify 3D. I was very happy with the new 4.1 wich the issue was fixed ! But since the 4.1.2 I have the issue again.

My trouble is that the tool changing process is impacted (outside the script) regarding if I had a script or not.

My script :

Code: Select all

{IF NEWTOOL=0} T0													;Start tool switch 0
{IF NEWTOOL=0} G1 X[next_position_x] Y[next_position_y] F[travel_speed] 		; move to next printing location
{IF NEWTOOL=0} G1 Z[next_position_z] F1002
{IF NEWTOOL=0} G1 E0 F[toolchange_retract_speed] 							; prime new tool


{IF NEWTOOL=1} T1														;Start tool switch 1 
{IF NEWTOOL=1} G1 X[next_position_x] Y[next_position_y] F[travel_speed] 		; move to next printing location
{IF NEWTOOL=1} G1 Z[next_position_z] F1002
{IF NEWTOOL=1} G1 E0 F[toolchange_retract_speed] 							; prime new tool

G92 E0
Notice, I'm using the dual extrusion to print supports.

Bellow, this is the tool changing process before printing the skirt without custom tool change script :

Code: Select all

G1 X109.975 Y103.499 E3.2314
G92 E0.0000
G1 E-20.0000 F2400
T1
G1 Z0.325 F1002
G1 X121.620 Y107.556 F12000
G1 Z0.125 F1002
G92 E0.0000
G1 X123.620 Y109.556 E0.0279 F2100
There is : Retraction of T0, change to T1, move to next location and G92 E0 so there is NO unretract.
Result : The nozzle is not correctly feed.

Now, the same process with a custom tool change script :

Code: Select all

G1 X109.975 Y103.499 E3.2314
G92 E0.0000
 T1									;Start tool switch 1
 G1 X121.620 Y107.556 F12000 		; move to next printing location
 G1 Z0.125 F1002
 G1 E0 F2400 						; prime new tool
G92 E0
T1
G1 Z0.325 F1002
G1 X121.620 Y107.556 F12000
G1 Z0.125 F1002
G92 E0.0000
G1 X123.620 Y109.556 E0.0279 F2100
There is no retraction before the script, my script (with move to next location and unretract) but no unretract generated from Simplify 3D.
Result : Without unretract at the end of the previous tool caused oozing and a nozzle not correctly feeded too.
Yes, I could add a retraction into my script, but you will see that I have an other issue...

Now the tool changing process of each layer (just before printing the prime tower) without custom tool change script :

Code: Select all

1 X85.218 Y147.995 F2100
G1 X85.213 Y147.990
G92 E0.0000
G1 E-20.0000 F2400
T1
; feature prime pillar
G1 Z0.325 F1002
G1 X118.807 Y191.097 F12000
G1 Z0.125 F1002
G1 E0.2000 F2400
G92 E0.0000
G1 X118.807 Y200.617 E0.0940 F2100
All is OK : retraction, changing tool, and G1 E0.2 (I set 0.2 of extra distance in settings)
Results : OK

And the same with a custom tool change script :

Code: Select all

G1 X85.218 Y147.995 F2100
G1 X85.213 Y147.990
G92 E0.0000
 T1									;Start tool switch 1
 G1 X118.807 Y191.097 F12000 		; move to next printing location
 G1 Z0.125 F1002
 G1 E0 F2400 						; prime new tool
G92 E0
T1
; feature prime pillar
G1 Z0.325 F1002
G1 X118.807 Y191.097 F12000
G1 Z0.125 F1002
G1 E20.2000 F2400
G92 E0.0000
G1 X118.807 Y200.617 E0.0940 F2100
As previous, there is no retraction, my script, but this time, there is a unretract generated by Simplify3D, but not a G1 E0.2 as previous, but a G1 E20.2 !!!
Results : There is a very big over extrusion !

At the beginning of April with the 4.1.1 version, I was able to print well with custom script.
The Gcode before the skirt :

Code: Select all

G1 X116.260 Y134.068 E1.2087
G92 E0.0000
G1 E-20.0000 F2400
 T1					;Start tool switch 1
 G1 X116.094 Y134.468 F12000 	; move to next printing location
 G1 Z0.125 F1002
 G1 E0 F2400 		; prime new tool
G92 E0
T1
G1 Z0.325 F1002
G1 X116.094 Y134.468 F12000
G1 Z0.125 F1002
G92 E0.0000
G1 X117.094 Y135.468 E0.0105 F2100
Custom code with a retraction generated by Simplify before the script. (no unretract, but it doesn't matter I generated it into my script)

The Code for each layer :

Code: Select all

G1 X110.023 Y153.211 F2100
G92 E0.0000
G1 E-20.0000 F2400
 T1					;Start tool switch 1
 G1 X118.769 Y160.669 F12000 	; move to next printing location
 G1 Z0.125 F1002
 G1 E0 F2400 		; prime new tool
G92 E0
T1
; feature prime pillar
G1 Z0.325 F1002
G1 X111.178 Y154.196 F12000
G1 Z0.125 F1002
G1 E0.0000 F2400
G92 E0.0000
G1 X118.769 Y170.269 E0.0715 F2100
Every things was OK, retraction of the previous tool, my script with unretract, even the unretract generated by Simplify 3D (but this time with G1 E0 (so, there is no double unrectraction).

I hope that my English was not too bad, and you will able to help me...

PS : I have to use a custom script for 2 reasons :
1/ I unretract the T1 during my start script before printing with T0. And there is no unretraction of the T1 for the first use
2/ I delete on this exemples, but I made and extra priming process of the T1 (only) into a dirty box before to move to the next location.

Thanks
Zorgonaute84
Posts: 58
Joined: Sun Feb 07, 2016 7:30 am

Re: Retraction process issue with tool change script

So I auto fixed my issue... But the bug still here...

This is my original tool changes cript code (with the bug in my Gcode :

Code: Select all

{IF NEWTOOL=0} T0					;Start tool switch 0
{IF NEWTOOL=0} G1 X[next_position_x] Y[next_position_y] F[travel_speed] 	; move to next printing location
{IF NEWTOOL=0} G1 Z[next_position_z] F1002
{IF NEWTOOL=0} G1 E0 F[toolchange_retract_speed] 		; prime new tool




{IF NEWTOOL=1} T1					;Start tool switch 1
{IF NEWTOOL=1} G1 E1 F[toolchange_retract_speed] 		; prime new tool
{IF NEWTOOL=1} G92 E0			 		; zero
{IF NEWTOOL=1} G1 E-[toolchange_retract_distance] F[toolchange_retract_speed] 
{IF NEWTOOL=1} G1 X[next_position_x] Y[next_position_y] F[travel_speed] 	; move to next printing location
{IF NEWTOOL=1} G1 Z[next_position_z] F1002
{IF NEWTOOL=1} G1 E0 F[toolchange_retract_speed] 		; prime new tool


G92 E0
And the script which generate a perfect Gcode :

Code: Select all

{IF NEWTOOL=0} T0					;Start tool switch 0
{IF NEWTOOL=0} G1 X[next_position_x] Y[next_position_y] F[travel_speed] 	; move to next printing location
{IF NEWTOOL=0} G1 Z[next_position_z] F1002
{IF NEWTOOL=0} G1 E0 F[toolchange_retract_speed] 		; prime new tool


{IF NEWTOOL=1} T1					;Start tool switch 1
{IF NEWTOOL=1} G1 E2 F[toolchange_retract_speed] 		; prime new tool
{IF NEWTOOL=1} G92 E0			 		; zero
{IF NEWTOOL=1} G1 E-4 F[toolchange_retract_speed] 
{IF NEWTOOL=1} G1 X[next_position_x] Y[next_position_y] F[travel_speed] 	; move to next printing location
{IF NEWTOOL=1} G1 Z[next_position_z] F1002
{IF NEWTOOL=1} G1 E0 F[toolchange_retract_speed] 		; prime new tool

G92 E0
It's very strange that a fix value instead a variable solve all the tool change process generate by Simplify 3D...
tezz
Posts: 3
Joined: Wed Nov 16, 2016 10:58 am

Re: Retraction process issue with tool change script

I am busy with the same issue, in my opinion we should not have to write our own code to get the 2 in 1 out system to work, this should be in the software, and made simple that's why we paid for it, I have spent days trying to get my printer setup with a 2 in 1 out extruder, but still having issues, not a user-friendly experience, any good software should take into account the end-user, stop coders from designing the user interface and get user feedback. this 2 in 1 out setup does not work in s3d software, it should have this built-in.
phongshader
Posts: 7
Joined: Wed Mar 25, 2020 2:34 pm

Re: Retraction process issue with tool change script

I have a 2 in 1 out system that doesn't prime T1 on the 1st tool change from T0 but every tool change after that works as expected. Will the posted scripts address this issue if added to Scripts > Tool Change Script?

Return to “Troubleshooting and Bug Reports”