Beginner: Ellipsoidal Dome

I am trying to learn this software with minimal background during my down time at work. I am trying to create a Ellipsoidal Dome that is able to have its dimensions easily adjusted. I can’t find any nodes that could do something close to that. The only thing I can think of is creating it mathematically, which I don’t have the time for. Does any one have any other Ideas, and if so an example would be awesome.

Thanks for any assistance.

What have you tried so far?

Perhaps a revolve is in order? After building an ellipse on the XZ plane, then maybe splitting it at parameters 0 and 0.25?

1 Like

//Dome Transformations
n = 11;
x = Math.Sin(0..90..#n)<1>*Math.Cos(0..360..#n);
y = Math.Sin(0..90..#n)<1>*Math.Sin(0..360..#n);
z = Math.Cos(0..90..#n);

p1 = Point.ByCoordinates((x*(mnx..(mnx+mxs)..#n))<1>,

ellipsoidalDome.dyn (11.4 KB)


While a love Vikram’s mathematical approach, you can also go for the extremely straightforward way of stretching a sphere and slicing it into a dome:

The only tricky part is first getting a spherical surface


Dome V2 :slight_smile:

Dome-2.dyn (33.3 KB)



The scaling is a good thing to bring up @Dimitar_Venkov. Here’s how I’d go about it, using an EllipseArc to control he angle of the sweep rather then splitting a sphere, and then scaling about the same plane. Gives a bit more control in my opinion. :slight_smile:


I just want to thank everyone who posted, this community is the best! I just want you to know that I tried out all of your ideas.

I’ve learned a lot thanks to you all.

1 Like

Glad we could help. :slight_smile:

Hello. I´m facing a similar challenge. I got the basic geometry and points but I´m having problems getting the surface… any light please??? Thanks !

Elipse 1.dyn (90.8 KB)

Your list isn’t structured for nurbs surface creation as there are discontinuous depths as currently showing. Flatten is a no go - you need a L3 list to make these nodes work.

Instead of trying to add additional curves which aren’t in sequence/aligned with the existing sequence, try adding the missing points via a means something along these lines:

You’ll need to split your base ellipse to grab the end conditions (some nodes to consider: List.First, List.Last, Curve.Extrude, Polysurface, Geometry.Split, Curve.PointAtEqualSegmentLength, List.AddItemToFront, List.AddItemToEnd) here as needed, but this should get you started.

Alternatively you could take any of the dome surfaces above and split those by the perimeter curve for where you want to start and end your new surface (likely more accurate and less computationally complex than attempting a rebuild using nurbs by points).

Thank you @jacob.small, I understood the logic of nurbs surface node.

About the alternative way you mentioned, I understand the process is about multiple loft surfaces and joining them into a polysurface?

About the post… A very good start… Thanks a lot

Hey Guys !
How working king of in the same direction, with a triple ellipse. I just wonder how did you manage the single points on both ends ?

I can manage to go close to it, but not to include it in the NurbSurface :slight_smile:

And would you have any idea how to make it solid ? How to fill the dome :slight_smile:

Try taking an arc at the final ‘plan’ curve of the dome’s footprint, trimming to be disconnected from the previous curve segment.

Make sense Thanks Jacob!

Any idea about how to fill this volume? To fill the dome, as a solid?

Take the perimeter curves which should just be a flat segmented ellipse, build a Polycurve from that, then join it with the domed surface into a polysurface, and then just a solid.bypolysurface node.

1 Like

Thanks a lot Jacob ! Good idea