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