public static Autodesk.DesignScript.Geometry.PolyCurve ToProtoType(this Autodesk.Revit.DB.CurveArray revitCurves, bool performHostUnitConversion = true) { if (revitCurves == null) { throw new ArgumentNullException("revitCurves"); } var protoCurves = revitCurves.Cast <Autodesk.Revit.DB.Curve>().Select(x => x.ToProtoType(false)); var converted = PolyCurve.ByJoinedCurves(protoCurves.ToArray()); foreach (var curve in protoCurves) { curve.Dispose(); } if (converted == null) { throw new Exception("An unexpected failure occurred when attempting to convert the curve"); } if (performHostUnitConversion) { UnitConverter.ConvertToDynamoUnits(ref converted); } return(converted); }
public static Autodesk.DesignScript.Geometry.PolyCurve ToProtoType(this Autodesk.Revit.DB.CurveArray revitCurves) { if (revitCurves == null) { throw new ArgumentNullException("revitCurves"); } var protoCurves = revitCurves.Cast <Autodesk.Revit.DB.Curve>().Select(x => x.ToProtoType()); return(PolyCurve.ByJoinedCurves(protoCurves.ToArray())); }
/// <summary> /// Converts a <see cref="DB.CurveArray"/> into a Rhino <see cref="Curve"/>[] /// </summary> /// <seealso cref="ToPolyCurves(DB.CurveArrArray)"/> public static Curve[] ToCurves(this DB.CurveArray value) { var count = value.Size; var curves = new Curve[count]; int index = 0; foreach (var curve in value.Cast <DB.Curve>()) { curves[index++] = curve.ToCurve(); } return(curves); }