Функция esri_attributes_get получает связанный список имен полей и значений их атрибутов.
Примечания по использованию:
- Если указано только имя свойства, возвращаются все поля атрибутов и их значения, хранящиеся в элементе.
- Если указано значение "FLNAME", включаются только атрибуты этого класса объектов, однако также включаются значения по умолчанию.
- Если указано значение "FIELDNAME", возвращаются только это имя поля и его значение.
- Если указаны значения "FLNAME" и FIELDNAME, будут возвращены значение поля или его значение по умолчанию в списке пары значений, разделенных точкой, и только в случае, если оно принадлежит слою объектов.
Синтаксис
(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
Попытка получения значения поля 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" . "Feature layer not found."))
Указанный векторный слой в файле не существует.
- (nil ("Error" . "Invalid associated list"))
Параметр attribute_settings был неправильно структурирован или содержал недопустимые значения.
- (nil ("Error" . "No fields found."))
Указано неверное имя поля.
См. также
esri_featurelayer_getattributes — функция, предназначенная для возврата списка связанных списков атрибутов всех объектов указанного векторного слоя в чертеже.