Page 1 of 1

Dual extruder tool change scripts

Posted: Tue Dec 08, 2015 6:27 pm
by Tim
I've discovered a Simplify3D secret about doing tool change scripts for the dual extruder.

The instructions that MakerGear has posted for the dual extruder mention the use of the special substitution syntax:

Code: Select all

T[old_tool]
T[new_tool]
But this use of "old_tool" and "new_tool" has a problem, which is that on startup, Simplify3D wants to insert a tool change sequence using old_tool = 0 AND new_tool = 0. I find that this breaks my scripts.

Now, the simple and obvious solution which the Simplify3D developers apparently didn't think of is to have two separate tool change scripts. But they did hack in a solution that, ugly as it is, works, and is better than using old_tool, new_tool. That syntax looks like (for example):

Code: Select all

{IF NEWTOOL=1} G1 X20 ; gcode following if statement are executed conditionally
{IF NEWTOOL=0} G1 X100 ; likewise
There is also a similar syntax using "OLDTOOL", but if you stick with "NEWTOOL", then you can avoid the problem where the script is called with both old and new tools being the same (personally, I'd call that a bug in Simplify3D, but they probably think of it as a feature).

Note that the MakerGear instructions for the dual extruder indicate that changing temperature of an extruder during a tool switch requires saving the gcode generated by Simplify3D and then editing it (preferably with an automatic script). This {IF} statement feature avoids all that; it becomes possible to write a script that changes the temperature on the two extruders independently, and that is inserted automatically into the gcode.

Here's the pointer to the Simplify3D feature description:
https://forum.simplify3d.com/viewtopic.php?f=8&t=1959

And here is the pointer to the MakerGear description of the awkward tool change hack:
http://makergear.wikidot.com/dual (look at the section "Slicing").

Re: Dual extruder tool change scripts

Posted: Tue Dec 08, 2015 6:55 pm
by Jules
Simplify3D wants to insert a tool change sequence using old_tool = 0 AND new_tool = 0.
That's what was screwing up all my attempted tool change scripts! I finally threw in the towel on it.

Great job! :D