Skip To Content

esri_featurelayer_elevatetofield (AutoLISP)

Die Funktion (esri_featurelayer_elevatetofield) ändert die Z-Koordinaten von Objekten des angegebenen Feature-Layers und aller TEXT-Objekte, die mit diesen Features verknüpft sind.

Funktionsdetails:

  • Ohne einen Auswahlsatz werden alle Features des Feature-Layers geändert.
  • Diese Funktion unterstützt Objekten von POINT-, POLYLINE-, POLYGON- und ANNOTATION-Feature-Layern.

Syntax

(esri_featurelayer_elevatetofield flname field [elevation_settings])

Argumente

Liste der Argumente für die Funktion:

  • flname | Zeichenfolge | erforderlich | Ein vorhandener Feature-Layer-Name in der Zeichnung.
  • field | Zeichenfolge | erforderlich | Ein numerisches Feature-Attributfeld.
  • elevation_settings | Assoziationsliste | optional | Eine Liste der optionalen Einstellungen in Form von Paarlisten (dotted pairs), um zu ändern, wie Höhenangaben geändert werden.

    Assoziierte BezeichnungWertetypWertbeschreibungErforderlich oder optional
    "FIELDUNITS"

    Zeichenfolge

    "Feet", "USFeet" oder "Meters" (Groß-/Kleinschreibung wird nicht beachtet).

    Optional (Standardwert "Meters")

    "ZFACTOR"

    Double

    Multipliziert den Wert FIELD der einzelnen Features mit diesem Betrag, um die Höhe zu bestimmen. Setzt FIELDUNITS außer Kraft.

    Optional (Standard: 1,0)

    "SELECTIONSET"

    Auswahlsatz

    AutoCAD-Auswahlsatz, um zu begrenzen, welche der Features geändert werden. Wird er nicht angegeben, werden alle Features des Feature-Layers geändert.

    Optional (Standard: ALLE Features des Feature-Layers)

Beispiel 1 für die Verwendung

Mit diesem Beispiel wird die Höhe aller Features des Feature-Layers Contours basierend auf dem Feature-Attributfeld ELEVATION geändert. Dabei sind die Einheiten der Werte Meter.

(esri_featurelayer_elevatetofield "Contours" "ELEVATION")

Ergebnis des Beispiels 1 für die Verwendung

Ändert die Höhe aller Features des Feature-Layers Contours basierend auf den Werten des Attributfeldes ELEVATION und gibt eine Liste mit "true" zurück, die die Anzahl der geänderten Features enthält.

(T 49)

Beispiel 2 für die Verwendung

Mit diesem Beispiel wird die Höhe eines Auswahlsatzes von Features des Feature-Layers Spot_Elevation geändert. Dabei werden die Höhen im Feld ELEVATION mit einem Maßstabsfaktor multipliziert, um eine Umwandlung von Meter in Fuß zu berücksichtigen.

(progn
(setq ss (ssget))
(esri_featurelayer_elevatetofield "Spot_Elevation" "ELEVATION"
  (list
    (cons "ZFACTOR" 3.28084)
    (cons "SELECTIONSET" ss)
)))

Ergebnis des Beispiels 2 für die Verwendung

Ändert die Höhe des ausgewählten Satzes von Höhenkoten-Features basierend auf dem angegebenen Maßstabsfaktor und gibt eine Liste mit "true" zurück, die die Anzahl der geänderten Features enthält. :

(T 20)

Rückgabewerte

  • Gibt bei erfolgreicher Ausführung eine Liste mit "true" und die Anzahl der geänderten Objekte zurück: (T <n>)
  • Wenn bei dem Vorgang ein Fehler auftritt, wird eine Liste zurückgegeben, in der der erste Wert nil lautet. Anschließend wird eine Assoziationsliste mit dem Schlüsselwert "Error" sowie eine entsprechende Fehlermeldung in Form einer Zeichenfolge zurückgegeben: (nil ( "Error" . "<message>"))

Rückgabewerte mit Fehlern

Ein Rückgabewert mit einem Fehler kann eine der folgenden Ursachen haben:

  • (nil ("Error" . "Missing required argument."))

    Mindestens eines der erforderlichen Argumente wurde nicht angegeben.

  • (nil ("Error" . "Feature layer not found."))

    Der angegebene Feature-Layer wurde in der Zeichnung nicht gefunden.

  • (nil ("Error" . "No supported feature layers found."))

    Der Layer hat den Geometrietyp MULTIPATCH, der nicht unterstützt wird.

  • (nil ("Error" . "Field not found."))

    elevation_settings fehlt, der Feldname wurde nicht gefunden oder ist ungültig.