Tuesday, 30 April 2013

The Complexity of Profiling – Nailed it or Failed it.



In my last couple of posts about profiling I suggested that creating complex profiles is an imprecise science, and exposes some of Revit/Vasari’s shortcomings.  I may have also used the words ‘failing’ and ‘hack’, and that’s really the essence of what I’m getting at. For this example, I’m going to focus on ‘spline by point’ massing types, as they seem to be simultaneously the most flexible, and the most problematic. Let’s start by making a general statement about what is hopefully going to be achieved:

Create an adaptive piece of geometry driven by parametrics that is flexible enough to be quickly modified within the project environment, and stable enough to mine information from.

Right, that’s a nice, simple, and realistic request of Revit/Vasari right? Well, no. The main problem is that while this program is powerful and has an established and progressive front end, the conceptual back end is very much a work in progress. Simple forms make the concept-to-project transition well, while more complicated forms are more complicated and create more complications.

So, the most frustrating part of generating complicated geometry is that when your conceptual forms break, you are not told why, or how to fix it. So this is a really a successful guide about unsuccessful form creation in Revit/Vasari using profiles. Actually, it’s more a list of questions I asked myself about the fundamentals of my approach when profile-rigs wouldn’t work (or stopped working) - which is just a nicer wait of saying I Failed It:

Is it the chain of elements that lead to the mass?

Is the fact that only the adaptive components move through the family hierarchy after placement?

Is it the line's inability to flex properly?

Is it the constraints of the underlying rig?

Is it the way the lines are hosted?

Is it the distance between the points along the line?

Is it the amount of points included in the spline?

Okay, so some of that was a little heavy, but the tentative conclusion of the problem here is really the behavior of the ‘spline by points’. The last few points really highlight the undiagnosed issue that Revit/Vasari has with complicated lofting and profiles. Let’s have a look using a more ‘in-place’ approach with 2 splines per rig.



Clearly it has failed to generate. Now, by making a seemingly simple modification to ONE of these rigs, we can get the WHOLE mass to work.



So, a couple of things we can say about this – and please note that these are my own conclusions – on how this kind of mass behaves and how to get it to work. Firstly, by pulling a singular point out of ‘alignment’, the mass functions. Secondly, you’ll notice that the points along this particular spline are quite numerous and close together - this is too complex for R/V to calculate/generate. After a lot of trial and error, I can give some pointers on how to construct these lofting profile-rigs:

  1. Keep the number of points of your ‘spline by points’ to the absolute minimum. There’s a compromise here on your part as a designer, because you simply cannot constrain it as far as you’d like to. So how many is too many? Well;
  2. The golden rule, for this mass at this scale, seems to be that R/V wants the points at around 2000mm/units  apart from each other at the more critical - that is to say curvilinear - locations (sorry to you imperial users - I have no idea how this will translate), and then it seems to function properly. This is an arbitrary number related to this example only.
  3. The surprise third thing is that it is actually to do with the ratio of points. As in, the height of the loft, the regularity of the rigs, and the amount of points constraining each spline. So why did this example work?
By pulling the single point out of plane, it enabled the distance along the spline to be increased, or it shifted the relationship of the ratios at play. The 2000mm/unit golden rule is NOT a constant for all masses – it will vary from mass to mass. This is a very imprecise guide on how you might get it to work, and an issue I’m sure I will revisit as I learn more.

 
Nailed it.