<p>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.</p>
<p>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 &quot;build plate&quot;. 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.</p>
<p>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 <em>every</em> 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.</p>
<p>So, yeah, it's not easy at all to generate good G-Code for a belt printer.</p>

CC BY-SA 4.0
2020-10-14T14:19:26.880Z
2020-10-14T14:19:26.880Z
Matthias
<p>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.</p>
<p>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.</p>
<p>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.</p>

CC BY-SA 4.0
2020-08-31T15:58:14.277Z
I don't see why a flat (horizontal) belt-bed printer would need special gcode, but I haven't seen how angled versions print.
Davo
CC BY-SA 4.0
2020-08-31T16:03:55.007Z
@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...
R.. GitHub STOP HELPING ICE
<g-code><slicing>
How does G-code for belt bed printers work?
R.. GitHub STOP HELPING ICE
# How does G-code for belt bed printers work?

(Asked by: username_0 on 2020-08-31)

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.

**Tags:** g-code, slicing

> **Comments:**
> **username_1**: I don't see why a flat (horizontal) belt-bed printer would need special gcode, but I haven't seen how angled versions print.  
> **username_0**: @username_1: 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...  

---

## 1 answers

### Answer by username_2 on 2020-10-14. Score: 1

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.


---

