ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Geometry Namespace / IGeometryEngine Interface / Expand Method / Expand(Envelope,Double,Double,Double,Boolean) Method
The envelope to expand or shrink.
The scale factor along the X-axis. In other words, the amount to expand or shrink the width of the envelope.
The scale factor along the Y-axis. In other words, the amount to expand or shrink the height of the envelope.
The scale factor along the Z-axis. In other words, the amount to expand or shrink the depth of the envelope.
If asRatio = false, the expansion is additive. If asRatio = true, the expansion is multiplicative.
Example Version

Expand(Envelope,Double,Double,Double,Boolean) Method
Expands or shrinks the envelope in a 3-dimensional manner.
Syntax

Parameters

envelope
The envelope to expand or shrink.
dx
The scale factor along the X-axis. In other words, the amount to expand or shrink the width of the envelope.
dy
The scale factor along the Y-axis. In other words, the amount to expand or shrink the height of the envelope.
dz
The scale factor along the Z-axis. In other words, the amount to expand or shrink the depth of the envelope.
asRatio
If asRatio = false, the expansion is additive. If asRatio = true, the expansion is multiplicative.

Return Value

The scaled envelope.
Exceptions
ExceptionDescription
Envelope is null or empty.
This geometry is not Z-Aware.
Spatial reference of envelopeis an image coordinate system.
Remarks
The envelope must be Z-Aware or else an exception will be thrown.

If asRatio is set to true, dx, dy and dz must be greater than or equal to zero. In this case, if the user wants to increase the envelope width by 10%, then dx = 1.1. On the other hand, if the user wants to decrease the width by 10%, then dx = 0.9.

Example
Expand envelopes
Envelope env = EnvelopeBuilderEx.CreateEnvelope(100.0, 100.0, 500.0, 500.0);
// env.HasZ = false

Envelope result = GeometryEngine.Instance.Expand(env, 0.5, 0.5, true);
// result.Center = 300, 300
// result.XMin = 200
// result.YMin = 200
// result.XMax = 400
// result.YMax = 400

result = GeometryEngine.Instance.Expand(env, 100, 200, false);
// result.Center = 300, 300
// result.XMin = 0
// result.YMin = -100
// result.XMax = 600
// result.YMax = 700

try
{
  // expand in 3 dimensions
  result = GeometryEngine.Instance.Expand(env, 0.5, 0.5, 0.5, true);
}
catch (InvalidOperationException e)
{
  // the geometry is not Z-Aware
}

// expand a 3d envelope
MapPoint pt1 = MapPointBuilderEx.CreateMapPoint(100, 100, 100);
MapPoint pt2 = MapPointBuilderEx.CreateMapPoint(200, 200, 200);

env = EnvelopeBuilderEx.CreateEnvelope(pt1, pt2);
// env.HasZ = true

result = GeometryEngine.Instance.Expand(env, 0.5, 0.5, 0.5, true);

// result.Center = 150, 150, 150
// result.XMin = 125
// result.YMin = 125
// result.ZMin = 125
// result.XMax = 175
// result.YMax = 175
// result.ZMax = 175
Requirements

Target Platforms: Windows 11, Windows 10

ArcGIS Pro version: 3 or higher.
See Also