Endless City: a plotter that draws a city without end

A generative drawing machine. Code invents skyscrapers, an XY plotter draws them, and the paper rolls on.

The XY plotter from above, drawing a skyscraper on a paper roll in a wooden frame
Year
2019–2021
Context
Own project
My role
Concept, Processing and Arduino code, mechanics
Tools
Processing, Java, Arduino, G-code, Makeblock XY-Plotter, Raspberry Pi

Idea

A city that never ends. Every building is new, none is repeated, and the paper keeps moving.

How it works

I wrote the software myself in Processing. It builds each skyscraper from 3D boxes with random width, height and depth, adds rows of windows and projects the result onto the paper plane. The lines go to the plotter as G-code over a serial connection.

void plotterPocess(){
  if(nextPoint==0) {executionOrder("StartSketch");}
  else if (reached && nextPoint>0 && nextPoint<currentSkyScr.path.size()) {executionOrder("ContinueSketch");}
  else if (reached && nextPoint==currentSkyScr.path.size()){executionOrder("DrawPaper");}
  ...
}

The plotter is a Makeblock XY-Plotter with adjusted Arduino firmware. An extra DC motor moves the paper roll after each building. A Raspberry Pi starts everything on its own, so the machine can run in an exhibition without me.

Result

The machine ran in my solo exhibition “Endless City” at Weltcafé Gerlingen (2021–22).

Endless City, the plotter at work