An interface for Adaptive Component Instances.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since: 2012
Syntax
C# |
---|
public static class AdaptiveComponentFamilyUtils |
Visual Basic |
---|
Public NotInheritable Class AdaptiveComponentFamilyUtils |
Visual C++ |
---|
public ref class AdaptiveComponentFamilyUtils abstract sealed |
Examples

private void CreateAdaptiveComponentFamily(Document document) { // check if this family is an Adaptive Component family if (!(AdaptiveComponentFamilyUtils.IsAdaptiveComponentFamily(document.OwnerFamily))) return; using (Transaction transaction = new Transaction(document)) { int placementCtr = 1; ReferencePointArray refPointArray = new ReferencePointArray(); for (int i = 0; i < 10; i++) { transaction.SetName("Point" + i); transaction.Start(); ReferencePoint referencePoint = document.FamilyCreate.NewReferencePoint(new XYZ(i, 0, 0)); if (i % 2 == 0) // Even-numbered reference points will be Placement Points { AdaptiveComponentFamilyUtils.MakeAdaptivePoint(document, referencePoint.Id, AdaptivePointType.PlacementPoint); transaction.Commit(); AdaptiveComponentFamilyUtils.SetPlacementNumber(document, referencePoint.Id, placementCtr); placementCtr++; } else // Odd-numbered points will be Shape Handle Points { AdaptiveComponentFamilyUtils.MakeAdaptivePoint(document, referencePoint.Id, AdaptivePointType.ShapeHandlePoint); transaction.Commit(); } refPointArray.Append(referencePoint); } // Create a curve running through all Reference Points if (transaction.GetStatus() == TransactionStatus.Committed) { transaction.SetName("Curve"); transaction.Start(); CurveByPoints curve = document.FamilyCreate.NewCurveByPoints(refPointArray); transaction.Commit(); } } }

Private Sub CreateAdaptiveComponentFamily(document As Document) ' check if this family is an Adaptive Component family If Not (AdaptiveComponentFamilyUtils.IsAdaptiveComponentFamily(document.OwnerFamily)) Then Return End If Using transaction As New Transaction(document) Dim placementCtr As Integer = 1 Dim refPointArray As New ReferencePointArray() For i As Integer = 0 To 9 transaction.SetName("Point" & i) transaction.Start() Dim referencePoint As ReferencePoint = document.FamilyCreate.NewReferencePoint(New XYZ(i, 0, 0)) If i Mod 2 = 0 Then ' Even-numbered reference points will be Placement Points AdaptiveComponentFamilyUtils.MakeAdaptivePoint(document, referencePoint.Id, AdaptivePointType.PlacementPoint) transaction.Commit() AdaptiveComponentFamilyUtils.SetPlacementNumber(document, referencePoint.Id, placementCtr) placementCtr += 1 Else ' Odd-numbered points will be Shape Handle Points AdaptiveComponentFamilyUtils.MakeAdaptivePoint(document, referencePoint.Id, AdaptivePointType.ShapeHandlePoint) transaction.Commit() End If refPointArray.Append(referencePoint) Next ' Create a curve running through all Reference Points If transaction.GetStatus() = TransactionStatus.Committed Then transaction.SetName("Curve") transaction.Start() Dim curve As CurveByPoints = document.FamilyCreate.NewCurveByPoints(refPointArray) transaction.Commit() End If End Using End Sub
Inheritance Hierarchy
System..::..Object
Autodesk.Revit.DB..::..AdaptiveComponentFamilyUtils
Autodesk.Revit.DB..::..AdaptiveComponentFamilyUtils