Solidoodle and Cura

I've been using RepetierHost and slic3r on Fedora forever, but now that I have an infinitely more accurate hotend and extruder, I thought I should get cura (with all the infinite number of tweaks it has available to play with) working.

Another thing that helps is that cura is available in the fedora repos, and RepetierHost is not. I've been installing it manually.

RepetierHost wanted a lot more information about the bed shape than cura did which confused me no end till I realized that RepetierHost is trying to tell you where the print head is at all times, and cura doesn't have any of that kind of feedback, so it doesn't need to know things like where X,Y is following a home command. As long as Marlin knows, cura can tell it to move somewhere in the valid printbed geometry and Marlin will get there without cura needing to know anything other than the bed dimensions.

I needed to tell it the extruder is a 0.4mm nozzle and uses 1.75mm filament, and that completed the basic setup.

One trick that takes a while to discover is that cura will put code ahead of the so-called start up code unless you put some magical variable substitutions in the code.

Here's the start up script that now seems to work for me:

G21; set mm units
G90; use absolute movement
G28 X0;  home X
G28 Y0;  home Y
G1 Y50 F4800;  move Y in front of all pipe cleaner loops
M190 S96;     get print bed up to 96 degrees
M140 S{material_bed_temperature};     then send it up to 105 without waiting
M109 S{material_print_temperature};     get hot end to 215 degrees
M104 S{material_print_temperature};     and keep it there
G28 Z0;  home Z
G28 Y0;  home Y, scraping off all drool on pipe cleaners
G92 E0; reset extruder distance

Those variables surrounded by {} are the magic you need to keep cura from putting code ahead of your startup code.

My initial print was kind of bad, but that seems to have been mostly due to bed level issues. With the bed set correctly, I got much better prints, but the brim looked like the lines collided some on the inside corners and the brim lifted off the bed a bit.

I measured the wall thickness of my flow cube and got 0.46, so I told cura the line width was 0.46 instead of 0.4 and my next flow cube print was perfect. No collisions in the brim corners, everything flat on the bed, no pinholes around the edges of the wall. I think that's the only real number I needed to override to get pretty much flawless prints.

One of the reasons I wanted to use cura is the merge model feature. If I split a model into separate disjoint parts (which I do in openscad by intersecting with a mask to get one stl and differencing with the same mask to get the other), I can then load both those models into cura, select them one at a time, and override the slicer settings for each selected model. Then use the merge models feature and slice them. For the cooling fan platform I used this feature to make some parts of the platform really strong and other parts really light.

For future cura experiments, I see there is a feature allowing me to define "no go" areas on the bed, so if I get really ambitious I can get some bed space back and still avoid hitting things. I'd probably need to define a .json file with a solidoodle definition to get this to work. There isn't anything in the gui to access this feature.

Go back to my main Solidoodle page.

Page last modified Wed Sep 1 20:40:33 2021