<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#">
<link rel="alternate" type="text/html" href="https://gamma.unpythonic.net/"/>

<title>Jeff Epler's blog</title>
<modified>2019-05-08T21:53:58Z</modified>
<tagline>Photos, electronics, cnc, and more</tagline>
<author><name>Jeff Epler</name><email>jepler@unpythonic.net</email></author>
<entry>
<title>Cura vs GPX vs dual extruder temperature: A FIX!</title>
<issued>2019-05-08T21:53:58Z</issued>
<modified>2019-05-08T21:53:58Z</modified>
<id>https://gamma.unpythonic.net/01557352438</id>
<link rel="alternate" type="text/html" href="https://gamma.unpythonic.net/01557352438"/>
<content type="text/html" mode="escaped">

I've finally implemented a solution to my woes with dual extruder temperature
control in Cura.  In any case, I'm now having much more luck with dual
extrusion and the temperature graphs that can be seen in octoprint look much
more sensible.

&lt;p&gt;The problem, as many have suspected, was Cura and GPX disagreeing on which
&amp;quot;T&amp;quot; (hotend &amp;quot;tool&amp;quot;) numbers applied to &amp;quot;M104&amp;quot; / &amp;quot;M109&amp;quot; temperature commands.

&lt;p&gt;My best understanding of the problem is this:

&lt;p&gt;Cura thinks that &amp;quot;T#&amp;quot; is modal only when it is the only (first?) thing
on a line, while GPX thinks that e.g., &amp;quot;M109 T1 S200&amp;quot; contains a modal
&amp;quot;T1&amp;quot;.

&lt;p&gt;This causes dual extrusion code to send temperature commands to the wrong
nozzle.

&lt;p&gt;This script attempts to work around the problem by tracking which &amp;quot;T#&amp;quot; lines
Cura thinks are modal, and then attaching that &amp;quot;T#&amp;quot; again to any M104/M109
lines that would require it.

&lt;p&gt;What seems incomplete about this story is, cura writes extrusions as &amp;quot;E#&amp;quot;,
which should also be moving the &amp;quot;T#&amp;quot; extruder motor.  But GPX doesn't start
extruding T0 with the sequence
&lt;pre&gt;
  T1
  M104 T0 S175
  G1 F1500 E-0.6    ; retract
&lt;/pre&gt;

&lt;p&gt;So something's still missing from the explanation.

&lt;p&gt;The PostProcessingPlugin is released under the terms of the AGPLv3 or higher.

&lt;p&gt;It works with Ultimaker Cura 4.0, but may not work with other software or
versions.

&lt;p&gt;On my Linux system it is installed to 
~/.local/share/cura/4.0/scripts/fixtempcommands.py but your mileage may
vary.  The installation of cura scripts seems a bit underdocumented, or 
at any rate I didn't find the documentation.  The location is under one of the two folders opened when you &amp;quot;Help &amp;gt; Show Configuration Folder&amp;quot;

&lt;p&gt;Having done so, simply enable the script to post-process your gcode in
&amp;quot;Extensions &amp;gt; Post Processing &amp;gt; Modify G-Code&amp;quot;.  Just choose the script
from the &amp;quot;Add a script&amp;quot; dropdown.

&lt;p&gt;&lt;p&gt;&lt;b&gt;Files currently attached to this page:&lt;/b&gt;
&lt;table cellpadding=5 style=&quot;width:auto!important; clear:none!important&quot;&gt;&lt;col&gt;&lt;col style=&quot;text-align: right&quot;&gt;&lt;tr bgcolor=#eeeeee&gt;&lt;td&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01557352438/fixtempcommands.py&quot;&gt;fixtempcommands.py&lt;/a&gt;&lt;/td&gt;&lt;td&gt;2.2kB&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;
</content>
</entry>
</feed>
