# How to animate an arch forming itself?

I have for a student job to animate and explain through animations how arches works. This one is quite complicated and I can't seem to find a solution to animate it correctly.

I'm using freestyle because that is what they want for the type of render. I'll try to explain what I have to do to explain my problem : An 8 part arch is form by the translation of 4 arches in a concentric direction. The part obtained by this translation is a concentric arch ( above ) and a faceted vault ( below ). I have to animate, as shown below, 4 arches translating, showing their intersection in blue, and separate them apart.

The animation itself is not really the problem, the problem is that I don't know how to find a "clean" way to do it. Right now I'm using moving cubes as booleans to make the arches appear. But as you can see, Blender booleans are really quickly limited and junky, they tend to appear where they should not, and even with the fix proposed by blender ( self-interaction etc.. ), it does not work and they appear multiple times in the animation.

How would you do this? I'm taking any workflow, because I'm basically new to animation.

The task is quite tricky, I think. Of course, you could solve it very mathematically, but I took the more logical way using Node Noodles.

Since all boolean operators in Blender give such strange results, the main thing is to apply these operations in a clever order.

Here is a possible solution:

1. First, get the dimensions of the arc and calculate the length of the extrusion. This is done by the formula $$e = a * ( 1 + √2 )$$. $$e$$ is now the length of the curve along which you extrude your profile.

2. The current frame controls the factor of the node Trim Curve, which you can use to animate the extrusion.

3. Then you extrude your profile along this curve with the node Curve to Mesh.

4. Extrude again with Curve to Mesh (activate Fill Caps) and duplicate the mesh once by $$45°$$ offset by once by $$-45°$$, so that you can feed the node Mesh Boolean with it.

5. Here the order is crucial: first combine with Mesh Boolean the two offset meshes, and then subtract them from your first mesh.

However, to get a clean result, remove the faces that are not needed here.

6. To finally get the complete top part, duplicate this once with an offset of $$90°$$ and this again by $$45°$$ and combine the resulting meshes. In the end the node Merge by Distance helps to make it all a bit cleaner.

7. For the bottom part, first create two meshes with your factor-controlled curve and profile at $$45°$$ to each other. With the node Mesh Boolean you get the intersection of these two meshes.

8. You repeat the same again, but here you create a union of both meshes, applying the whole length instead of the shortened curve.

9. The difference of these two meshes is then the inner arc for your vault, and if you remove the superfluous points, you get a clean arc.

10. But to get the part you are looking for, you mirror part of the mesh so that it fits exactly under the vault.

11. Then, as you did with the roof before, multiply this mesh with an offset of $$90°$$ and again by $$45°$$.

12. Then, when you combine these two results, you have a frame-controlled vault.

Here is the node group at a glance:

And here is the blend file:

Note: If you use these nodes, your arc must be symmetrical or it won't work!

Model out a shape that is completely solid in the shape of the arch Volume:

Give it a shape key for the elongation part of the animation.

You animate this value to extend it back and forth as needed.

I inset the interior just a bit to separate the two vertex groups I want to make.

Add those interior faces to a vertex group

Add a mask modifier to hide those verts, that way we can still keep the solid mesh for Boolean operations but it can look hollow. You might have to invert the Mask modifier with that arrow button like I did.

Duplicate this mesh 2x and rotate on the z-axis 45 and -45 degrees. Use two booleans to subtract them from the main one. Make sure you take the vertex group off of the bool objects Mask modifiers, otherwise it will un mask the "carved out" areas:

With that animated you have something that looks like this.

Add that to their own collection and hide it. Make sure the center of your objects is at the origin of the world.

Then just add 4 instances of that collection and rotate them around eachother. Parent all of those to another object to control the whole build.

End result:

• Hi, thanks for the response, but I must say I didnt quite understood. Can you please add more pics ? Commented Apr 27, 2022 at 13:27
• I updated my answer. Commented Apr 27, 2022 at 16:25
• @Jakemoyo Great solution! But you get only the roof and unfortunately not the underlying structure which is also visible in the picture. Commented Apr 27, 2022 at 17:53
• @quellenform You could probably do the exact same thing except set the boolean to intersect instead of difference and get that result His problem was regarding boolean errors during animation. I'm not trying to do the entire project for him. Commented Apr 27, 2022 at 18:57