ArcObjects Library Reference (Geometry)

# ITransform3D.Scale3D Method

Scales the object about the specified origin point. sx, sy, and sz are the scaling factors for the x, y, and z dimensions repectively.

```[Visual Basic .NET]
Public Sub Scale3D ( _
ByVal Origin As IPoint, _
ByVal sx As Double, _
ByVal sy As Double, _
ByVal sz As Double _
)```
```[C#]
public void Scale3D (
IPoint Origin,
double sx,
double sy,
double sz
);```
```[C++]
HRESULT Scale3D(
IPoint* Origin,
double sx,
double sy,
double sz
);```
```[C++]
Parameters
Origin
Origin is a parameter of type IPoint
sx
sx is a parameter of type double
sy
sy is a parameter of type double
sz
sz is a parameter of type double
```

#### Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.
[C#]

public static void TransformMultiPatchGeometry()

{

const double XScale = 2;

const double YScale = 2;

const double ZScale = 3;

//Transform3D: Cylinder Scaled Via Scale3D()

//Define Origin At Which Scale Operation Should Be Performed

IPoint originPoint = ConstructPoint3D(0, 0, 0);

MakeZAware(originPoint as IGeometry);

IGeometry geometry = GetMultiPatchGeometry();

ITransform3D transform3D = geometry as ITransform3D;

transform3D.Scale3D(originPoint, XScale, YScale, ZScale);

}

private static IPoint ConstructPoint3D(double x, double y, double z)

{

IPoint point = ConstructPoint2D(x, y);

point.Z = z;

MakeZAware(point as IGeometry);

return point;

}

private static IPoint ConstructPoint2D(double x, double y)

{

IPoint point = new PointClass();

point.PutCoords(x, y);

return point;

}

private static void MakeZAware(IGeometry geometry)

{

IZAware zAware = geometry as IZAware;

zAware.ZAware = true;

}