public CurveLoop MakeLineClose(CurveLoop curves)
{
try
{
CurveLoop newCurveLoop = new CurveLoop();
for(int i = i; i < curves.Count(); i++)
{
Line fLine = curves.ElementAt(i - 1) as Line;
Line sLine = curves.ElementAt(i) as Line;
XYZ fLine_Start = fLine.GetEndPoint(0);
XYZ sLIne_Start = sLine.GetEndPoint(0);
newCurveLoop.Append(Line.CreateBound(fLine_Start, sLine_Start));
if(i == curves.Count() - 1)
{
XYZ lastLine_End = sLine.GetEndPoint(0);
XYZ firstLine_Start = newCurveLoop.First().GetEndPoint(0);
newCurveLoop.Append(Line.CreateBound(lastLine_End , firstLine_Start));
}
}
if(newCurveLoop.IsOpen())
return null;
return newCurveLoop;
}
catch(Excetion)
{
return null;
}
}
Revit二次开发 把不围合的CurveLoop重组为围合的CurveLoop
于 2020-06-10 17:07:10 首次发布