/// <summary> /// 如果外环是个圆,获取和外环同圆心的内环圆 /// </summary> /// <param name="face"></param> /// <returns></returns> public static bool TryGetInnerLoop(this IFace2 face, out ILoop2 innerLoop) { var outloop = face.GetOuterLoop(); innerLoop = outloop; if (outloop.TryGetOneCircleEdge(out IEdge edge)) { var circlePoint = edge.GetCirlceParams().Item1; innerLoop = face.GetLoopsWithoutOuterLoop().Where(l => l.TryGetOneCircleEdge(out IEdge Inneredge) ? (IsSameVector3(Inneredge.GetCirlceParams().Item1, circlePoint) ? true : false): false ).FirstOrDefault(); return(innerLoop != null ? true : false); } return(false); }