Saturday, March 16, 2019


Difficult to believe that more than 7 years have passed since my first pumpkin posts.  This was the beginning of my obsession with the Conceptual Massing Environment (I call it Point World) which continued for about 4 years, a period of intense learning. You can create some amazing geometries in Point World, but there are also significant limitations and drawbacks.

My ambition was to use these tools to create family objects: sanitary ware, furniture, classical ornament. Things with complex curvature. But there are two big issues: 1 file size, and 2 you can’t nest mass families inside ordinary families. (You can make adaptive components of many different categories, but they will not host on levels or work planes like any other "normal" Revit family.)

In the last post I looked at the potential of Onshape as a solid modelling package for tackling classical ornament, bringing geometry into family editor via ACIS (SAT). This route is also a way to overcome the two main drawbacks of point world. Which got me thinking about revisiting some of my pumpkin escapades.  The Festoon is a common decorative element in classical architecture. It derives from the garlands of leaves, fruit and cloth that used to be hung on buildings to celebrate feast days. There are endless variations on this theme, carved in stone on buildings around the world.

I was reminded of the corn cob I created for my second pumpkin adventure (Snow White meets Arcimboldo)  The overall form is a lofted surface, (formed of profiles hosted on a spline), which is patternised, and populated with a custom curtain panel.  

On Friday, in two sessions of about two hours each, I managed to apply this method to the Festoon motif, with some success. Let me walk you through it. 

The profile is an ordinary Generic Model family with model lines and labelled dimensions. This creates a half ellipse with a parameter to control the proportions.  I usually start off my parameters as single letters, so the formulas look like algebra. Then once it’s doing what I want I will rename the parameters that get exposed to end users using “plain language“  

In this case you get Bulge Factor as a type parameter. Small values will give a flatter shape.  Bulge Factor = 1, that would be a semi-circle. Radius should be an instance parameter to easily vary the size of different profiles, while maintaining the proportions.

Load this into a Conceptual Mass family. Note the grey background and 3d work planes. You are in Point World.  Place 3 points, select them and choose, spline through points. You get something very much like a catenary. If you move any of these points the curve will adapt. They are “Driving Points”.  Now add more points to the line. These will be hosted points and their positions on the line are given by a parameter between 0 and 1 (Normalised Curve Parameter)  We need one in the middle and one close to each end. You can make the work planes visible (show work planes always)

Set the current work plane to one of these and place a profile on the point. You might have to rotate it 90 degrees.   For the GM profile to work in this context you need to reset two checkbox parameters from their default positions.  (Work Plane Based, & Not Always Vertical)  You may have a noticed that I initially had the Radius as a Type Parameter, so I had to change this also.  I have a little trick I like to use.  Place one point, and add a profile.  Select both and copy multiple into empty space.  Select the new points and “pick host”  I find it less tedious than repeatedly going “show reference planes always”, “set work plane” and “place instance”

Big profile in the middle, small ones at each end.  Select the 3 profiles and the spline, then hit “create form“  The result is pretty much a festoon, and it’s a surface. You can select this surface and divide it, then use those divisions to apply a pattern.

I tried the half step pattern and quickly realised that the results were not symmetrical. So best make one half of the festoon, export to SAT, and use two mirrored copies of the results.

The curtain panel family gave me some trouble. New family and choose Curtain Panel by Pattern. Select the grid and choose the type that matches your divided surface. Half Step has 6 points and 6 reference lines.

These families are supposed to keep your design intent even when they are twisted and bent to fit around a surface. So one of the tricks is to host a point on a point and give it an offset. Every point has 3 work planes (XYZ) so you have to set work plane before placing the point. The offset will push it out at right angles to this plane, depending where the point lies on a curved surface.

When I loaded my half-step panel into the surface it kept breaking so I reverted to a square grid. Finally I got some geometry to form... Looked more like a porcupine.

The curtain panels will all be different sizes, so the trick is to use a reporting parameter to drive the offsets. Something strange about this though. The values are much higher than expected. I introduced a global scale factor to adjust all the offsets with one type parameter and just tweaked until it looked right.

Eventually I settled on a panel that’s a blend between two segmental profiles. There are 3 offset  parameters, all calculated a reporting parameter which measures the width of each panel instance. I can’t understand why these offsets would be affected by the straightness of the path that the blend follows (all other things being equal)  

Maybe it’s a bug.  Or maybe I have done something weird with the reporting parameter.  Anyway, my workaround of inserting a type factor into all three equations was simple and effective.

Export to SAT and bring that back into an ordinary GM template. Add a few revolves and it’s looking half decent.  Maybe the tassles are a bit oversized in relation to the central garland.


I need a straight piece hanging down. This was pretty easy. “Save as”, the curved garland and push the middle point into line with the two ends. As discussed above, the panels become very flat. Still don’t understand that but it was simply fixed using the global scale factor “F”.

I intended to open the SAT export in 2014, scale it down a bit, explode and bring back to 2018. (This is partly about applying materials.)  

Sadly some of the panels dropped out on exploding.  So I tried another strategy.

Give the festoon a base plate to sit on, then go to a left side view and rotate the straight garland a bit so the two side rows get buried in the base. Ultimately I should go back and rebuild the massing family, reduce the width of the profiles and number of rows, the re export. But for now this works as a quick fix

Been a while since I fired up Enscape3d. Still working fine, and I fiddled about with Pixlr to come up with the final image.

Already I generated two different curved garlands plus a straight one. Once you have a concept set up in Point World creating variations on a theme is child’s play. Probably need to explore some different curtain panels next. Maybe an attempt at an oak leaf?

In conclusion, recapturing my pumpkin skills could be another way to approach some of those tricky classical motifs. Stay tuned: more to come.


  1. Excellent! Thanks for sharing all this knowledge!

  2. thank for the wonderful post , lots of information gained , visit us Revit Modeling in India


I've been getting a lot of spam so had to tighten up comments permissions. Sorry for any inconvenience. I do like to hear from real people