/// <summary> /// Returns all the trim loops of the face as list of a list of curves /// </summary> /// <param name="face"></param> /// <returns></returns> public static List <List <ICurve> > GetTrimLoops(this IFace2 face) { return(face .GetLoops() .CastArray <ILoop2>() .OrderBy(l => l.IsOuter() ? 0 : 1) .Select(l => l.GetEdges().CastArray <IEdge>().Select(e => (ICurve)e.GetCurve())) .Select(curves => curves.Select(c => (ICurve)c.Copy()).ToList()) .ToList()); }
/// <summary> /// 获取面上所有环 /// </summary> /// <param name="face"></param> /// <returns></returns> public static IEnumerable <ILoop2> GetLoopsEx(this IFace2 face) { return((face.GetLoops() as object[]).Cast <ILoop2>()); }