Tags: digital-fabrication, fabbing, generative, hyperwerk, laser-cutting, processing.org, Workshops
We’re making good progress at the HyperWerk digital fabrication workshop, see the new Fabbing @ HyperWerk Flickr group for details.

We’re making good progress at the HyperWerk digital fabrication workshop, see the new Fabbing @ HyperWerk Flickr group for details.
Digital fabrication tools like CNC milling and laser cutting impose their own restrictions on production, such as what materials can used and what size objects can be processed. Additionally, in order to produce a 3D form using a 2D technique like laser cutting, some way must be found for translating 3D into 2D and back again.
Possible fabrication strategies
For a more complete list of strategies, look at this page from Ball State University. The PDF they link to contains a ton of great examples.
I’m at HyperWerk in Basel, Switzerland teaching a workshop in parametric design for the next two weeks. Files will be uploaded to the following address:
http://workshop.evolutionzone.com/workshops/080218_hyperwerk/
Task for the day:
Turns out Java has no mechanism for discovering the names of disk volumes. You can use java.io.File.listRoots() to get the root paths for multiple disks, but you can’t auto-discover their names.
Here’s a quick hack that will work on Windows. It uses Runtime.getRuntime().exec() to run “cmd /c dir
import java.io.*;
void setup() {
println("Testing getVolName");
String path="D:";
println("Volume name for "+path+" is: "+
"'"+getDiskVolumeName(path)+"'");
}
public static String getDiskVolumeName(String path) {
String volname="Unknown";
String check="Volume in drive "+path.charAt(0)+" is ";
try {
Process p=Runtime.getRuntime().exec("cmd /c dir "+path);
//p.waitFor();
BufferedReader reader=new BufferedReader(
new InputStreamReader(p.getInputStream()));
String line=reader.readLine();
while(line!=null) {
if(line.indexOf(check)!=-1)
volname=line.substring(line.indexOf(check)+check.length());
// System.out.println(line);
line=reader.readLine();
}
}
catch(Exception e1) {
println("Failure: "+e1.toString());
}
return volname;
}
This landscape of randomized cube-like structures proved popular with the students in the AHO workshop:
MIT IAP RhinoScript workshop - Danzer Variations
While looking for RhinoScript resources for the Digital Architecture workshop at AHO I found a recent posting of the final projects from a RhinoScript workshop at MIT IAP. It features some very nice-looking work, including the Danzer tile forms shown above. It also provides the source code for most of the experiments, well worth checking out.
The resource page for a previous MIT workshop is still up, it has more scripts and some useful links: Computational Design Solutions Part 1.
I am teaching a 3-day workshop in Digital Architecture at the Oslo School of Architecture & Design (AHO) this week, as part of a course by Søren Sørensen. The workshop will give an introduction to Processing, with a focus on synthesis of spatial form. If time permits we’ll also look briefly at Rhinoscript.
Be sure to look at the page I have prepared with links related to computational architecture. Code will be uploaded to:
http://workshop.evolutionzone.com/workshops/080211_aho.
Rishaug & Watz [NO] at Generator.x 2.0 (video by pablosanz)
I just finished a set of concerts with Alexander Rishaug, starting in Berlin at CTM.08 / Generator.x 2.0: Audio-Visual. This week we did two more gigs, first at VJ picks DJ in Bergen and finally on our home turf at Kabinett #3 in Oslo. For an impression of the set you can have a look at the clip above, posted by Pablo Sanz. For a short interview you can take a look at WatchBerlin's coverage of the concert and exhibition opening.
It was great to play with Alexander and develop our collaboration further, his cinematic soundscapes are a treat to work with. Audience responses seem to indicate that we’re doing something right, so hopefully we’ll find more chances to play together in the near future.
Rhinoscript sketch, extruding a revolution surface along random curves. Good cheesy fun.
I had a chance to see a bit more of the impressive tool Rhino 4 during the Generator.x 2.0 workshop, and so I thought I’d have a go at making a simple sketch in Rhinoscript. As it turns out, the fact that Rhinoscript is based on VBScript makes coding feel horrible at first. Seriously, who would want to use syntax like that? It might be easy for beginners to pick up, but it quickly gets painful once you’re dealing with complex API calls and 100+ lines of code.
Nevertheless, frustration soon gives way to amazement at the built-in Rhino library and its vast array of heavy-duty functions for creating and manipulating curves, meshes and NURBS surfaces. In comparison, mesh generation in Processing is enough to give anyone a headache, and I seriously doubt anyone would even attempt to implement NURBS. Even Boolean mesh operations is a staggering task, with no good Java libraries readily available.
While Rhinoscript is firmly a non-realtime tool, its power for pure geometry is amazing. I would definitely use Rhino as a creative tool for digital fabrication projects, where animation is not the goal. There are some excellent RhinoScript resources online, for starters look at RhinoScript 101 and David Rutten’s tutorial. I would also definitely recommend using the Monkey Script editor instead of the built-in editor, it’s more powerful and has a very useful documentation feature.
The script below gives a basic idea of the Rhino syntax, and while it is a basic sketch suffering from 3D clichées, it shows the power and versatility of Rhinoscript. I just wish it wasn’t Visual Basic.