Alignment issues when merging STL Files

Taz 6, Cura 2.6.69, Flexydually V2

Having trouble getting two stl files to align properly when merging the parts (wheel and tire) for a dual extrusion. Created the parts in solidworks, both parts have the same origin, and saved the STL files to load in Cura. The merged files appear to have proper alignment in Cura however they print with an offset of about 65mm in the y-axis. I ran the gcode thru an analyzer and it shows this offset.

I tried saving the stl files both from the assembly and also from the part files and also tried checking and unchecking the box “Do not translate STL output data to positive space”. Nothing seems to correct this, not sure what else to try, help?

Have you tried other dual extrusion prints such as the lulzbot keychain? Since it looks good in cura view but bad in a gcode analyzer theres possibly the extruder offset incorrect for dual.

Yes I had calibrated the offsets with the “squares” calibration procedure and I had printed the keychain previously and it worked fine?

CuraLE uses the nozzle offset(s) set in the machine profile to generate GCode that has the coordinates adjusted for the current nozzle. Programs like the GCode Analyzer don’t understand dual extruders and therefore the picture they draw should be offset. You can change CuraLE to not offset the GCode (and let the firmware handle it), but then its views are offset (so I don’t do this).

Marlin has the capability of handling the offset(s) in firmware via the M218 command. The values are not stored in the EEPROM so they must be set each time the printer is turned on.

Simplify3D normally expects the offset(s) to be handled by the firmware so the GCode produced has coordinates for both nozzles as if they were at exactly the same location. You can change this behavior but then the views within S3D are offset (so I don’t do this).

Since I use both slicers, I put the proper M218 command(s) in the start code for each slicer. That way I don’t have to mess with it and can print jobs from either slicer in any order. Note that if you copy the start code from CuraLE to Simplify3D, the M218 command(s) need to be at the end of the start code (I set to zero at the start and to the actual offset at the end).

I use OctoPrint and its GCode viewer needs to know if the offset is in the GCode or in the firmware to show a correct representation of what the printer is doing.

Now to your issue with things showing fine in CuraLE but actually being printed offset. It sounds like the firmware may also be offsetting the coordinates in the GCode. I’d suggest something simple like a 5x5mm square and a 5x5mm square a layer height or two off the bed. Merge them in CuraLE, generate the GCode, and print. If they look good in CuraLE but print offset, post the .stl files and the GCode (in a .zip). Go to the printer console and enter the command “M218” which should print out what Marlin believes the offsets to be (and they should be 0,0 and 0,0).