예제 #1
0
        public Brep ToBrep()
        {
            var tt     = Centreline.DivideByLength((int)(Centreline.GetLength() / 50.0), true);
            var planes = GetPlanes(tt);

            var xsections = new List <Curve>();

            foreach (Plane plane in planes)
            {
                var rec = new Rectangle3d(plane, new Interval(-Width * 0.5, Width * 0.5),
                                          new Interval(-Height * 0.5, Height * 0.5)).ToNurbsCurve();
                xsections.Add(rec);
            }

            var loft = Brep.CreateFromLoft(xsections, Point3d.Unset, Point3d.Unset, LoftType.Normal, false);

            loft[0] = loft[0].CapPlanarHoles(0.01);
            loft[0].Flip();

            return(loft[0]);
        }