An approximation using only TSplines
tp01 = TSplineSurface.ByPlaneOriginNormal(Point.ByCoordinates(0, 0, 0), Vector.ByCoordinates(0, 0, 1), Point.ByCoordinates(-40,-60), Point.ByCoordinates(40,60), 4, 4, TSplineInitialSymmetry.ByAxial(false, false, false), true);
tp02 = TSplineSurface.DeleteVertices(tp01, TSplineTopology.RegularVertices(tp01)[2]);
tp03 = TSplineSurface.WeldVertices(tp02, TSplineTopology.RegularVertices(tp02)[20..22], TSplineTopology.RegularVertices(tp02)[15..17], false);
tp04 = TSplineSurface.WeldVertices(tp03, TSplineTopology.RegularVertices(tp03)[12..13], Point.ByCoordinates(-2, -15), false);
tp05 = TSplineSurface.WeldVertices(tp04, TSplineTopology.RegularVertices(tp04)[9..10], Point.ByCoordinates(2, -15), false);
tp06 = TSplineSurface.MoveVertices(tp05, TSplineTopology.RegularVertices(tp05)[[1, 5]], Vector.ByCoordinates(-15, 0, 0), false);
tp07 = TSplineSurface.MoveVertices(tp06, TSplineTopology.RegularVertices(tp06)[[2, 7]], Vector.ByCoordinates(15, 0, 0), false);
tp08 = TSplineSurface.MoveVertices(tp07, TSplineTopology.BorderVertices(tp07)[[11, 15]], Vector.ByCoordinates(0, -20, 0), false);
tp09 = TSplineSurface.MoveVertices(tp08, TSplineTopology.BorderVertices(tp07)[16..17], Vector.ByCoordinates(0, 25, 0), false);
tp10 = TSplineSurface.MoveVertices(tp09, TSplineTopology.BorderVertices(tp07)[12], Vector.ByCoordinates(-15, 0, 0), false);
tp11 = TSplineSurface.MoveVertices(tp10, TSplineTopology.BorderVertices(tp07)[14], Vector.ByCoordinates(15, 0, 0), false);
tp12 = TSplineSurface.MoveVertices(tp11, TSplineTopology.BorderVertices(tp07)[13], Vector.ByCoordinates(0, -15, 0), false);
tp13 = TSplineSurface.Thicken(tp12, 5, true);
tp14 = TSplineSurface.DeleteFaces(tp13, Topology.Faces(tp13)[0..11]);
tp15 = TSplineSurface.SubdivideFaces(tp14, Topology.Faces(tp14), true);
tp16 = TSplineSurface.SubdivideFaces(tp15, TSplineTopology.InnerFaces(tp15)[[35, 36, 38, 39]], true);
tp17 = TSplineSurface.ExtrudeFaces(tp16, TSplineTopology.InnerFaces(tp16)[[79, 82, 85, 88, 135, 278, 279, 292, 293]], Vector.ByCoordinates(0, 0, -5), 3);
tp18 = GeometryColor.ByGeometryColor(tp17, Color.ByARGB(200, 249, 177, 163));
Sandbox ver: 3.1.0.4111