Fractal 1.0 – Let’s get the basics right

As some of you know, we’ve seen the first demonstration of Fractal at Autodesk University this year and I’ve been trying it out. After 22 hours, my @Fractal_live test project is still going on generating options. Maybe I overdid it a little bit with variables… — Chiara Rizzarda (@CrShelidon) 1 marzo 2017 If you don’t know […]

As some of you know, we’ve seen the first demonstration of Fractal at Autodesk University this year and I’ve been trying it out.

If you don’t know what Fractal is, in their own words it’s an on-line tool «the automatic generation of a wide sampling of options».

If you’re new to this, you also might want to watch this couple of videos:




– When to use it –

At the risk of stating the obvious, the portion of workflow you will find most use for it is the conceptual phase. You might be working out the concept of the whole building during predesign or you might be exploring variations for a single panel of your facade during design development, it doesn’t matter: what matters is that this is not a tool for documentation nor it’s a tool for design authoring in the strict sense. It’s a tool to aid you in your thinking.

The principle is the one behind generative design: you set up constraints and variables as part of your design process, launch a generative script, go out to have a drink with your friends and when you’re back the computer has generated a set of options for you to choose from. Fractal tries to add a learning principle to this mechanism: you can select a range of preferred options (or a range of preferred numerical outputs, as you see in Anthony Hauck‘s video, and start again from those in order to refine the generative process.

– How to use it? Few Vary Basic Examples –

First of all, you need to describe mathematically the idea behind your project and you need to do that using Dynamo Studio (yes, studio: I’ll explain in a while). This means that your geometry needs to be fully generated with Dynamo: mixed solutions won’t work that well.
Let me start from the very basics (I also recommend reading this article).
For instance, if you want your project to be the extrusion of a rectangle, this is how you describe it.


Now, in order for Fractal to do his trick (Fractal is like a man just as much as Dynamo and you’ll understand why in a while), you need to decide what is going to be variable and what is going to be fixed.
For instance, this is a completely variable rectangle, both in Depth and in Width. What Fractal will do is to provide you with rectangles in different shapes and sizes.


Some of you might remember that you can provide Dynamo with a range of values: by clicking on the arrow next to your number, you drop down additional options in order to do so.

Rectangle Width - Options
What I’m saying is that I want my rectangle width to be between a minimum of 1 and a maximum of 20, with possible variations each 0.5 (I’m thinking meters here).

The decision is crucial. If you want your rectangle to be always 7 meters long, and explore variables of the Width, just attach a fixed number in the correct parameter and let the other free to roam around.


Once you’re done describing your geometry, you need to publish your script to the web and for this you’ll need Dynamo Studio: the add-in for Revit doesn’t have this functionality.

Before you do that, however, you need to stop for a while and think if there’s something obvious to you but not so obvious for the computer, some roads you don’t want Fractal to go down to.
I’ll make another example.
Let’s assume that I have three very important points in my project brief and I want my building to be roughly described as a circle going through those points. They might be, for instance, three accesses to three different portions of the building. Dynamo has a node for that: it’s the Circle.ByThreePoints.



Now, Euclid has a couple of issues with all these coordinates being variables because, as you might guess, a circle can’t be formed by passing through three points in a row. That one is called a line.


You are completely sure that this won’t happen (or at least you should be) as long as you are the one inputing numbers. You can’t be equally sure when you let a computer do that. And you need to put failsafe measures into your script because with these kind of leaks in your script you are most likely to get a whole bunch of unwanted options simply saying “Hey, there was an error while generating this option”. You don’t want that. You’ll have enough valid options to deal with: I assure you.

Whatever solution you choose, it needs to be a solution that makes sense for your design. For instance you might want two of your points to be 1m distant one from the other and this did the trick for me.

I though I solved the issue by providing for the second point an x coordinate that was = y(p1) + 1

Let’s see what happens when I try to push this one to Fractal.
As I said, you need to publish your script to the web and that’s simple enough. It will ask you to log-in, so make sure you have your Autodesk account ready at hand.

Dynamo Studio - Send to the Web


When you go to, on the upper left menu you can pick “My Workspaces” and you’ll see that your scripts are already uploaded: it will ask you to log in and to authorize it with your Autodesk Credentials again.

Fractal Menu

You will then be able to pick from your scripts and open the Fractal Dashboard.

Test - Cilinder

The Fractal Dashboard is made up by two separate spaces, one next to the other: the first one, on the right, is the ribbon of parameters that will be alternatively tried in different variations. Each variation will then be loaded in the right portion, showing you the value for each parameters and the resulting geometry.

Fractal - Workspace - Highlights
Come on, click to enlarge, will you?

You can play with them manually (on the right) and save your options (on the left). Nothing revolutionary so far.
What you can also do, is press the Generate Button, sit back and wait while Fractal tries each and every possible variation in your design set by trying the lowest and the highest value possible, and a medium value between those two.

You can stop him anytime you want and sort the options by avoiding the ones with errors, for instance. You can also fav options and put them on top. Also, you can clear the slate and start over: it will save only your favourite options. You cannot really do anyhing while he is working: he won’t listen to you (and this is one of the reasons Fractal is like a man).

When he is done, the parameter combination matrix will look like this:

Parameters Completed

When you select an option below, a thick blue line will show you which combination path generated that option.

You get the idea of how that works, right?
You get the idea of how that works, right?

Now, the results I got in this situation were pretty basic: different cylinders with different diameters (based on my three key points) and different heights. Nothing special.

Cilinder - Animated

– Let’s spice it up –

Ok, so everybody could predict the results of that experiment, right? No results were unexpected: just a bunch of cylinders I could have designed myself.
The results were what I expected because I didn’t describe what I wanted: I described the geometry I wanted, which is the easy part.
However, the whole concept behind generative design is not knowing the geometry you want, specifying constraints in terms of performance and let the computer design the geometry for you.

This is what you get by rotating voids around a pyramid. I totally wasn’t expecting the last one.

So, here’s few rules to successfully use Fractal.

1. Name your sliders. This might sound silly, but you don’t want yout Fractal workspace to be filled with variables named “Number Slider” and “Integer Slider”;
2. Think parametric. try to put into Fractal the reasons you are designing a building and not the shape of the building itself;
3. Define rules. As Asimov teaches us, everything is good and fun with machines unless you fail in defining your basic rules: unless you place railings Fractal will run all over the place, so you need to tell him what you want to do but most importantly you need to tell him what you don’t want him to do, otherwise he will do it. In all possible variations.



Try to get the hang of it, ok? Now I’m busy with Singapore (we’re speaking at BILT at the end of the month) but we’ll do something nice with this as soon as I’m back.



SIDE NOTE: this month we have an article out, about design optioneering. You can find it in this magazine (English and Italian).

One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.