EX.01 2D DWG


Drawing 6 :
Drawing 5:

This technique used selective color printing, mixing a ball point pen with pastels. They are both the same drawing, just with different layers printed using a ball point pen. We thought that the would blend into each other more, and in certain parts they did, but obviously we weren’t able to fine lines that we wanted. The order is important, you need to draw with pen first, then you can go back and draw with pastels



[ Image Tracing in BB: ]

code download-1 download

The Image Tracing experiment in Beetle Blocks combines a series of sorting algorithms that translate a flat array of point-values into a hierarchical structure of nested lists. This script is a completely reworked version of the initial attempt at image tracing. First, the Data_Update component translates a string of numbers exported from a Grasshopper Image Sampler into 16 different lists of floats (the lists had to be broken up, since BB GUI is not designed to handle a string longer than 6000 characters). Each value represents a color intensity at a point on an image (note that point coordinates themselves are not included just yet). Then Populate_Drive combines all 16 lists into one flat list for future use. Next, Readlines component loops over the combined list of values in order to tie each color intensity value to a point coordinate in space. Given that the original list inherited from Grasshopper is sorted, the Readlines component is able to establish a grid of coordinates if given the total number of points in X and Y dimensions. Therefore, the output of Readlines is a list containing a series of 3-item sublists that represent points of the image. Each of the sublists contains the following information: [X, Y, intensity].


Next, the Extract Shade component filters the point values into 5 channels based on the light intensity – from Lightest to Darkest. This nested list containing all the points sorted into 5 different channels, is in turn passed on to the IsolateRegions function that starts with a point and then checks if there are any other points in its ‘neighborhood’ that lie right next to it. The points are then clustered into color patches and can be later used as objects for future operations. Finally, the developed data structure can be used in order to operate separately on individual channels, blocks and color patches.


[ Grasshopper to BB data transfer: ]

1 2
 The Grasshopper file uses a GH Image Sampler in order to convert pixel intensity values into a string of text that can be later used in Beetle Blocks. First, create a point anywhere in Rhino space and feed it to the Pt node of the definition. Then adjust the sliders to determine the number of X and Y values (think of them as points or pixels of your output image) that will determine both the aspect ratio and the resolution.

GH Image sampler maps the raster pixel values onto a grid and then outputs a list of color values. This list is then formatted with a simple Python script and outputted in comment panels on the right. The original list of values is divided into 16 sublists,  because Beetle Blocks’s GUI has not been designed to handle super-long strings of data.

Finally, right click on the comment panels to the right and select “Copy Data Only.” This string can be now placed into BB “Divide by…” component

GH file download link: Image_Sampler.gh


[ Vinyl cutter drawings ]

img_0775 img_0816
img_0707 img_0721

Attempt 4: New drawings


img_0770 img_0768

Attempt 3 : Attached an IV with ink and a a roll of brillo pad to see a smearing effect on the deposited ink


img_0755 img_0754

Attempt 2 : Modified the carriage to be a lot more sturdy, also had to make modifications that prevented the spirograph pen holder from crashing into the roller at the end.


IMG_0694 IMG_0695

Attempt 1 : The goal was to make an extension to the printing carriage  with a rotating pen holder. We wanted to introduce a for of randomness that used the movement of the printer head.


materials: Plexi 1/8″,  Basswood 1/4″ x 1/4″,  3D Printed pen holder,  Lots of electrical tape



[ Drawings ] – SP:

Image_Sampler_1 Image_Sampler_Code
An attempt to bring a large data structure from Grasshopper into BB in order to experiment with raster input. A detailed explanation of what it is and how it works can be found above.

BB definition



[ Drawings ] – BT:

PRINT THIS circle2squarescript IMG_0670IMG_0671Capture

A general gradation from a square to a circle.

BB code

What we originally thought would be a simple interpolation function turned out to be a lot more complicated.



[ Drawings ] – BT: 

Rounded squares (1) Grid (4) ss_brute_force_attack1
The first drawing is a simple pattern rotation, incrementally scaling and rotating while referencing a color wheel. The second one is made up of intersecting sets of staggered lines. The code for this drawing is not available, since I have somehow managed to forget my password and ended up logged out of my Beetle Blocks account. Brute forcing of the Beetle Blocks website did not succeed either.



[ Drawings ] – SP: 

Drawing_6 code_1 Second_Drawing_2 code_2

The first drawing is made up of circles with progressively offset centerpoints and increasing radii. Only a part of a circle is drawn (the extent to which a circle is exposed is randomized through).

The BB definition

In the second drawing a grid of progressively distorted Sine curves is being gradually displaced in the Y axis.

The BB definition