// Casting to GH Data Types public Brep ToBrep() { //if (IsPlanar()) //{ // return ToPlanarBrep(); //} //else //{ // return ToNonPlanarBrep(); //} if (GeometryType == SurfaceGeometryType.NurbsSurfaceType) { return(ToNurbsSurface()); } var myEdges = new List <Curve>(); var sEdges = from e in Edges select e.ToCurve(); myEdges.AddRange(Curve.JoinCurves(sEdges)); if (!(Openings == null)) { foreach (var o in Openings) { var oEdges = from e in o.Edges select e.ToCurve(); myEdges.AddRange(Curve.JoinCurves(oEdges)); } } return(UtilLibrary.CreateNonPlanarBrep(myEdges, 0.001)); }