jepler.github.io/_posts/2019-05-08-Cura-vs-GPX-vs-dual-extruder-temperature-A-FIX.html
2019-07-06 17:41:00 -05:00

215 lines
6.1 KiB
HTML

---
layout: default
title: 'Cura vs GPX vs dual extruder temperature: A FIX!'
redirect_from:
- /01557352438
---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Cura vs GPX vs dual extruder temperature: A FIX!</title>
<link rel="stylesheet" href="https://media.unpythonic.net/css/bootstrap.min.css">
<style>
#mask {
position: absolute;
left: 0;
top: 0;
background-color: #000;
opacity: 0.7;
display: none;
}
#loading {
position: fixed;
left: 50%;
top: 50%;
width: 58px;
height: 60px;
background-color: black;
background-image: url('https://media.unpythonic.net/img/loading.gif');
opacity: 0.9;
z-index: 20;
display: none;
border-radius: 4px;
}
#bigimg {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: none;
}
#maskouter {
height: 100%;
display: table;
margin: 0 auto;
}
#maskinner {
vertical-align: middle;
display: table-cell;
}
#imgleft, #imgright {
cursor: pointer;
position: fixed;
top: 50%;
width: 64px;
height: 64px;
border-radius: 4px;
background-color: black;
z-index: 22;
opacity: 0.7;
}
#imgleft {
left: 0;
background-image: url('https://media.unpythonic.net/img/prevbtn.png');
}
#imgleft.disabled, #imgright.disabled { display: none; }
#imgright {
right: 0;
background-image: url('https://media.unpythonic.net/img/nextbtn.png');
}
#imgdesc {
position: fixed;
left: 64px;
bottom: 0;
background-color: #333;
width: 100%;
padding-top: 1em;
padding-bottom: 1em;
padding-left: 2em;
border: 1px solid #555;
border-bottom: 0;
}
#imgdesc .filename {
color: #fff;
font-weight: bold;
}
#imgdesc .description {
color: #fff;
padding-left: 1em;
}
#mask { z-index: 10990; }
#loading { z-index: 10991; }
#bigimg { z-index: 10992; }
</style>
<script type="text/javascript" src="https://media.unpythonic.net/js/jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="https://media.unpythonic.net/js/bootstrap-dropdown.js"></script>
<script type="text/javascript" src="https://media.unpythonic.net/js/jquery.mousewheel.js"></script>
<script type="text/javascript" src="https://media.unpythonic.net/js/jquery.ba-hashchange.min.js"></script>
<script type="text/javascript" src="https://media.unpythonic.net/js/jquery.mobile.custom.min.js"></script>
<script type="text/javascript" src="https://media.unpythonic.net/js/gallery.js"></script>
<style><!--
div.floatimageleft, div.floatimageright {
border: 1px solid black;
padding: 2px;
margin: 1em;
}
div.floatimageleft { clear: left; float: left; }
div.floatimageright { clear: right; float: right; }
div.floatimageleft img, div.floatimageright img { border: 0px; }
div.floatimageleft img.zoom, div.floatimageright img.zoom {
padding: 4px;
}
--></style>
<style><!--
div.albumouter {
margin-right: 1ex;
margin-top: 1ex;
vertical-align: baseline;
display: -moz-inline-box;
display: inline-block;
text-decoration: none !important;
}
.album { display: block; clear: both; }
.album a:link, .album a:hover, .album a:visited
{ text-decoration: none; }
.album a:hover { color: red; }
.albumimage {
display: block;
padding-left: 2px; padding-right: 2px;
padding-top: 3px; padding-bottom: 3px;
background: #ececec;
}
.albumimage img.zoom {
margin-left: 0px; margin-right: 0px;
padding-top: 4px; padding-right: 4px; }
.albumimage img { border: 0px;
display: block; margin-left: auto; margin-right:auto
}
--></style>
<!-- no summary found -->
</head>
<body>
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.
<p>The problem, as many have suspected, was Cura and GPX disagreeing on which
&quot;T&quot; (hotend &quot;tool&quot;) numbers applied to &quot;M104&quot; / &quot;M109&quot; temperature commands.
<p>My best understanding of the problem is this:
<p>Cura thinks that &quot;T#&quot; is modal only when it is the only (first?) thing
on a line, while GPX thinks that e.g., &quot;M109 T1 S200&quot; contains a modal
&quot;T1&quot;.
<p>This causes dual extrusion code to send temperature commands to the wrong
nozzle.
<p>This script attempts to work around the problem by tracking which &quot;T#&quot; lines
Cura thinks are modal, and then attaching that &quot;T#&quot; again to any M104/M109
lines that would require it.
<p>What seems incomplete about this story is, cura writes extrusions as &quot;E#&quot;,
which should also be moving the &quot;T#&quot; extruder motor. But GPX doesn't start
extruding T0 with the sequence
<pre>
T1
M104 T0 S175
G1 F1500 E-0.6 ; retract
</pre>
<p>So something's still missing from the explanation.
<p>The PostProcessingPlugin is released under the terms of the AGPLv3 or higher.
<p>It works with Ultimaker Cura 4.0, but may not work with other software or
versions.
<p>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 &quot;Help &gt; Show Configuration Folder&quot;
<p>Having done so, simply enable the script to post-process your gcode in
&quot;Extensions &gt; Post Processing &gt; Modify G-Code&quot;. Just choose the script
from the &quot;Add a script&quot; dropdown.
<p><p><b>Files currently attached to this page:</b>
<table cellpadding=5 style="width:auto!important; clear:none!important"><col><col style="text-align: right"><tr bgcolor=#eeeeee><td><a href="https://media.unpythonic.net/emergent-files/01557352438/fixtempcommands.py">fixtempcommands.py</a></td><td>2.2kB</td></tr></table><p>
<br><br><font size=-2>Entry first conceived on 8 May 2019, 21:53 UTC, last modified on 6 July 2019, 21:49 UTC</font>
</body>
</html><!--Imported with do-aether-page on Sat Jul 6 17:22:44 CDT 2019-->