ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Geometry Namespace / IGeometryEngine Interface / ConstructMultipatchExtrudeAlongLine Method
The base geometry.
The from coordinate.
The to coordinate.
Example Version

ConstructMultipatchExtrudeAlongLine Method (IGeometryEngine)
Creates a multipatch from the input polygon or polyline.
Syntax

Parameters

multipart
The base geometry.
fromCoordinate
The from coordinate.
toCoordinate
The to coordinate.

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 an axis defined by a fromCoordinate and a toCoordinate. The base Z-values of the geometry are uniformly set to the Z-value of the fromCoordinate and the top Z-values are uniformly set to the Z-value of the toCoordinate. The top geometry is also shifted in the X and Y directions by an offset defined by the X and Y change between the fromCoordinate and the toCoordinate. 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.
See Also