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

System Object
Autodesk.Revit.DB.Analysis FieldDomainPoints
Autodesk.Revit.DB.Analysis FieldDomainPointsByParameter
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)

The FieldDomainPointsByParameter type exposes the following members.

Name | Description | |
---|---|---|
![]() | FieldDomainPointsByParameter | Creates object from an array of one-dimensional point coordinates |

Name | Description | |
---|---|---|
![]() | IsValidObject | Specifies whether the .NET object represents a valid Revit entity. (Inherited from FieldDomainPoints ) |

Name | Description | |
---|---|---|
![]() | Dispose | (Inherited from FieldDomainPoints ) |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object ) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object ) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object ) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object ) |

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);
}
}
