Skip to content

FieldDomainPointsByParameter

Public Class

Represents a set of one-dimensional point coordinates (defined usually on curve)

Inheritance Hierarchy

System.Object
Autodesk.Revit.DB.Analysis.FieldDomainPoints
Autodesk.Revit.DB.Analysis.FieldDomainPointsByParameter

Namespace: Autodesk.Revit.DB.Analysis

Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Syntax

public class FieldDomainPointsByParameter : FieldDomainPoints

The FieldDomainPointsByParameter type exposes the following members.

Constructors

Name

Description


Public Method
FieldDomainPointsByParameter

Creates object from an array of one-dimensional point coordinates


Properties

Name

Description


Public Property
IsValidObject

Specifies whether the .NET object represents a valid Revit entity.
(Inherited from FieldDomainPoints)


Methods

Name

Description


Public Method

(Inherited from FieldDomainPoints)


Public Method

Equals

Determines whether the specified object is equal to the current object.
(Inherited from Object)


Public Method

GetHashCode

Serves as the default hash function.
(Inherited from Object)


Public Method

GetType

Gets the Type of the current instance.
(Inherited from Object)


Public Method

ToString

Returns a string that represents the current object.
(Inherited from Object)


Example

Document doc = commandData.Application.ActiveUIDocument.Document;
UIDocument uiDoc = commandData.Application.ActiveUIDocument;
SpatialFieldManager sfm = SpatialFieldManager.GetSpatialFieldManager(doc.ActiveView);
if (sfm == null)
{
sfm = SpatialFieldManager.CreateSpatialFieldManager(doc.ActiveView, 1);
}
ReferenceArray ra = new ReferenceArray();
Reference curveRef = uiDoc.Selection.PickObject(ObjectType.Element, "Select a curve");
ra.Append(curveRef);
foreach (Reference reference in ra)
{
ModelCurve modelCurve = doc.GetElement(reference) as ModelCurve;
Curve curve = modelCurve.GeometryCurve;
if (curve == null)
{
TaskDialog.Show("Error", "Must select a curve");
return Result.Cancelled;
}
else
{
int idx = sfm.AddSpatialFieldPrimitive(curve.Reference);
IList<double> pts = new List<double>();
double u = curve.GetEndParameter(0);
double range = curve.GetEndParameter(1) - u;
for (int ii = 0; ii < 10; ii++)
{
pts.Add(u);
u = u + range / 10;
}
FieldDomainPointsByParameter pnts = new FieldDomainPointsByParameter(pts);
List<double> doubleList = new List<double>();
IList<ValueAtPoint> valList = new List<ValueAtPoint>();
double x = 0;
while (valList.Count < pts.Count)
//for (double x = 0; x < 1; x = x + 0.1)
{
doubleList.Clear();
doubleList.Add(x * 10);
valList.Add(new ValueAtPoint(doubleList));
x = x + 0.1;
}
FieldValues vals = new FieldValues(valList);
AnalysisResultSchema resultSchema = new AnalysisResultSchema("Schema Name", "Description");
int schemaIndex = sfm.RegisterResult(resultSchema);
sfm.UpdateSpatialFieldPrimitive(idx, pnts, vals, schemaIndex);
}
}