Jeremy's almost but not quite entirely moribund blog

Sunday, July 28, 2019

Cura settings for M3D Crane Quad

My wife won an M3D Crane Quad in a 3D model designing contest. The quad filament mixing head is an interesting gimmick, with two major drawbacks:
  1. It takes a crapton of wasted filament to switch colors mid-layer (gradients are fine though)
  2. There is limited software support
Voxelizer supports the printer out of the box, but in my experience this slicer doesn't work well for models with tight tolerances. I use Cura when I print things with moving parts. It takes a bit of effort to set it up, however, since there is not a built-in printer profile. Here are the settings I ended up with:

Printer type
Custom FFF printer

Printer tab
X (Width): 230 mm
Y (Depth): 230 mm
Z (Height): 250 mm
Build plate shape: Rectangular
Origin at center: No
Heated bed: Yes
G-code flavor: RepRap
Number of extruders: 1

Extruder 1
Nozzle size: 0.35mm
Compatible material diameter: 1.75mm
Nozzle offset X: 0
Nozzle offset Y: 0
Cooling fan number: 0

Start G-code
M140 S{material_bed_temperature}
M109 S{material_print_temperature}
M190 S{material_bed_temperature}
G28
G92 E0
G1 F200 E3
G92 E0
M567 P0 E1:0:0:0 ; SET FILAMENT MIX HERE
This code allows the hotend and the bed to heat up simultaneously.
The M567 command sets the filament mix. Provide four numbers separated by colons that add up to 1. The example above uses the first filament. You can edit the gcode file and insert color changes at specific layers, which are identified by comments in the file.

End G-code
M104 S0
M140 S0
G91 ; relative positioning
G0 Z50; lift the head
G90 ; absolute positioning
G0 X0 Y{machine_depth}
M84
This lifts the printhead and moves the bed forward after the print finishes, to make it easier to access the model.

What about native multi-extruder support?
I did some experimentation with configuring the printer to have 4 extruders in Cura, to natively support switching filaments (but not mixing them!). This involves creating tool configurations in the start G-code via the M563 command, with one tool per extruder. Cura thinks they are entirely independent hotends, however, and tries to warm one up while cooling the current one down to standby, which causes problems when they're all the same heater. I figure it's better just to manually insert the M567 commands to set/switch filaments.