﻿ ConstructMultipatchExtrudeFromToZ Method (GeometryEngine)—ArcGIS Pro
ArcGIS Pro 3.3 API Reference Guide
ArcGIS.Core.Geometry Namespace / GeometryEngine Class / ConstructMultipatchExtrudeFromToZ Method
The base geometry.
The Z-value of the base.
The Z-value of the top.
Example

In This Topic
ConstructMultipatchExtrudeFromToZ Method (GeometryEngine)
In This Topic
Creates a multipatch from the input polygon or polyline.
Syntax
```public Multipatch ConstructMultipatchExtrudeFromToZ(
Multipart multipart,
double fromZ,
double toZ
)```
```Public Function ConstructMultipatchExtrudeFromToZ( _
ByVal multipart As Multipart, _
ByVal fromZ As Double, _
ByVal toZ As Double _
) As Multipatch```

#### Parameters

multipart
The base geometry.
fromZ
The Z-value of the base.
toZ
The Z-value of the top.

#### Return Value

Returns the multipatch.
Exceptions
ExceptionDescription
Geometry is null or empty.
The geometry is not Z-Aware.
Remarks
Creates a multipatch from a base geometry by extruding the base geometry along the Z-axis from a given fromZ input to a given toZ input. The base Z-values of the geometry are uniformly set to the fromZ input and the top Z-values are uniformly set to the toZ value. The resulting extrusion is always parallel to the xy-plane on both the base and the top.
Example
Construct Multipatch via Extrusion of Polygon or Polyline
```// build a polygon
string json = "{\"hasZ\":true,\"rings\":[[[0,0,0],[0,1,0],[1,1,0],[1,0,0],[0,0,0]]],\"spatialReference\":{\"wkid\":4326}}";
Polygon polygon = PolygonBuilderEx.FromJson(json);

// extrude the polygon by an offset to create a multipatch
Multipatch multipatch = GeometryEngine.Instance.ConstructMultipatchExtrude(polygon, 2);

// a different polygon
json = "{\"hasZ\":true,\"rings\":[[[0,0,1],[0,1,2],[1,1,3],[1,0,4],[0,0,1]]],\"spatialReference\":{\"wkid\":4326}}";
polygon = PolygonBuilderEx.FromJson(json);

// extrude between z values to create a multipatch
multipatch = GeometryEngine.Instance.ConstructMultipatchExtrudeFromToZ(polygon, -10, 20);

// extrude along the axis defined by the coordinate to create a multipatch
Coordinate3D coord = new Coordinate3D(10, 18, -10);
multipatch = GeometryEngine.Instance.ConstructMultipatchExtrudeAlongVector3D(polygon, coord);

// build a polyline
json = "{\"hasZ\":true,\"paths\":[[[400,800,1000],[800,1400,1500],[1200,800,2000],[1800,1800,2500],[2200,800,3000]]],\"spatialReference\":{\"wkid\":3857}}";
Polyline polyline = PolylineBuilderEx.FromJson(json);

// extrude to a specific z value to create a multipatch
multipatch = GeometryEngine.Instance.ConstructMultipatchExtrudeToZ(polyline, 500);

Coordinate3D fromCoord = new Coordinate3D(50, 50, -500);
Coordinate3D toCoord = new Coordinate3D(200, 50, 1000);

// extrude between two coordinates to create a multipatch
multipatch = GeometryEngine.Instance.ConstructMultipatchExtrudeAlongLine(polyline, fromCoord, toCoord);
```
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.