FeatureLayer.ElevateToField 方法用于修改指定要素图层的实体的 z 坐标,以及链接到这些要素的任何 TEXT 实体。
- 如果未包含任何选择集,将修改要素图层的所有要素。
- 此函数支持来自点、折线、面和注记要素图层的实体。
声明
public int? Esri.ArcGISForAutoCAD.FeatureLayer.ElevateToField(Document doc, string flName, string field, string fieldUnits = null, double? zFactor = null, SelectionSet selectionSet = null)
参数
| 类型 | 名称 | 描述 | 必填 |
|---|---|---|---|
文档 | doc | 要进行操作的 AutoCAD 文档。 | 必填 |
string | flName | 工程图中现有的要素图层名称。 | 必填 |
string | field | 数值要素属性字段。 | 必填 |
string | fieldUnits | 测量单位:"Feet"、"USFeet" 或 "Meters"。 | 可选(默认设置为地图单位) |
双精度 | zFactor | 乘以每个要素的 field 值以确定高程的数值。 此参数将覆盖 fieldUnits 参数。 | 可选(默认值为 1.0) |
SelectionSet | selectionSet | AutoCAD 选择集,用于限制将修改的要素。 如果未提供任何值,则将修改要素图层的所有要素。 | 可选(默认为要素图层的 ALL 要素) |
返回
| 类型 | 描述 |
|---|---|
int? | 已修改实体的计数。 |
错误条件备注
如果参数无效,则此方法可能会抛出异常或者返回 0 或 null。
示例 1
根据 Elevation 要素属性字段修改 Contours 要素图层所有要素的高程,并打印已修改要素的计数。// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
// Modify the z-values of the features
var count = Esri.ArcGISForAutoCAD.FeatureLayer.ElevateToField(doc, "Contours", "Elevation");
// Print the number of features with modified z-values
doc.Editor.WriteMessage ("Number of modified features: " + count);
/* Example output
Number of modified features: 49
*/
示例 2
修改 Spot_Elevation 要素图层中所选要素集的高程,其中 Elevation 字段中存储的高程需要乘以比例因子以考虑从米到英尺的转换,并打印已修改要素的计数。// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
var selectionSet = doc.Editor.GetSelection().Value;
// Modify the z-values of the selected features
var count = Esri.ArcGISForAutoCAD.FeatureLayer.ElevateToField(doc, "Spot_Elevation", "Elevation", null, 3.28084, selectionSet);
// Print the number of features with modified z-values
doc.Editor.WriteMessage("Number of modified features: " + count);
/* Example output
Number of modified features: 3
*/
另请参阅
esri_featurelayer_elevatetofield - 此 AutoLISP 函数用于修改指定要素图层的实体的 z 坐标,以及链接到这些要素的任何 TEXT 实体。