I am trying to take this shape:

enter image description here

and have it with a dome (of a slightly different width) over the ring shape. (refer to my sketch)

How do create a dome over this ring?

Attached is a side view of what I'm trying to achieve

enter image description here

I have tried using the bend modifier after watching some tutorials but I can't seem to get it to work since I'm not sure I understand what it's doing.

Any help in the right direction is appreciated!

My Attempts So Far:

Here is my wacky attempt using bend modifier:

enter image description here

I have tried the bridge loop technique as well but I also get weird results.

enter image description here

enter image description here

  • $\begingroup$ Have you tried spin? It can be a little tricky, but it's useful. $\endgroup$
    – Timaroberts
    Jun 30 '20 at 0:35
  • $\begingroup$ the bridge edge loops didn't work because the two faces you want to join need to be a little bit tilted towards each other, but anyway you have other ways to do it $\endgroup$
    – moonboots
    Jun 30 '20 at 7:22
  • $\begingroup$ I think I'd find a plan, section, and elevation easier to comprehend $\endgroup$
    – Strawberry
    Jul 1 '20 at 12:41

How to create a dome procedurally.

  • Add a Plane, go to edit mode, select all, right click > Merge > By distance (in order to get a single vertex at the origin of the world)
  • Add a displace modifier, set the direction to Z and midlevel to 0

enter image description here

  • Add a screw modifier, set to X, angle 90°. Now you have an half-arc going from Z = 1 to Z = 0

enter image description here

  • Add another screw primitive. Now you have a half UV sphere primitive

enter image description here

  • Duplicate the dome and remove both screw modifiers, and set the displacement axis to X. Now add a screw modifier and don't change anything. right Click in the "Strength" field of the dome's displacement modifier and choose "copy as new driver".
  • Paste the driver in the "Z" location of the wall object with right click > Paste driver. Now go to the "Angle" field of the dome's first screw modifier and copy as a new driver too. Right click again in the "Z" location driver and choose "Edit driver". Click on "paste driver variables" icon on the top right of the displayed variables. Change the driver settings from "Averaged value" to "Scripted expression" and type : strength* sin(pi/2-angle). That should make sure the walls are always leveled with the bottom of the dome.

Now for the circumference, do the exact same process but with the "Strength" field of the wall's displacement modifier and change the expression to strength*cos(pi/2 - angle)

enter image description here

Add a boolean modifier to the dome set to "Union" and a "weld" modifier. Hide the wall object.

Add a solidify modifier to the dome object for thickness.

Result :

enter image description here

You can go wild editing every field in the modifiers and create your custom drivers !

  • 1
    $\begingroup$ I'm reviewing your answer and will let you know if this works for me. Great work on that file! This seems like it's very flexible and combined with other techniques I'm learning may do the trick :). Give me a few days to get back to you on this after experimenting. $\endgroup$ Jul 3 '20 at 3:35
  • $\begingroup$ Can you elaborate on the merge by distance and the first step. I can't seem to get that to work, what settings are using exactly? For me I can raise the merge by distance to the max setting and it creates a line that is off from center from the original plane and I just see a line and not just one point. Also what is the purpose of the displace modifier here? $\endgroup$ Jul 4 '20 at 1:10
  • 1
    $\begingroup$ You don't have to use this method, as long as you end up with a single vertex at the origin of the world. You could delete the other 3 vertices and just move the remaining one to 0,0,0. :) The displace modifier is here to let you tweak the radius of the dome afterwards, like I showed in the last GIF $\endgroup$
    – Gorgious
    Jul 4 '20 at 9:23

If I understand correctly, then the spin tool might be a very good option here.

Keep in mind that with this operator,

The point of view will determine around which axis the extrusion spins…

The position of the 3D cursor will be the center of the rotation.

So for your case,

  • Shift+S >cursor to selected
  • While in an orthographic view, Alt+R
  • Adjust the angle and steps in the redo panel
  • Merge by distance to remove any double vertices

enter image description here

  • $\begingroup$ I'm trying this technique now, I'm having problems currently trying to get it to work with some strange results. Can you elaborate on the spin tool more in detail the settings you used. Is it possible to do that arch on all sides at once to create a dome? $\endgroup$ Jun 30 '20 at 1:13

Here's a way you could possibly achieve this. Select the top of the inner ring, and press F to form a face.


Inset the face multiple times to leave some geometry to form the dome (through whatever means you prefer). Then, select the middle face and turn on "Proportional Editing" (O), check the box that says "connected only", and make sure it's set to "sphere". See below:


Grab the center face, and move it on the Z-axis to form a dome. You will have to adjust the edit area circle with the mouse wheel so it affects everything but your starting mesh. It should look like this.


Do this same thing for the outside ring. I think you'll probably want to do the outside first anyway, so you're not making the outer dome "through" the inner one. For the outside edge, you will have to extrude the edge upwards slightly first so it will be able to form a face. It should look something like this (but better - I was sloppy)


  • $\begingroup$ Can you elaborate on the inset method you used? I can't seem to replicate what you did. $\endgroup$ Jun 30 '20 at 1:20
  • $\begingroup$ I think I know what you did now, I think you just kept clicking on the middle face and running inset faces and setting how much it insets in. Is this what you did? $\endgroup$ Jun 30 '20 at 1:24
  • $\begingroup$ Yeah. First make a face in the center - i'm sure you've done that already. After that there are a couple of ways I can think of. First is the sloppy, manual way, just inset by pressing I, and either enter a number distance or move the mouse to inset a bit, then press shift+r to repeat until you hit the middle. The more elegant method I prefer is to inset only once (I), and shrink the middle to a very small center point. I then add a loop cut with ctrl+r to the middlle of the new inset area. I then make it larger, and bevel it with ctrl+b and scroll the mouse wheel until I have more "loops". $\endgroup$ Jun 30 '20 at 1:25
  • $\begingroup$ I'm at the next part now where i'm trying to do the proportional editing so it creates the sphere, but when I do it and transform up everything just moves up perfectly straight to create a plateau affect. I made sure connected only and proportional editing is on. I tried selecting only the middle circle and then selecting just the circles I want but nothing so far, any idea what I'm doing wrong? (You might have to elaborate on what 'move' means for that part. Sorry for my newbie questions :P) $\endgroup$ Jun 30 '20 at 1:34
  • 1
    $\begingroup$ When I say move, I refer to using the grab tool (G), so if I say move up, I mean select the face you want and move it up on the Z axis (G > Z + move the mouse). When you use proportional editing, there is an "area of effect" that is shown by a white circle on the screen. You can control the size of this circle by scrolling the mouse wheel. If the whole mesh moves at once, and/or you can't see the circle, it likely means that the selection area is bigger than the mesh/your screen. Make it smaller by scrolling the mouse wheel (up, I think). until you can see it. $\endgroup$ Jun 30 '20 at 1:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.