Skip To Content

esri_attributes_get (AutoLISP)

此函数用于获取字段名称的关联列表及其属性值。

使用方法:

  • 如果仅提供实体名称,则将返回存储在实体上的所有属性字段及其值。
  • 如果提供 FLNAME 值,则仅包括属于该要素类的属性;但是也包括默认值。
  • 如果提供 FIELDNAME 值,则仅返回该特定字段名称及其值。
  • 如果提供 FLNAMEFIELDNAME 值,则仅在列表中以点对形式返回已存储的字段值或其默认值,并且这些值仅属于要素图层。

语法

(esri_attributes_get ename [attribute_settings])

参数

  • ename |AutoCAD 实体名称| 必填 | 要素的 AutoCAD 实体名称。
  • attribute_settings | 关联列表 | 可选 | 点对形式的可选设置列表,用于限制字段和返回相应默认值。

    相关标注值类型值描述必填/可选
    "FLNAME"

    string

    要素图层名称。 假设实体属于该要素图层,并将仅包含指定要素图层的字段值,则将返回其默认值。

    可选

    "FIELDNAME"

    string

    将返回值限制到这一字段的单个字段名称。 如果还提供 FLNAME 值,则 FIELDNAME 值必须存在于该要素类定义中。

    可选

示例用法 1

尝试获取所选实体的所有 Centerlines 要素图层属性。

(esri_attributes_get (car (entsel)) (list (cons "FLNAME" "Centerlines")))

结果示例用法 1

以关联列表形式返回所选实体的所有 Centerlines 要素图层属性:

(("EntityHandle" . "252") ("EntityType" . "LWPOLYLINE") ("StreetName" . "S Roosevelt Blvd") ("Pavement" . 6) ("Rating" . 0.6259))

示例用法 2

尝试从所选实体的 Centerlines 要素图层获取 StreetName 字段值。

(esri_attributes_get (car (entsel)) (list (cons "FLNAME" "Centerlines") (cons "FIELDNAME" "StreetName")))

结果示例用法 2

以关联列表形式返回所选实体的 StreetName 字段值:

(("StreetName" . "White Street"))

返回值

该函数将返回一个值。

  • 如果成功,则将以点对形式返回字段名称及其值的关联列表。
  • 如果失败,则该函数将返回一个列表,其中第一个值为 nil,然后将返回一个包含键值 Error 的关联列表以及字符串形式的关联错误消息:(nil ("Error" . "<message>"))

失败的返回值

出于以下任一原因,可能出现失败的返回值:

  • (nil ("Error" . "No attributes found on entity."))

    实体没有任何指定的字段值。

  • (nil ("Error" . "Invalid associated list"))

    attribute_settings 参数的结构不正确或者包含无效值。

  • (nil ("Error" . "Optional field value not found on entity."))

    该实体没有指定的字段值。

另请参阅

esri_featurelayer_getattributes | 此函数用于返回工程图中指定要素图层所有要素的所有属性的关联列表的列表。