Skip To Content

esri_attributes_get (AutoLISP)

Эта функция получает связанный список имен полей и значений их атрибутов.

Использование:

  • Если указано только имя свойства, возвращаются все поля атрибутов и их значения, хранящиеся в элементе.
  • Если указано значение FLNAME, включаются только атрибуты этого класса объектов, однако также включаются значения по умолчанию.
  • Если указано значение FIELDNAME, возвращаются только это имя поля и его значение.
  • Если указаны значения FLNAME и FIELDNAME, будут возвращены значение поля или его значение по умолчанию в списке пары значений, разделенных точкой, и только в случае, если оно принадлежит слою объектов.

Синтаксис

(esri_attributes_get ename [attribute_settings])

Аргументы

  • ename |Имя элемента AutoCAD | обязательный | Имя элемента AutoCAD объекта.
  • attribute_settings | cвязанный список | дополнительный | Список дополнительных опций в виде пар значений, разделенных точкой, для ограничения полей и возвращения подходящих значений по умолчанию.

    Связанная надписьТип значенияОписание значенияОбязательный/необязательный
    "FLNAME"

    string

    Имя векторного слоя. Считает элемент участником этого слоя объектов, включает только значения полей, указанных для этого слоя и возвращает значения по умолчанию.

    optional

    "FIELDNAME"

    string

    Одно значение поля для ограничения возвращаемого значения этого поля. Если указывается также значение FLNAME, значение FIELDNAME должно находиться в этом определении класса объектов.

    optional

Пример использования 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

Попытка получения значения поля StreetName из векторного слоя Centerlines для выбранного элемента.

(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 | Функция, предназначенная для возврата списка связанных списков атрибутов всех объектов указанного векторного слоя в чертеже.