All pieces here were rendered by my AxiDraw V3/A3.
“Ribbons” are rendered by tracing a 3D curve with a fixed width, applying an isometric projection, and using occlusion to filter any overlapping sections. The next two pictures give a sense for how that works:
It’s surprising how much depth is added by dropping a few lines.
Unlike real-life ribbons, these “Ribbons” can intersect and pass through one another. Many interesting patterns appear when you start trying to draw many “Ribbons” on top of one another:
A few of my favorite outputs were inspired by the idea of making a “basket-weaving” of ribbons: