/// <summary> /// Create a new column member in the specified Revit document /// </summary> /// <param name="curve"></param> /// <param name="symbol"></param> /// <param name="document"></param> /// <param name="distanceUnit"></param> /// <returns></returns> public static FamilyInstance CreateColumn(FB.Curve curve, FamilySymbol symbol) { FamilyInstance instance = CreateStructuralFraming(curve, symbol, StructuralType.Column); instance.SetParameter(BuiltInParameter.SLANTED_COLUMN_TYPE_PARAM, (int)SlantedOrVerticalColumnType.CT_EndPoint); return(instance); }
/// <summary> /// Create a new structural member in the specified Revit document /// </summary> /// <param name="curve">The set-out curve of the member</param> /// <param name="symbol">The family symbol of the member to create</param> /// <param name="document">The document to add the member to</param> /// <param name="distanceUnit">The distance unit the passed-in curve is expressed in</param> /// <returns></returns> public static FamilyInstance CreateStructuralFraming(FB.Curve curve, FamilySymbol symbol, StructuralType structuralType) { FamilyInstance instance = CreateFamilyInstance(symbol, structuralType); AD.Curve rCrv = ToRevit.Convert(curve); if (rCrv != null) { LocationCurve location = instance.Location as LocationCurve; location.Curve = rCrv; } return(instance); }
/// <summary> /// Convert a Nucleus curve into a Revit one /// </summary> /// <param name="curve"></param> /// <returns></returns> public static AD.Curve Convert(FB.Curve curve) { if (curve is FB.Line) { return(Convert((FB.Line)curve)); } else if (curve is FB.Arc) { return(Convert((FB.Arc)curve)); } // TODO: Make polyline curve subtype? // else if (curve is FB.PolyLine) return Convert((FB.PolyLine)curve); else { throw new NotImplementedException(); } }
/// <summary> /// Add a curve to the Rhino document /// </summary> /// <param name="curve"></param> /// <returns></returns> public static Guid BakeCurve(FB.Curve curve) { return(BakeCurve(ToRC.Convert(curve))); }
/// <summary> /// Replace an existing curve in the Rhino document /// </summary> /// <param name="obj"></param> /// <param name="curve"></param> /// <returns></returns> public static bool ReplaceCurve(Guid obj, FB.Curve curve) { return(ReplaceCurve(obj, ToRC.Convert(curve))); }