ArcGIS Enterprise SDK
ITransform3D.Scale3D Method
ArcGIS Developer Help

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 _
public void Scale3D (
    IPoint Origin,
    double sx,
    double sy,
    double sz

        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;


See Also

ITransform3D Interface