IExtrude Interface

Provides access to members that can be used to take a geometry and connect it to a translated version of itself to generate a higher-dimensional geometry.

Description

Constructs a MultiPatch or Polyline by extruding a base geometry. Extrusion adds another dimension to the base geometry. Generally, this dimension is along the Z-Axis, but some extrusions allow the axis of extrusion to be defined by an input Line or Vector3D. Depending on the extrusion method, the base geometry may be preserved or may by projected to the XY-Plane and then extruded. Polylines, Polygons, and Envelopes can be extruded to produce MultiPatches. Points and Multipoints are extruded into Polylines. Polygon geometry is assumed to be planar. All input geometries should be topologically KnownSimple (Calling either IsSimple or Simplify makes the IsSimple state known to the geometry). If an input Polygon is not topologically simple, it will be simplified.

Members

Name Description
Method Extrude Extrude using an input geometry as one base and offsetting the Zs already set on the input geometry to get the second base.
Method ExtrudeAbsolute Extrude a geometry using its initial Zs for one base, and a uniform input Z for the other.
Method ExtrudeAlongLine Extrude a geometry along a specified line, using the Zs on the two ends of the line to set Zs on the top and bottom.
Method ExtrudeBetween Extrude a geometry between two functional surfaces.
Method ExtrudeFromTo Extrude a geometry between two specified Z values.
Method ExtrudeRelative Extrude a geometry along a specified vector, using Zs already set on the input geometry.

IExtrude.Extrude Method

Extrude using an input geometry as one base and offsetting the Zs already set on the input geometry to get the second base.

Public Function Extrude ( _
    ByVal OffsetZ As Double, _
    ByVal baseGeom As IGeometry _
) As IGeometry
public IGeometry Extrude (
    double OffsetZ,
    IGeometry baseGeom
);

Description

Creates a MultiPatch or Polyline from a base geometry by extruding the base geometry along the Z-axis by a given offset factor. The base Z value of the geometry is preserved and top Z value is calculated as an offset of each point in the input geometry. The resulting extrusion is parallel to the XY-plane only if the base geometry is parallel to the XY-plane. The input geometry should be ZAware and ZSimple.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines.

IExtrude Extrude Example

IExtrude.ExtrudeAbsolute Method

Extrude a geometry using its initial Zs for one base, and a uniform input Z for the other.

Public Function ExtrudeAbsolute ( _
    ByVal toZ As Double, _
    ByVal baseGeom As IGeometry _
) As IGeometry
public IGeometry ExtrudeAbsolute (
    double toZ,
    IGeometry baseGeom
);

Description

Creates a MultiPatch or Polyline from a base geometry by extruding the base geometry along the Z-axis from the base geometry to a given absolute Z plane. The base Z value of the geometry is preserved and top Z value is uniformly equal to the input absolute Z. The resulting extrusion is always parallel to the XY-plane on the top and only parallel at the base if the base geometry is parallel to the XY-plane. The input geometry should be ZAware and ZSimple.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines.

IExtrude ExtrudeAbsolute Example

IExtrude.ExtrudeAlongLine Method

Extrude a geometry along a specified line, using the Zs on the two ends of the line to set Zs on the top and bottom.

Public Function ExtrudeAlongLine ( _
    ByVal extrusionLine As ILine, _
    ByVal baseGeom As IGeometry _
) As IGeometry
public IGeometry ExtrudeAlongLine (
    ILine extrusionLine,
    IGeometry baseGeom
);

Description

Creates a MultiPatch or Polyline from a base geometry by extruding the base geometry along an axis defined by the input Line. The base Z value of the geometry is uniformly set to the Z value of the Along Line's FromPoint and top Z value is uniformly set to the Z value of the Along Line's ToPoint. The top geometry is also shifted in the X and Y directions by an offset defined by the X and Y change of the Along Line between From and To Points. The resulting extrusion is always parallel to the XY-plane on both the base and top. The input line should be ZAware and ZSimple.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines.

IExtrude ExtrudeAlongLine Example

IExtrude.ExtrudeBetween Method

Extrude a geometry between two functional surfaces.

Public Function ExtrudeBetween ( _
    ByVal fromSurface As IFunctionalSurface, _
    ByVal toSurface As IFunctionalSurface, _
    ByVal baseGeom As IGeometry _
) As IGeometry
public IGeometry ExtrudeBetween (
    IFunctionalSurface fromSurface,
    IFunctionalSurface toSurface,
    IGeometry baseGeom
);

Description

Constructs a MultiPatch or Polyline from a base geometry and two input FunctionalSurfaces. The constructed MultiPatch is equivalent to the region of extrusion of the base geometry along the Z-axis that is bounded on top and bottom by the two FunctionalSurfaces. Only the portion of the input geometry in the region of intersection of the domains of the FunctionalSurfaces is extruded.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines. Z values from the FunctionalSurfaces are only calculated at Points in the input Geometry.

IExtrude ExtrudeBetween Example

IExtrude.ExtrudeFromTo Method

Extrude a geometry between two specified Z values.

Public Function ExtrudeFromTo ( _
    ByVal fromZ As Double, _
    ByVal toZ As Double, _
    ByVal baseGeom As IGeometry _
) As IGeometry
public IGeometry ExtrudeFromTo (
    double fromZ,
    double toZ,
    IGeometry baseGeom
);

Description

Creates a MultiPatch or Polyline 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 value of the geometry is uniformly set to the FromZ and top Z value is set to a uniform ToZ. The resulting extrusion is always parallel to the XY-plane on both the base and top.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines.

IExtrude ExtrudeFromTo Example

IExtrude.ExtrudeRelative Method

Extrude a geometry along a specified vector, using Zs already set on the input geometry.

Public Function ExtrudeRelative ( _
    ByVal extrusionVector As IVector3D, _
    ByVal baseGeom As IGeometry _
) As IGeometry
public IGeometry ExtrudeRelative (
    IVector3D extrusionVector,
    IGeometry baseGeom
);

Description

Creates a MultiPatch or Polyline from a base geometry by extruding the base geometry along an axis defined by the input Vector3D. The base Z values of the geometry are the same as the base geometry and top Z values are offset from the base by the Z component of the input Vector3D. The top geometry is also shifted in the X and Y directions by an offset defined by the X component and Y component of the Vector3D. The resulting extrusion is parallel to the XY-plane only if the base geometry is parallel to the XY-plane. The input geometry should be ZAware and ZSimple.

Remarks

All non-linear segments are treated as linear segments when extrusion is performed. Only Polylines, Polygons, Envelopes, Points, and Multipoints are allowed as input geometries. Polylines, Polygons, and Envelopes will output MultiPatches while Points and Multipoints will output Polylines.

IExtrude ExtrudeRelative Example

Classes that implement IExtrude

Classes Description
GeometryEnvironment Provides a way of creating geometries from different inputs and setting/getting global variables for controlling behavior of geometry methods.

Remarks

Extrusion on Polylines, Polygons, and Envelopes is the same as the extrusion performed by IConstructMultiPatch.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.