# Extrusion class

Namespace: [Rhino.Geometry](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.geometry.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
[Serializable]
public class Extrusion : Surface
```

Represents an extrusion, or objects such as beams or linearly extruded elements, that can be represented by profile curves and two miter planes at the extremes.

## Constructors

- [Extrusion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/ctor.md): (2 overloads) Initializes a new instance of the [Extrusion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion.md) class.

## Properties

- [CapCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/capcount.md): Gets the amount of capping surfaces.
- [IsCappedAtBottom](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/iscappedatbottom.md): Gets a value indicating whether the surface that fills the bottom profile is existing.
- [IsCappedAtTop](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/iscappedattop.md): Gets a value indicating whether the surface that fills the top profile is existing.
- [IsMiteredAtEnd](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/ismiteredatend.md): Gets a value indicating whether a miter plane at the end is defined.
- [IsMiteredAtStart](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/ismiteredatstart.md): Returns a value indicating whether a miter plane at start is defined.
- [IsSolid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/issolid.md): Gets a value indicating whether there is no gap among all surfaces constructing this object.
- [MiterPlaneNormalAtEnd](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/miterplanenormalatend.md): Gets or sets the normal of the miter plane at the end in profile coordinates. In profile coordinates, 0,0,1 always maps to the extrusion axis
- [MiterPlaneNormalAtStart](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/miterplanenormalatstart.md): Gets or sets the normal of the miter plane at the start in profile coordinates. In profile coordinates, 0,0,1 always maps to the extrusion axis
- [PathEnd](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/pathend.md): Gets the end point of the path.
- [PathStart](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/pathstart.md): Gets the start point of the path.
- [PathTangent](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/pathtangent.md): Gets the up vector of the path.
- [ProfileCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/profilecount.md): Gets the amount of profile curves.

## Methods

- [AddInnerProfile](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/addinnerprofile.md): Adds an inner profile.
- [Create](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/create.md): (2 overloads, static) Create an extrusion from a 3d curve, a plane and a height.
- [CreateBoxExtrusion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/createboxextrusion.md): (static) Gets an extrusion from a box.
- [CreateCylinderExtrusion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/createcylinderextrusion.md): (static) Gets an extrusion form of a cylinder.
- [CreatePipeExtrusion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/createpipeextrusion.md): (static) Gets an extrusion form of a pipe.
- [GetBrepFormComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/getbrepformcomponentindex.md): Convert a component index that identifies a part of this extrusion to a component index that identifies a part of the Brep created by Extrusion.ToBrep(false).
- [GetMesh](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/getmesh.md): Obtains a reference to a specified type of mesh for this extrusion.
- [GetPathPlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/getpathplane.md): Gets the 3D plane perpendicular to the path at a normalized path parameter.
- [GetProfilePlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/getprofileplane.md): Gets the 3D plane containing the profile curve at a normalized path parameter.
- [GetProfileTransformation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/getprofiletransformation.md): Gets the transformation that maps the XY profile curve to its 3d location.
- [GetWireframe](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/getwireframe.md): Constructs all the Wireframe curves for this Extrusion.
- [PathLineCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/pathlinecurve.md): Gets the line-like curve that is the conceptual axis of the extrusion.
- [Profile3d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/profile3d.md): (2 overloads) Gets one of the profiles.
- [ProfileIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/profileindex.md): Gets the index of the profile curve at a domain related to a parameter.
- [SetMesh](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/setmesh.md): Sets a specified type of mesh for this extrusion.
- [SetOuterProfile](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/setouterprofile.md): Sets the outer profile of the extrusion.
- [SetPathAndUp](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/setpathandup.md): Allows to set the two points at the extremes and the up vector.
- [ToBrep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/tobrep.md): Constructs a brep form of the extrusion. The outer profile is always the first face of the brep. If there are inner profiles, additional brep faces are created for each profile. If the outer profile is closed, then end caps are added as the last two faces of the brep.
- [WallEdge](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/walledge.md): Gets one of the longitudinal curves along the beam or extrusion.
- [WallSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.extrusion/wallsurface.md): Gets one of the longitudinal surfaces of the extrusion.

## Inherited Members

- From [Surface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface.md): [IsSubDFriendly](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/issubdfriendly.md), [ClosestPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/closestpoint.md), [ClosestSide](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/closestside.md), [CurvatureAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/curvatureat.md), [Degree](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/degree.md), [Domain](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/domain.md), [Evaluate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/evaluate.md), [Extend](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/extend.md), [Fit](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/fit.md), [FitCurveToSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/fitcurvetosurface.md), [FrameAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/frameat.md), [GetNextDiscontinuity](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/getnextdiscontinuity.md), [GetNurbsFormParameterFromSurfaceParameter](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/getnurbsformparameterfromsurfaceparameter.md), [GetSpanVector](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/getspanvector.md), [GetSurfaceParameterFromNurbsFormParameter](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/getsurfaceparameterfromnurbsformparameter.md), [GetSurfaceSize](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/getsurfacesize.md), [HasNurbsForm](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/hasnurbsform.md), [InterpolatedCurveOnSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/interpolatedcurveonsurface.md), [InterpolatedCurveOnSurfaceUV](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/interpolatedcurveonsurfaceuv.md), [IsAtSeam](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/isatseam.md), [IsAtSingularity](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/isatsingularity.md), [IsClosed](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/isclosed.md), [IsCone](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/iscone.md), [IsContinuous](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/iscontinuous.md), [IsCylinder](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/iscylinder.md), [IsExtrusion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/isextrusion.md), [IsIsoparametric](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/isisoparametric.md), [IsPeriodic](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/isperiodic.md), [IsPlanar](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/isplanar.md), [IsSingular](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/issingular.md), [IsSphere](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/issphere.md), [IsTorus](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/istorus.md), [IsoCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/isocurve.md), [LocalClosestPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/localclosestpoint.md), [NormalAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/normalat.md), [Offset](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/offset.md), [PointAt](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/pointat.md), [Pullback](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/pullback.md), [Pushup](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/pushup.md), [Rebuild](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/rebuild.md), [RebuildOneDirection](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/rebuildonedirection.md), [RefitSimplySplitSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/refitsimplysplitsurface.md), [RefitSplit](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/refitsplit.md), [Reverse](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/reverse.md), [SetDomain](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/setdomain.md), [ShortPath](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/shortpath.md), [Smooth](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/smooth.md), [SpanCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/spancount.md), [Split](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/split.md), [ToBrep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/tobrep.md), [ToNurbsSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/tonurbssurface.md), [Transpose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/transpose.md), [Trim](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/trim.md), [TryGetCone](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/trygetcone.md), [TryGetCylinder](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/trygetcylinder.md), [TryGetExtrusion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/trygetextrusion.md), [TryGetFiniteCylinder](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/trygetfinitecylinder.md), [TryGetPlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/trygetplane.md), [TryGetSphere](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/trygetsphere.md), [TryGetTorus](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/trygettorus.md), [VariableOffset](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.surface/variableoffset.md)
- From [GeometryBase](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase.md): [HasBrepForm](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/hasbrepform.md), [IsDeformable](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/isdeformable.md), [IsDocumentControlled](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/isdocumentcontrolled.md), [IsShallowDuplicate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/isshallowduplicate.md), [ObjectType](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/objecttype.md), [UserStringCount](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/userstringcount.md), [ComponentIndex](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/componentindex.md), [DataCRC](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/datacrc.md), [DeleteAllUserStrings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/deletealluserstrings.md), [DeleteUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/deleteuserstring.md), [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/dispose.md), [Duplicate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/duplicate.md), [DuplicateShallow](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/duplicateshallow.md), [GetBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/getboundingbox.md), [GetUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/getuserstring.md), [GetUserStrings](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/getuserstrings.md), [MakeDeformable](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/makedeformable.md), [MemoryEstimate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/memoryestimate.md), [NonConstOperation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/nonconstoperation.md), [OnSwitchToNonConst](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/onswitchtononconst.md), [Rotate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/rotate.md), [Scale](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/scale.md), [SetUserString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/setuserstring.md), [Transform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/transform.md), [Translate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.geometrybase/translate.md)
- From [CommonObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject.md): [Disposed](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/disposed.md), [HasUserData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/hasuserdata.md), [IsValid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/isvalid.md), [UserData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/userdata.md), [UserDictionary](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/userdictionary.md), [ConstructConstObject](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/constructconstobject.md), [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/dispose.md), [EnsurePrivateCopy](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/ensureprivatecopy.md), [GetObjectData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/getobjectdata.md), [IsValidWithLog](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/isvalidwithlog.md), [ToJSON](https://developer.rhino3d.com/api/rhinocommon/type/rhino.runtime.commonobject/tojson.md)
