Are there any good resources on understanding how G-code/slicing for belt bed printers works? I'm told the upcoming Creality 3DPrintMill is being used with Blackbelt Cura, which seems to be a fork of a really old Cura modified in some way for belt bed printers, but I didn't find much information on how it actually works.

In particular, do these printers use normal gcode? What is the coordinate system like? Conceptually the axes are not orthogonal but skew (e.g. 45°) to the belt axis, and part of my question is whether the coordinate system is in this skew basis, or somehow transformed in firmware to an orthogonal basis.

In asking this, I'm partly aiming to determine how hard it would be to use existing/unmodified software (e.g. upstream Cura) to slice for such a machine, possibly with postprocessing of the gcode.

  • $\begingroup$ I don't see why a flat (horizontal) belt-bed printer would need special gcode, but I haven't seen how angled versions print. $\endgroup$ – Davo Aug 31 '20 at 15:58
  • $\begingroup$ @Davo: Unlike normal printers, you don't have 3 perpendicular axes; the "XY-like plane" is at a typically 45° angle to the (infinite) third axis. If you just transformed the coordinates to a normal orthogonal space and printed layers starting with the bed and working up, you'd lose half the advantage of the infinite axis (being able to print things larger than the printer). As I understand the infinite axis is normally moved like a Z, and the layers are printed in the skew XY-like plane... $\endgroup$ – R.. GitHub STOP HELPING ICE Aug 31 '20 at 16:03

Belt printers use existing 3d printer hardware, including controllers and steppers. The Z axis is tilted at 45 degrees (usually). So to answer the first part of your question: yes, you can use G-Code to control the printer, just as you would with an upright printer.

I don't know a good resource that describes everything, but I will try my best here: it's not enough to just skew everything. Basically, you need to rotate all you models at 45 degrees along the x axis, using an imaginary 45 degree plane as the "build plate". Then, the model needs to be skewed, so that everything that would otherwise be on the build plate is now at y=0. Z needs to be scaled by sqrt(2) to make up for the diagonal belt. The result should be a working G-Code.

But if that's not enough, the issues are in the details. Supports will not work as expected at all. Supports in positive y need to start at 0 degrees, whereas in negative y, you need no support at all. Rafts need to be placed quite counterintuitively on zero y instead of zero x. And giving the build plate/belt a different extrusion temperature is also difficult, because every build plane touches the belt at some point unless it is a bridge. Oh, yeah, and bridges work perpendicular to the build plate instead of parallel to it.

So, yeah, it's not easy at all to generate good G-Code for a belt printer.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.