La función esri_featurelayer_elevatetofield modifica las coordenadas z de las entidades de la capa de entidades especificada y cualquier entidad TEXT vinculada a esas entidades.
Estos son los detalles de la función:
- Si no se incluye ningún conjunto de selección, se modificarán todas las entidades de la capa de entidades.
- Esta función es compatible con entidades de capas de entidades de POINT, POLYLINE, POLYGON y ANNOTATION.
Sintaxis
(esri_featurelayer_elevatetofield flname field [elevation_settings])
Argumentos
- flname | cadena de caracteres | obligatorio | El nombre de una capa de entidades existente en el dibujo.
- field | cadena de caracteres | obligatorio | Un campo de atributos de entidades numérico.
- elevation_settings | lista asociada | opcional | Una lista de ajustes opcionales como pares de puntos para cambiar la forma de modificar las elevaciones, como sigue:
Etiqueta asociada Tipo de valor Descripción del valor Obligatorio u opcional "ZFACTOR" doble
Multiplica el valor FIELD de cada entidad por esta cantidad para determinar la elevación. Este argumento anula FIELDUNITS.
Opcional (1,0 como valor predeterminado)
"FIELDUNITS" cadena
Unidad de medida de elevación. Los valores válidos son "Feet", "USFeet" y "Meters" (no se distingue entre mayúsculas y minúsculas).
Opcional (se ignora cuando ZFACTOR está presente)
"SELECTIONSET" conjunto de selección
Conjunto de selección de AutoCAD que limita qué entidades que se van a modificar. Si no se proporciona ningún valor, se modificarán todas las entidades de la capa de entidades.
Opcional (todas las entidades de la capa de entidades de forma predeterminada)
Ejemplo de uso 1
En este ejemplo se modifica la elevación de todas las entidades de la capa de entidades Contours en función del campo de atributos de entidades ELEVATION en el cual las unidades de los valores son metros.(esri_featurelayer_elevatetofield "Contours" "ELEVATION")
Ejemplo de resultado de uso 1
Modifica la elevación de todas las entidades de la capa de entidades Contours según los valores del campo de atributo ELEVATION y devuelve una lista true con el recuento de entidades modificadas.
(T 49)Ejemplo de uso 2
En este ejemplo se modifica la elevación de un conjunto seleccionado de entidades de la capa de entidades Spot_Elevation y las elevaciones almacenadas en el campo ELEVATION que se deben multiplicar por un factor de escala para tener en cuenta una conversión de metros a pies.(progn
(setq ss (ssget))
(esri_featurelayer_elevatetofield "Spot_Elevation" "ELEVATION"
(list
(cons "ZFACTOR" 3.28084)
(cons "SELECTIONSET" ss)
)))
Ejemplo de resultado de uso 2
En este ejemplo se modifica la elevación del conjunto seleccionado de entidades de elevación puntual en función del factor de escala proporcionado y devuelve una lista true con el recuento de entidades modificadas.
(T 20)Valores de retorno
Los siguientes son los valores de retorno posibles:
- Si es correcto, devuelve una lista true y el recuento de entidades modificadas: (T <n>).
- Si se produce un error, devuelve una lista con el primer valor de nil y, a continuación, se devuelve una lista asociada que contiene el valor de clave "Error" y un mensaje de error asociado como cadena de caracteres: (nil ( "Error" . "<message>")).
Valores de retorno fallido
Se puede producir un valor de retorno fallido por cualquiera de los siguientes motivos:
- (nil ("Error" . "Cannot calculate unit scale factor from current coordinate system."))
La función no podría resolver las unidades especificadas por el usuario o las unidades del sistema de coordenadas del mapa.
- (nil ("Error" . "Missing required argument."))
No se suministraron uno o más de los argumentos requeridos.
- (nil ("Error" . "Feature layer not found."))
La capa de entidades especificada no se encontró en el dibujo.
- (nil ("Error" . "No supported feature layers found."))
La capa tiene un tipo de geometría MULTIPATCH que no es compatible.
- (nil ("Error" . "Field not found."))
No se ha encontrado un nombre de campo o se ha proporcionado un valor de elevation_settings válido.