此方法用于在要素图层的实体上添加或修改要素属性。 如果实体上存在该字段,且指定的字段类型与提供的值相匹配,则将覆盖现有值。
注:
某些字段可能为只读。 有关详细信息,请参阅字段属性主题。
声明
public bool Esri.ArcGISForAutoCAD.Attributes.Set(Document doc, ObjectId objId, string flName, Dictionary<String, IConvertible> data)
参数
| 类型 | 名称 | 描述 | 必填 |
|---|---|---|---|
文档 | doc | 要进行操作的 AutoCAD 文档。 | 必填 |
ObjectId | objId | 要素的 AutoCAD ObjectId。 | 必填 |
string | flName | 工程图中现有的要素图层名称。 | 必填 |
Dictionary<string, IConvertible> | data | 字段名称及其值的字典。 注:在使用具有编码属性域值的字段时,请使用字段描述值,而非代码。 | 必填 |
返回
| 类型 | 描述 |
|---|---|
bool | 如果属性成功设置,则为 true |
错误条件备注
如果参数无效,则此方法可能会抛出异常或者返回 false 或 null。
示例
打印成功设置指定的 Centerlines 要素实体的 StreetName、Pavement 和 Rating 属性值。// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
var objectId = Esri.ArcGISForAutoCAD.FeatureLayer.SelectEntity(doc, "Centerlines");
var data = new Dictionary<string, IConvertible> { {"StreetName", "Main"}, {"Pavement", 2}, {"Rating", 0.852} };
// Set the designated attribute values
var success = Esri.ArcGISForAutoCAD.Attributes.Set(doc, objectId, "Centerlines", data);
// Print the success
doc.Editor.WriteMessage(success.ToString());
/* Example output
True
*/
另请参阅
FeatureLayer.SelectEntity - 此 .NET 方法将提示选择一个实体并返回其 AutoCAD ObjectId。
esri_attributes_set - 此 AutoLISP 函数可修改要素图层实体上的要素属性。