Have you ever wanted to rationalise your Topography as a Massing form, perhaps so you could use Divided Surface and panelization tools on the topo?
Here is one method:
Make a Site family with a vertical model line and height parameter (see sample file at end of post)
New Project – Make a Toposurface (or existing project with Topo)
New in-place Mass
Place the Site family on the Topo in one corner – it will detect the Topo and host itself to it, even though you are in the Massing environment
Copy a certain number of times in X direction. Basically, you are forming one part of a grid sampler…
Make a new Adaptive with the same number of points as step above. I made a 20 point adaptive.
Select all the points, make sure they are Adaptive, Spline through Points
You now have a 20pt Model Line spline… Load into Project
In Massing environment, place the 20pt component by clicking on the very top of the vertical Model Lines from the Site family (as you place it, the points will change to a smaller point size to show it is “living” on the top of that line)
Now, select the whole row of Site families and the 20pt component and copy it along the other planar axis (this is the other part of the sample grid mentioned in step 5)
As the elements are copied, the Site families will host themselves to the Topography, and the Spline will adjust accordingly
Now, select all of the spline families and Create Form!
You can adjust how close to the original site the Massing form is by using the height parameter of the Site model line family
… all of the ASP/IIS pre-requisites can be satisfied in the 2012 server Add Roles environment … The key is getting ASP 4.5 registered in IIS 8. To do this there is an extra feature that needs adding in the Add Roles environment. It is HTTP activation and it is found under .NET Framework 4.5 features/WCF Services.
In the past, whenever you built a parametric array in a family, you needed to handle the “break” condition – that is, if the array value drops to 1, you need an IF formula to actually keep it as 2, hide the array and show the single element. It works, but it is clumsy and needs some parameter obfuscation.
That is why a Divided Path,
with a Repeated 2 point Adaptive family with Reference Line connecting the points,
hosting “whatever” you want,
on a non-driving point that lives on the Reference Line,
is better – because when the number of divisions of the Divided Path is set to 2, there is still only one repeated element. No formulas or duplicated parameters needed… Also, Revit error checking usually kicks in when you try to set the Divided Path to “1” and it will prompt you before the thing breaks.
Very useful in situations like this curved adaptive Window family – it can have any number of panels, from 1 to 200 (thanks Aaron).
EDIT Following Aaron’s comment, here is some more “proof of concept”:
There are quite a few interesting ways to animate a Revit model these days. You can use Image-O-Matic, things like Level Displacer, and there is also an interesting SDK sample for animating structural elements.
From The Building Coder: One of the very visually impressive Revit 2014 API samples is the DisplacementElementAnimation application. It automatically animates groups of structural building members in any Revit BIM, proceeding sequentially from bottom level to top. It creates and executes an animation of the model by disassembling and then reassembling it from the ground up. The members are sorted into groups based on category and level and displaced from their actual position. Each group is then animated using the Idling event until the model is reassembled. It is an external application, so it is not automatically made available by installing RvtSamples, which just provides access to the external command SDK samples.
To get this running, you will need to install the 2014 SDK, open the applicable CS project, add the Reference Paths, Build it, add the dll and create the necessary .addin file. However, if you want this type of animation – it will probably be worth it!
Along similar lines, you may be interested in the 2014 DevDays resources: … here are the complete materials from the Revit 2014 DevDays presentations:
Chris Price has been pushing the limits. Check it out: “What I found was Revit would crash at around 580 conditional statements in a single formula… Surely Autodesk should know someone would try and do this, lol!
So how to get around this limitation, my first thought was to try and use “And” and “OR” conditions to try and reduce the number of required conditions. However, this was going to be extremely tedious and there would still be 168+… So then I decided to simply split across a couple of parameters. EG: I had 500 conditions in one parameter then linked to a different parameter with the remaining conditions. SOLVED!
I did note a large performance hit when changing parameters in the family editor. Changing any values would take 5-15 seconds. However, testing in a project and the changes are instant! So not sure why performance is fine in a project.”