/// <summary> /// Create a Revit Ceiling given its curve outline and Level /// </summary> /// <param name="outlineCurves"></param> /// <param name="ceilingType"></param> /// <param name="level"></param> /// <returns>The ceiling</returns> public static Ceiling ByOutlineTypeAndLevel(Curve[] outlineCurves, CeilingType ceilingType, Level level) { if (outlineCurves == null) { throw new ArgumentNullException("outlineCurves"); } var ceiling = ByOutlineTypeAndLevel(PolyCurve.ByJoinedCurves(outlineCurves), ceilingType, level); DocumentManager.Regenerate(); return(ceiling); }
/// <summary> /// Create a Revit Ceiling given its curve outline and Level /// </summary> /// <param name="outline"></param> /// <param name="ceilingType"></param> /// <param name="level"></param> /// <returns>The ceiling</returns> public static Ceiling ByOutlineTypeAndLevel(PolyCurve outline, CeilingType ceilingType, Level level) { if (outline == null) { throw new ArgumentNullException("outline"); } if (ceilingType == null) { throw new ArgumentNullException("ceilingType"); } if (level == null) { throw new ArgumentNullException("level"); } if (!outline.IsClosed) { throw new ArgumentException(Properties.Resources.OpenInputPolyCurveError); } CurveLoop loop = new CurveLoop(); outline.Curves().ForEach(x => loop.Append(x.ToRevitType())); List <CurveLoop> loops = new List <CurveLoop> { loop }; if (!BoundaryValidation.IsValidHorizontalBoundary(loops)) { throw new ArgumentException(Properties.Resources.NotHorizontalInputPolyCurveError); } var ceiling = new Ceiling(loops, ceilingType.InternalCeilingType, level.InternalLevel); DocumentManager.Regenerate(); return(ceiling); }
public static CeilingType Wrap(Autodesk.Revit.DB.CeilingType ele, bool isRevitOwned) { return(CeilingType.FromExisting(ele, isRevitOwned)); }