Overlapping Petals

//Number of Divisions
ct = 15;
//Thickness of Shell
th = 0.15;
//Base, Mid and Top Profiles
p1 = Point.ByCoordinates(0,0,[0,10,20]);
c1 = Circle.ByCenterPointRadius(p1,[5,7,2]);
//Split Profile Curves
c2 = c1<1>.SplitByParameter((0..1..#ct));
//Rotate and Extend Curves
a1 = Math.Atan((th*1.5)/(c1.Length/ct));
c3 = c2.Rotate(c2.StartPoint,Vector.ZAxis(),a1);
c4 = List.Transpose(c3.ExtendEnd(th));
//Loft and Solid
c5 = NurbsCurve.ByPoints(c4.StartPoint);
s1 = Surface.ByLoft(c4,c5).Thicken(th);