FieldDomainPointsByParameter
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
Dispose
(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); }}