AnalyticalModelSelector Class


Defines a portion of an Analytical Model for an Element.

Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2011

Syntax

C#
public class AnalyticalModelSelector : IDisposable
Visual Basic
Public Class AnalyticalModelSelector _
	Implements IDisposable
Visual C++
public ref class AnalyticalModelSelector : IDisposable

Remarks

This is used to identify the portion of an analytical model of interest to a client. To identify the portion of the analytical model, the client must identify the curve in question, by using one of the following:
  • The specific curve within the analytical model.
  • The index of the curve within the analytical model.
If a specific part of that curve is of interest, the client needs to identify that by specifying one of the following:
  • The start of the curve.
  • The end of the curve.
  • The entire curve. This is the default behavior, so this does not need specifying.

Examples

Copy C#
public bool GetReferenceData(FamilyInstance familyInst)
{
    AnalyticalModel analyticalModelFrame = familyInst.GetAnalyticalModel();
    Curve analyticalCurve = analyticalModelFrame.GetCurve();
    if (null != analyticalCurve)
    {
        // test the stable reference to the curve.
        AnalyticalModelSelector amSelector = new AnalyticalModelSelector(analyticalCurve);
        amSelector.CurveSelector = AnalyticalCurveSelector.WholeCurve;
        Reference curveReference = analyticalModelFrame.GetReference(amSelector);

        // test the stable reference to the start point of the curve
        amSelector.CurveSelector = AnalyticalCurveSelector.StartPoint;
        Reference startPointReference = analyticalModelFrame.GetReference(amSelector);

        // test the stable reference to the start point of the curve
        amSelector.CurveSelector = AnalyticalCurveSelector.EndPoint;
        Reference endPointReference = analyticalModelFrame.GetReference(amSelector);
    }

    return true;
}
Copy VB.NET
Public Function GetReferenceData(familyInst As FamilyInstance) As Boolean
    Dim analyticalModelFrame As AnalyticalModel = familyInst.GetAnalyticalModel()
    Dim analyticalCurve As Curve = analyticalModelFrame.GetCurve()
    If analyticalCurve IsNot Nothing Then
        ' test the stable reference to the curve.
        Dim amSelector As New AnalyticalModelSelector(analyticalCurve)
        amSelector.CurveSelector = AnalyticalCurveSelector.WholeCurve
        Dim curveReference As Reference = analyticalModelFrame.GetReference(amSelector)

        ' test the stable reference to the start point of the curve
        amSelector.CurveSelector = AnalyticalCurveSelector.StartPoint
        Dim startPointReference As Reference = analyticalModelFrame.GetReference(amSelector)

        ' test the stable reference to the start point of the curve
        amSelector.CurveSelector = AnalyticalCurveSelector.EndPoint
        Dim endPointReference As Reference = analyticalModelFrame.GetReference(amSelector)
    End If

    Return True
End Function

Inheritance Hierarchy

System Object
Autodesk.Revit.DB.Structure AnalyticalModelSelector

See Also

ArchiLabs

Stop fighting Revit automation.

Build repeatable BIM design and documentation workflows with scripts, data, and AI in one place, without wrestling brittle one-off automations.

Try ArchiLabs →