VectorAtPoint Class


Stores vectors at one domain point. Each vector corresponds to a "measurement" for which this vector was calculated.

Namespace: Autodesk.Revit.DB.Analysis
Assembly: RevitAPI (in RevitAPI.dll) Version: 23.0.0.0 (23.1.0.0)
Since: 2012

Syntax

C#
public class VectorAtPoint : ValueAtPointBase
Visual Basic
Public Class VectorAtPoint _
	Inherits ValueAtPointBase
Visual C++
public ref class VectorAtPoint : public ValueAtPointBase

Examples

Copy C#
// Place analysis results in the form of vectors at each of a beam or column's analytical model curve
Transform transform = analyticalElem.GetTransform();
int index = spatialFieldManager.AddSpatialFieldPrimitive(curve, Transform.Identity);

IList<double> doubleList = new List<double>();
doubleList.Add(curve.GetEndParameter(0)); // vectors will be at each end of the analytical model curve
doubleList.Add(curve.GetEndParameter(1));
FieldDomainPointsByParameter pointsByParameter = new FieldDomainPointsByParameter(doubleList);

List<XYZ> xyzList = new List<XYZ>();
xyzList.Add(curve.ComputeDerivatives(0, true).BasisX.Normalize()); // vectors will be tangent to the curve at its ends
IList<VectorAtPoint> vectorList = new List<VectorAtPoint>();
vectorList.Add(new VectorAtPoint(xyzList));
xyzList.Clear();
xyzList.Add(curve.ComputeDerivatives(1, true).BasisX.Normalize().Negate());
vectorList.Add(new VectorAtPoint(xyzList));
FieldValues fieldValues = new FieldValues(vectorList);
Copy VB.NET
' Place analysis results in the form of vectors at each of a beam or column's analytical model curve
Dim analyticalModel As Autodesk.Revit.DB.Structure.AnalyticalElement = Nothing
Dim relManager As Autodesk.Revit.DB.Structure.AnalyticalToPhysicalAssociationManager = Autodesk.Revit.DB.Structure.AnalyticalToPhysicalAssociationManager.GetAnalyticalToPhysicalAssociationManager(doc)

If (relManager Is Nothing) Then
   Exit Sub
End If

   Dim counterpartId As ElementId = relManager.GetAssociatedElementId(familyInstance.Id)
   If (counterpartId Is Nothing) Then
   Exit Sub
End If

analyticalModel = doc.GetElement(counterpartId)

Dim curve As Curve = analyticalModel.GetCurve()
Dim transform__1 As Transform = familyInstance.GetTransform()
   Dim index As Integer = spatialFieldManager.AddSpatialFieldPrimitive(curve, Transform.Identity)

   Dim doubleList As IList(Of Double) = New List(Of Double)()
   doubleList.Add(curve.GetEndParameter(0))
   ' vectors will be at each end of the analytical model curve
   doubleList.Add(curve.GetEndParameter(1))
   Dim pointsByParameter As New FieldDomainPointsByParameter(doubleList)

   Dim xyzList As New List(Of XYZ)()
   xyzList.Add(curve.ComputeDerivatives(0, True).BasisX.Normalize())
   ' vectors will be tangent to the curve at its ends
   Dim vectorList As IList(Of VectorAtPoint) = New List(Of VectorAtPoint)()
   vectorList.Add(New VectorAtPoint(xyzList))
   xyzList.Clear()
   xyzList.Add(curve.ComputeDerivatives(1, True).BasisX.Normalize().Negate())
   vectorList.Add(New VectorAtPoint(xyzList))
   Dim fieldValues As New FieldValues(vectorList)

Inheritance Hierarchy

System Object
Autodesk.Revit.DB ValueAtPointBase
Autodesk.Revit.DB.Analysis VectorAtPoint

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 →