La fonction esri_featurelayer_elevatetofield modifie les coordonnées z des entités de la couche d’entités spécifiée et de toute entité TEXT liée à ces entités.
Les détails de la fonction sont les suivants :
- Si aucun ensemble de sélection n’est inclus, toutes les entités de la couche d’entités sont modifiées.
- Cette fonction prend en charge les entités des couches d’entités ponctuelles, polylignes, surfaciques et annotations.
Syntaxe
(esri_featurelayer_elevatetofield flname field [elevation_settings])
Arguments
- flname | chaîne | obligatoire | Nom de couche d’entités existant dans le dessin.
- field | chaîne | (obligatoire) | Champ attributaire d’entité numérique.
- elevation_settings | liste associée | facultatif | Liste des paramètres facultatifs sous forme de paires pointées pour modifier la façon dont les élévations sont mises à jour définie comme suit :
Etiquette associée Type de valeur Description de la valeur Requis ou facultatif "ZFACTOR" réel double
Multiplie la valeur FIELD de chaque entité par cette valeur pour déterminer l’altitude. Cet argument remplace FIELDUNITS.
Facultatif (valeur par défaut 1.0)
"FIELDUNITS" chaîne
Unité de mesure de l’élévation. Les valeurs valides sont "Feet", "USFeet" et "Meters" (la casse des caractères n’est pas prise en compte).
Facultatif (ignoré si ZFACTOR est présent)
"SELECTIONSET" ensemble de sélection
Ensemble de sélection AutoCAD permettant de limiter les entités qui sont modifiées. Si aucune valeur n’est indiquée, toutes les entités de la couche d’entités sont modifiées.
Facultatif (par défaut, toutes les entités de la couche d’entités)
Exemple d’utilisation 1
Cet exemple modifie l’élévation de toutes les entités de la couche d’entités Contours en fonction du champ attributaire de l’entité ELEVATION, dont les valeurs sont exprimées en mètres.(esri_featurelayer_elevatetofield "Contours" "ELEVATION")
Exemple d’utilisation du résultat 1
Cet exemple modifie l’élévation de toutes les entités de la couche d’entités Contours en fonction des valeurs du champ attributaire ELEVATION et renvoie une liste de valeurs True avec le nombre d’entités modifiées.
(T 49)Exemple d’utilisation 2
Cet exemple modifie l’élévation d’un ensemble d’entités sélectionnées dans la couche d’entités Spot_Elevation, pour lesquelles les élévations stockées dans le champ ELEVATION doivent être multipliées par un facteur d’échelle afin d’effectuer la conversion des mètres en pieds.(progn
(setq ss (ssget))
(esri_featurelayer_elevatetofield "Spot_Elevation" "ELEVATION"
(list
(cons "ZFACTOR" 3.28084)
(cons "SELECTIONSET" ss)
)))
Exemple d’utilisation du résultat 2
Cet exemple modifie l’élévation d’un ensemble d’entités de points cotés sélectionnés selon le facteur d’échelle fourni et renvoie une liste de valeurs True avec le nombre d’entités modifiées.
(T 20)Valeurs renvoyées
Voici les valeurs de renvoi possibles :
- En cas de réussite, renvoie une liste de valeurs True avec le nombre d’entités modifiées : (T <n>).
- En cas d’échec, renvoie une liste avec la première valeur nil, puis une liste associée contenant la valeur de clé "Error" et un message d’erreur associé sous forme de chaîne : (nil ( "Error" . "<message>")).
Valeurs d’échec renvoyées
Un échec peut être dû par exemple aux raisons suivantes :
- (nil ("Error" . "Cannot calculate unit scale factor from current coordinate system."))
La fonction n’a pas pu résoudre les unités spécifiées par l’utilisateur ou les unités du système de coordonnées de la carte.
- (nil ("Error" . "Missing required argument."))
Un ou plusieurs des arguments requis n’ont pas été fournis.
- (nil ("Error" . "Feature layer not found."))
La couche d’entités spécifiée n’a pas été trouvée dans le dessin.
- (nil ("Error" . "No supported feature layers found."))
La couche a une géométrie de type MULTIPATCH qui n’est pas prise en charge.
- (nil ("Error" . "Field not found."))
Un nom de champ est introuvable ou une valeur elevation_settings non valide a été fournie.
Vous avez un commentaire à formuler concernant cette rubrique ?