February 2012


Here is a funny sketching system for the “SPEC” homework. [GHX: 0.8.0066] Four (or more) points are created using 2d sliders (MD slider) and decomposed these points into x,y and z numbers. Then, they are re-populated in 3d points by changing their plane. X coordinates are connected into Y, and Y coordinates are connected to Z’s. Tricky part comes then, the X number is defined by a serie of numbers started from 0 to 30 by 1. After that, polylines are constructed using the new point list. Data recorder is initialized to […]


Today, we’ve studied ways of representing multiple data structures in Grasshopper. As of our last week’s experience, sometimes (most of the time actually) we’ll need to work with vast amount of data. We’ll have to control them in order to open door for further explorations. Today’s exercise was a good example of this “sustainable” process of data management. All functionality of Grasshopper is based on data matching. From short-list, long-list matching, to the structures of data trees. The simple solution to a one-point attractor on a grid represents this very […]


This is the basic definition of one point attractor on a grid of points. [GHX: 0.8.0066] Here, fundamentals of data tree matching can be studied. A hexagonal grid is exploded into points and new polygons are created there. Instead of a standard point distance relation to polygon size, this time the distance factor effects rotational angle of these polygons. Although the structure of data trees are getting complicated, this has no difficulty on such definition, because the operational complexity is still very simple. This means, we might use complex data trees, however the […]


So far, only Yağız Özkan posted an animated solution; Now, they seem to improve much, as they will now include operations on data trees. Yağız constructed a complex diagram, defining each point and curve seperately. Today, we’ve seen methods to shorten these diagrams and improve effectiveness of the plug-in. Important part of that study was to develop a proactive behaviour on creating Grasshopper definitions from the hand-drawn diagrams. We need to study all components, their input and output types carefully, so that we’ll be able to tell Grasshopper what to […]


Maybe a huge kitsch for contemporary architecture, I know, but a good example of a fundamental problem of constructing geometric relationships. In ARCH362 today, we’ve examined the geometric modeling process that opens us parametric relationships just by converting it into a diagram of design history. You may follow the construction of such a diagram step by step and see the possible parameters emerged from it. Only rule of this construction is the connection from the left side of the component (node) represents an input to that node, and the connection […]


Whenever we try to define something suitable for our design intentions, it became somehow closely related with the design tool. Contemporary theory of computational design (or design computing) has many definitions. In this website we look at that from the perspective of method and it’s theory underneath, not the tools; but however it finally comes to a point that we -again- start to talk about “tools”. Whatever, the purpose is “the process” or the associative geometries, even a diagram is again developed from the “computerization” of our minds. Some people […]


Today, we’ve concentrated on the fundamental issue of any visual programming language; the dataflow management. In a most basic form of this conception; geometric modeling process can be derived in such a way that we can always go back in it’s history and change any input data to see the result. We use diagrams to represent a flow of data. Such diagrams could easily be created by representing the conscious sequence of each step of your geometric modeling process. Although it seems similar to regular control flow diagrams we create […]


Here are some of the results of first assignment, “Reptile Skin”. Generally, we couldn’t manage to develop innovative solutions to the problem. But this became a good starting point for understanding the method of “skins of components” in contemporary digital design. Before going into any control over the flow of data, it’s hard to maintain associative geometries. We usually feel stuck within the capabilities of the single commands or procedures. That’s why, digital design deals with “processes” much more intensively than the formal outputs and develop tools and methods to […]


In recent years, computational approaches in architecture started to change the scope of the architect’s work. He/she is not any more a passive tool user instead, became a casual tool developer. Conventional CAD systems that focus on geometric representation of a designed artifact, are transforming into systems in which the design is represented as a parametric process. By increasing utilization of these systems in architectural design process, parametric modeling is integrated not only as a new medium of design representation, but also as a design method. Designing the design implies designing the design procedure on geometric and on procedural level. Parametric methods […]


Here are three technical tips, that might help you model in Rhinoceros faster. Please note that, in most cases, you’ll find CTRL+F1,F2,F3 and F4 very helpful in modeling and transforming objects in digital space. These key combinations will focus you on Top, Front, Left and Perspective views (maximized) respectively. Also, when you try to express your design process (especially supporting geometries) using different linetypes, it’s possible that you’ll never like those preset linetypes. By choosing Tools / Options, you’ll have the opportunity to change and add new linetypes at “Linetypes” tab there. Just play […]


Here are the files of first week. Course introduction (English / Turkish) and first homework assignment. Today, we’ve seen examples and some basic techniques regarding the main concepts of design computing. Tried to create our first associative systems using recording history of events in Rhinoceros. First homework is design of an animated form, simulating the geometric and topological behaviour of a reptile skin. It is a component-based form-finding exercise, introducing some of the principal concepts of associative geometry and recursive [history-enabled] design process. You’ll analyse the formation of a reptile’s skin pattern, and try to […]


That was about six months ago, our study for a design competition required a spatial allocation algorithm. An office building with a rectangular plot and a strict functional requirement forced me to the good old voronoi diagrams, subdividing a surface. Here is the definition file: [GHX: 0.8.0066]. However, there were other design parameters such as the sunlight and orientations of each functional cell. Combining a couple of graph components helped me to create diverse solutions, that are later used in functional-formal interpretation phase. Unfortunately later on, the competition cancelled and this […]


This is the old-method Parametric Truss definition. Interestingly this quickly became a solid solution, used and taught for years. I couldn’t find a better answer yet. As Grasshopper updates, some of the components in this definition change but overall structure remains. Subdivision of a free-form surface and addition of geometric components has, of course a wide range of alternatives. Maybe we should combine this with different problems and solutions we’ve talked about earlier in this website. Here are the geometric model and parametric definition files. [3DM: truss] [GHX: 0.8.0066] The same solution can […]


[GHX:0.8.0066] This is a rather traditional geometry exercise we used to make in MaxScript. Grasshopper is also quite capable of associative geometry and real-time parametric designs of objects. Exercise of designing a furniture family should be based on a design research, followed by the shape alternatives and sketches (both digital and hand), then might be finalized using this parametric design environment. However, the example presented here is one of the most simplistic solutions to a furniture familly. This may be furter developed regarding details and diversity of geometry.


In this experiment, I’m trying to use data recorder to change components on a surface. The component part is a standart triangular construction, but the attractor points are defined by a 2D slider that is connected to a data recorder. Data recorder remembers last 15 points, while you move the 2d slider, last 15 points are projected on the base surface. This creates an illusion as if a “snake” game on a surface. Definition then uses the closes point distance method to calculate a parameter and uses it to amplify […]


At the initial design phase of an apartment project in İstanbul, Nilüfer Kozikoğlu (TUŞPA Architecture) has offered me a job I haven’t done in Grasshopper before. This definition includes a sketch of a possible apartment renewal, analyzing and optimizing data from the contractor’s and property owners’ perspective. It also checks if the proposed solution is appropriate according to the building regulations for that area. In Turkish, KAKS means the maximum total floor area / land area, and TAKS means building base area / land area. All data input are parametric, […]


Design of Chinese lattices, used in windows and doors especially in 19th century, called in short “ice-ray” is one of the classic studies that are used to express shape grammars, algorithmic design; maybe the roots of computational design at all. They are introduced analytically by Daniel Sheets Dye, and explained by George Stiny, based on parametric shape grammars approach. He explained shape rules and the abstract machine that produces these subdivisions. I was especially interested in Shape Grammars when I was a graduate student, also I coded a Shape Grammars […]


In order to start creating recursive algorithms in Grasshopper, I finally managed to run Hoopsnake, a special component developed by Yiannis Chatzikonstantinou. This will help me develop parametric models that include loops. The fundamental experiment here shows a surface subdivision based on iterations. We should define a starting object or data, an operation to be repeated, and a limit that will tell Hoopsnake to stop looping. In this condition, this is the area of surface, put into a logic (larger than…). Here is the definition: [GHX: 0.8.0066 + HOOPSNAKE needed] […]


This is a starting point of pattern generation study in a dataflow environment. Based on Hankin’s method of Islamic Pattern generations, I tried to simulate his process beginning with a basic regular tiling (regular hexagonal tessellation). This and other methods are explained in phD thesis of Craig S. Kaplan (here) Grasshopper definition can be downloaded here: [GHX file:0.8.0063] This approach is especially good at deformations from various attractors (without breaking linear stability). Further research should include other generation methods such as the rule-based approach that, at first sight seems to […]