Adjusting the base edge of vault on z axis

Hello, I have created a code to create vault from a plane surface, But I want to be able to adjust the base edges on z axis. Now the vault is created from the same Z level, but I want some part of the base edge higher. How can I achieve this?

So it becomes more like this

adjustbaseedge.gh (18.5 KB)

Another challenge is that, what if I want to make a hole on the surface for windows?

To get this kind of open

I want to to it in a way intuitive way that I just need to create curve, surface or a soild to make a hole on the vaulted geometry.

You can do that by providing target points for the anchors.

Found a solution!

In case you are curious

VaultCreator.gh (30.4 KB)