Create new Form element by Loft operation, and add it into the Autodesk Revit family document.
Namespace: Autodesk.Revit.CreationAssembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Syntax
Parameters
- isSolid
- Type: System..::..Boolean
Indicates if the Form is Solid or Void.
- profiles
- Type: Autodesk.Revit.DB..::..ReferenceArrayArray
The profile set of the newly created loft. Each profile should consist of only one curve loop.
Return Value
If creation was successful form is are returned.
Examples
CopyC#
private Form CreateLoftForm(Autodesk.Revit.DB.Document document)
{
Form loftForm = null;
ReferencePointArray rpa = new ReferencePointArray();
ReferenceArrayArray ref_ar_ar = new ReferenceArrayArray();
ReferenceArray ref_ar = new ReferenceArray();
ReferencePoint rp = null;
XYZ xyz = null;
xyz = document.Application.Create.NewXYZ(0, 0, 0);
rp = document.FamilyCreate.NewReferencePoint(xyz);
rpa.Append(rp);
xyz = document.Application.Create.NewXYZ(0, 50, 10);
rp = document.FamilyCreate.NewReferencePoint(xyz);
rpa.Append(rp);
xyz = document.Application.Create.NewXYZ(0, 100, 0);
rp = document.FamilyCreate.NewReferencePoint(xyz);
rpa.Append(rp);
CurveByPoints cbp = document.FamilyCreate.NewCurveByPoints(rpa);
ref_ar.Append(cbp.GeometryCurve.Reference);
ref_ar_ar.Append(ref_ar);
rpa.Clear();
ref_ar = new ReferenceArray();
xyz = document.Application.Create.NewXYZ(50, 0, 0);
rp = document.FamilyCreate.NewReferencePoint(xyz);
rpa.Append(rp);
xyz = document.Application.Create.NewXYZ(50, 50, 30);
rp = document.FamilyCreate.NewReferencePoint(xyz);
rpa.Append(rp);
xyz = document.Application.Create.NewXYZ(50, 100, 0);
rp = document.FamilyCreate.NewReferencePoint(xyz);
rpa.Append(rp);
cbp = document.FamilyCreate.NewCurveByPoints(rpa);
ref_ar.Append(cbp.GeometryCurve.Reference);
ref_ar_ar.Append(ref_ar);
rpa.Clear();
ref_ar = new ReferenceArray();
xyz = document.Application.Create.NewXYZ(75, 0, 0);
rp = document.FamilyCreate.NewReferencePoint(xyz);
rpa.Append(rp);
xyz = document.Application.Create.NewXYZ(75, 50, 5);
rp = document.FamilyCreate.NewReferencePoint(xyz);
rpa.Append(rp);
xyz = document.Application.Create.NewXYZ(75, 100, 0);
rp = document.FamilyCreate.NewReferencePoint(xyz);
rpa.Append(rp);
cbp = document.FamilyCreate.NewCurveByPoints(rpa);
ref_ar.Append(cbp.GeometryCurve.Reference);
ref_ar_ar.Append(ref_ar);
loftForm = document.FamilyCreate.NewLoftForm(true, ref_ar_ar);
return loftForm;
}
CopyVB.NET
Private Function CreateLoftForm(document As Autodesk.Revit.DB.Document) As Form
Dim loftForm As Form = Nothing
Dim rpa As New ReferencePointArray()
Dim ref_ar_ar As New ReferenceArrayArray()
Dim ref_ar As New ReferenceArray()
Dim rp As ReferencePoint = Nothing
Dim xyz As XYZ = Nothing
xyz = document.Application.Create.NewXYZ(0, 0, 0)
rp = document.FamilyCreate.NewReferencePoint(xyz)
rpa.Append(rp)
xyz = document.Application.Create.NewXYZ(0, 50, 10)
rp = document.FamilyCreate.NewReferencePoint(xyz)
rpa.Append(rp)
xyz = document.Application.Create.NewXYZ(0, 100, 0)
rp = document.FamilyCreate.NewReferencePoint(xyz)
rpa.Append(rp)
Dim cbp As CurveByPoints = document.FamilyCreate.NewCurveByPoints(rpa)
ref_ar.Append(cbp.GeometryCurve.Reference)
ref_ar_ar.Append(ref_ar)
rpa.Clear()
ref_ar = New ReferenceArray()
xyz = document.Application.Create.NewXYZ(50, 0, 0)
rp = document.FamilyCreate.NewReferencePoint(xyz)
rpa.Append(rp)
xyz = document.Application.Create.NewXYZ(50, 50, 30)
rp = document.FamilyCreate.NewReferencePoint(xyz)
rpa.Append(rp)
xyz = document.Application.Create.NewXYZ(50, 100, 0)
rp = document.FamilyCreate.NewReferencePoint(xyz)
rpa.Append(rp)
cbp = document.FamilyCreate.NewCurveByPoints(rpa)
ref_ar.Append(cbp.GeometryCurve.Reference)
ref_ar_ar.Append(ref_ar)
rpa.Clear()
ref_ar = New ReferenceArray()
xyz = document.Application.Create.NewXYZ(75, 0, 0)
rp = document.FamilyCreate.NewReferencePoint(xyz)
rpa.Append(rp)
xyz = document.Application.Create.NewXYZ(75, 50, 5)
rp = document.FamilyCreate.NewReferencePoint(xyz)
rpa.Append(rp)
xyz = document.Application.Create.NewXYZ(75, 100, 0)
rp = document.FamilyCreate.NewReferencePoint(xyz)
rpa.Append(rp)
cbp = document.FamilyCreate.NewCurveByPoints(rpa)
ref_ar.Append(cbp.GeometryCurve.Reference)
ref_ar_ar.Append(ref_ar)
loftForm = document.FamilyCreate.NewLoftForm(True, ref_ar_ar)
Return loftForm
End Function
See Also