Creating complex 3d shapes

Hi everyone, I was hoping I can get some guidance when it comes to creating complex 3D shapes in Babylon. I’ve played around a bit and have learned there are several different function I can use to create polygons. The problem is that each one of them have their limitations. For instance, using MeshBuilder.CreatePolygon allows me to create any simple polygon, but can only do so if there are no curved edges. Using CreateRibbon only seems to work correctly if the polygon is not concave. My question is, what function would be best to create any kind of 3D polygon? Below I have an example of the kind of shape I want to make. Thanks in advance.