Skip To Content

esri_featurelayer_elevatetofield (AutoLISP)

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.

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

Lista de argumentos para la función:

  • 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.

    Etiqueta asociadaTipo de valorDescripción del valorObligatorio u opcional
    "FIELDUNITS"

    cadena de caracteres

    "Feet", "USFeet" o "Meters" (sin distinción entre minúsculas y mayúsculas).

    Opcional ("Meters" como valor predeterminado)

    "ZFACTOR"

    doble

    Multiplica el valor FIELD de cada entidad por esta cantidad para determinar la elevación. Invalida FIELDUNITS.

    Opcional (1,0 como valor predeterminado)

    "SELECTIONSET"

    conjunto de selección

    Conjunto de selección de AutoCAD para limitar las entidades que se modificarán. Si se omite, se modificarán todas las entidades de la capa de entidades.

    Opcional (TODAS las entidades de la capa de entidades como valor predeterminado)

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 denominado ELEVATION, en el cual las unidades de los valores están en 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 denominado ELEVATION y devuelve una lista true con el recuento de entidades modificado.

(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 donde las elevaciones almacenadas en el campo ELEVATION 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

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 modificado. :

(T 20)

Valores de retorno

  • Si es correcto, devuelve una lista true y el recuento de entidades modificado: (T <n>)
  • Si se produce un error, devuelve una lista con el primer valor de nil y, a continuación, 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 han suministrado 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."))

    Falta el nombre del campo o elevation_settings no es válido.