We needed to figure out how to use our CNC Machine interestingly, so we decided to mess up the 2 axis plotter, and make a different type of 2 axis plotter, where one axis is controlled through arduino code, and the other is controlled through the plotter, but they have a relationship.
Basically, there is a single axis of dots being drawn in BB
and this line of dots is being drawn on the plotter. Every time the plotter goes to draw, it clicks the limit switch,
Whenever the limit switch is clicked, the 1Axis CNC machine is told to change it’s move direction.
and you get behavior that look like this
This drawing had the speed at 100mm/s, but had 10000 lines being drawn, meant that the limit switch was being clicked very rapidly.
This drawing was made with a speed of 600mm/s and 1000 Straight lines as well, which on BB look like this
Check out THIS BB script online if you want them
All of this hardware was really janky..So we updated it in This tasty post
The new arduino code can be found here
It features a sweet delay, so the limit switch doesn’t freak out.
Using an I.V. Dripper, a bottle of india ink, and a paint brush head, I crafted an ever-filling paint brush with a (difficult) variable flow rate.
After running a couple of tests using my Egg drawing script HERE (which is a random path generated through the three branches of concentric points)
we generated some artistic drawings, slightly less inclined towards architectural discourse.
watch out Cy Twombly, here we come
After feeling like we got the hang of this whole dripping thing, we tried out some other scripts.
We then sent SVGs taken from Andrew’s Maze Generator, which walks while collecting its travelled coordinates in a list to reference to make sure that all travel paths are new, so as to prevent lines from overlapping. In the specific printed example, the points are replotted several times with slightly adjusted X/Y values, creating a drifting effect that evokes an isometric drawing.
By controlling flow rate differently between the two drawings we were able to achieve an interesting degree of depth, easily compared between the two drawings.
Other drawings produced include:
which were both repeats from two of my previous scripts, a point attracted grid of circles, and a spiral made of crosses which count the time, see below…
THE START OF IT ALL
The First round of drawings we produced were simply an attempt at understanding beetle blocks. I was initially interested in making code which uses some form of external input. Seeing that BB has a simple time function, I correlated the size of a cross shape to the current second. This then creates a radial logic of these crosses growing in shape over time. I think it’s kind of cool, acts like clock almost.
The difference between the two drawings is simply the time started. As the drawn image shows, if you start the code later in a minute, the clock sets the second back to zero, and the code starts drawing a new radial circle around the last point. Theoretically, if you ran this code for a few minutes, you will have something a little strange.
Actually…Let’s try it!
The BB Script can be found HERE
The next process of BB was to figure out some type of point attraction. I wanted to keep it real simple as I deformed a grid, and I figured the point attractor would be a straightforward challenge.
The BB Script can be found HERE
The first drawing (spiral) is a repeating walker that increases its step size with each iteration. Its rotation is random (within a specified domain, and at the end of each iteration, it attempts to wrap a full circle around itself. The second drawing is attempting to walk in increments of 1, while also keeping a log of its travelled coordinates, with the goal being to avoid walking to a coordinate that it has already been to, and to restart in a new position if out of options. (More comments in following post) The third drawing (grid) is drawing a series of squares which have an increasingly greater propensity for rotating off-axis as they move up in the Y. their degree of rotation is mapped to differing hue values on each square.