How to create a bulge shape?

I’m trying to create a bulge in Dynamo based on a closed boundary curve and optional two cross curves. In Rhino or Inventor for example you can select the boundary and cross sections and use the patch or 2 sweep commando. Inventor also has a bulge feature where you select the surface and it creates a bulge surface. Since Dynamo doesn’t like self intersecting surfaces and therefore the loft nodes don’t work in this case, what is the best method to achieve this shape in Dynamo?

Bulge.dyn (22.1 KB)

This is as close as I can get with what’s available out of the box:




@Andrew_Page1 Lofting curves along one of the cross curves generates something like this …
Bulge-20180316.dyn (25.9 KB)


Both examples shows the use of lofting multiple profiles. Consequently, You never really get a closed smooth surface. I’ve just used your method on a similar situation.

Since Dynamo is open source, is it possible to access the “geometry source” or is it hardwired? It would be extremely useful to have a node where you can select multiple curves and Dynamo creates a surface.

For now, your method gets you close enough to the desired surface or I’ll need to use Rhino and import the surface back into Dynamo.

Dynamo is open source but the geometry kernel behind it is not :frowning:

Edit: Nurbs surfaces by definition can not be closed because they have to be parametricised ([0:1] in both u and v). They can only appear closed. I think the only exception to that is periodic surfaces but I’m not sure if those are supported.

1 Like

Why do you say so?

Approach might vary depending on the nature of the geometry to be generated.
Slightly altered workflow …
LoftSurface.dyn (19.8 KB)

You could also generate a nurbs surface :slight_smile:
NurbsSurface.dyn (23.0 KB)

1 Like

Adding the final profile to the loft or divide the top part of the curve is a nice workaround. Hopefully in future releases, the development team make it possible to create 3d patches on a fly.

Hi Andrew,

Have you looked into TSplines? It is not enabled by default, but it provides an enormous amount of (experimental) free form topological modelling functionality in dynamo. Check out this introduction:

See my approach using tsplines below and attached.
This geometry does not exactly match your input curve.

Bulge-TSplines.dyn (39.4 KB)


Actually I have and tried replicateing this workflow, However, I got the same uneven surface when using curves. Your example look promising.

Hopefully I can find more tutorials or case studies using TSplines to get a much better understanding of the package.

@Andrew_Page1 Is this similar to what you’re looking for regarding shape? It’s a single surface.

I split the base curve into two to provide cross-sections to list with the central cross curve.
And added two additional tiny ‘cheat’ curves to provide guide curves to list with the central longitudinal curve.
Bulge-RitchieJ.dyn (15.2 KB)

To get the exact shape you want you’ll need to provide additional points on the base curves to control ‘tangents’ where the original was split.

1 Like

Yeah, learning TSplines from dynamo will be very difficult. It would really help to understand explicit (manual) topological modeling first.
There used to be a Rhino plugin, but now there’s TSplines in Fusion 360 (Sculpt environment) It has a pretty intuitive interface with a shallow learning curve.

I think they have a free plan for hobbyists and a trial license.

TSplines in fusion is nice because you can export and import TSM and TSS then read them in dynamo.

Familiarity with any SubD modeller and the concepts will help though eg:

  • Maya
  • Blender
  • 3DS Max
  • ZBrush
1 Like

I’ve done a quick test with your method and it will probably work best if more cross sections are added to follow the top arc.

Fusion is indeed awesome. Unfortunately, Autodesk seems to discourage the use of Fusion for the AEC industry.

@Andrew_Page1 Without the DYN file I can’t tell how you’ve constructed it. You appear to be using far too many control points on the base curve and have omitted the central longitudinal curve in the surface calculation – so it only partially replicates my method.

Bulge.dyn (43.5 KB)

Perhaps you would be interested in the package DynaShape.

I have not personally had much experience using this package, but i have used Kangaroo physics for grasshopper extensively - DynaShape is the Dynamo response to Kangaroo and looks like it would help you generate the sort of relaxed form (doubly-curved, funicular geometry) you refer to as a ‘Bulge’.

Actually, that was the first method I tried, but couldn’t get the package to work](DynaShape Published). Long Nguyen tried to remedy the problem through teamviewer, but there seems to be some issues related to my PC.

In either case, it’s great that we have those abilities now in Dynamo.

@Andrew_Page1 Your updated file is overly complex for the intended result and difficult to ‘read’. I suggest judicious use of groups and labels for easier debugging.

I’ve updated my file to replicate the set-out points of yours and have added a few sliders for test purposes.
Bulge-RitchieJ-Update.dyn (19.4 KB)
T-Splines are an interesting option – I’m currently using them for another project and will probably post a WIP on this forum sometime soon.

1 Like

Hola soy estudiante de arquitectura y estoy empezando a aprender a usar dynamo, tome tu ejemplo para aprender un poco pero no me termina generando la misma forma. ¿me podrias ayudar a resolver la incógnita?

1 Like