//create building pads public Autodesk.Revit.DB.Architecture.BuildingPad CreateBuildingPad(ProcessPolygon polygon, double elevation) { Level level = _doc.Create.NewLevel(elevation); List <CurveLoop> listOfCurveLoops = new List <CurveLoop>(); listOfCurveLoops.Add(polygon.Get_CurveLoop()); return(Autodesk.Revit.DB.Architecture.BuildingPad.Create(_doc, this.buildingPadType.Id, level.Id, listOfCurveLoops)); }
/// <summary> /// Convert Polygons to a list of curveloops /// </summary> public CurveLoops PolygonsToCurveLoops(Polygons polygons) { CurveLoops curveLoops = new CurveLoops(); foreach (Polygon polygon in polygons) { ProcessPolygon processedPolygon = new ProcessPolygon(this.Polygon2XYZList(polygon, 0.0, this.Exponent), true); processedPolygon.RemoveIdenticalPoints(); processedPolygon.RemoveClosePoints(.5); processedPolygon.ForceToFixList(); processedPolygon.RemoveCollinearity(4 * Math.PI / 180); if (processedPolygon.ProcessedPolygon.Count > 2) { curveLoops.Add(processedPolygon.Get_CurveLoop()); } } return(curveLoops); }