Extrusion
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.
Inheritance Hierarchy
System.Object
Rhino.Runtime.CommonObject
Rhino.Geometry.GeometryBase
Rhino.Geometry.Surface
Rhino.Geometry.Extrusion
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll)
Syntax
[SerializableAttribute]public class Extrusion : Surface
The Extrusion type exposes the following members.
Constructors
Name
Description
Public Method
Extrusion.
Initializes a new instance of the Extrusion class.
Protected Method
Extrusion(SerializationInfo, StreamingContext)
Protected serialization constructor.
Properties
Name
Description
Public Property
CapCount
Gets the amount of capping surfaces.
Public Property
Disposed
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
(Inherited from CommonObject.)
Public Property
HasBrepForm
Returns true if the Brep.TryConvertBrep function will be successful for this object
(Inherited from GeometryBase.)
Public Property
HasUserData
Gets true if this class has any custom information attached to it through UserData.
(Inherited from CommonObject.)
Public Property
IsCappedAtBottom
Gets a value indicating whether the surface that fills the bottom profile is existing.
Public Property
IsCappedAtTop
Gets a value indicating whether the surface that fills the top profile is existing.
Public Property
IsDeformable
true if object can be accurately modified with “squishy” transformations like projections, shears, and non-uniform scaling.
(Inherited from GeometryBase.)
Public Property
IsDocumentControlled
If true this object may not be modified. Any properties or functions that attempt to modify this object when it is set to “IsReadOnly” will throw a NotSupportedException.
(Inherited from GeometryBase.)
Public Property
IsMiteredAtEnd
Gets a value indicating whether a miter plane at the end is defined.
Public Property
IsMiteredAtStart
Returns a value indicating whether a miter plane at start is defined.
Public Property
IsSolid
Gets a value indicating whether there is no gap among all surfaces constructing this object.
(Overrides
Surface.IsSolid
.)Public Property
IsSubDFriendly
Returns true if the surface is a non-rational, uniform, natural or periodic, cubic NURBS surface. Otherwise, false is returned.
(Inherited from Surface.)
Public Property
IsValid
Tests an object to see if it is valid.
(Inherited from CommonObject.)
Public Property
MiterPlaneNormalAtEnd
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
Public Property
MiterPlaneNormalAtStart
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
Public Property
ObjectType
Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.
(Inherited from GeometryBase.)
Public Property
PathEnd
Gets the end point of the path.
Public Property
PathStart
Gets the start point of the path.
Public Property
PathTangent
Gets the up vector of the path.
Public Property
ProfileCount
Gets the amount of profile curves.
Public Property
UserData
List of custom information that is attached to this class.
(Inherited from CommonObject.)
Public Property
UserDictionary
Dictionary of custom information attached to this class. The dictionary is actually user data provided as an easy to use shareable set of information.
(Inherited from CommonObject.)
Public Property
UserStringCount
Gets the amount of user strings.
(Inherited from GeometryBase.)
Methods
Name
Description
Public Method
AddInnerProfile
Adds an inner profile.
Public Method
Code Example
ClosestPoint
Input the parameters of the point on the surface that is closest to testPoint.
(Inherited from Surface.)
Public Method
ClosestSide
Gets the side that is closest, in terms of 3D-distance, to a U and V parameter.
(Inherited from Surface.)
Public Method
ComponentIndex
If this piece of geometry is a component in something larger, like a BrepEdge in a Brep, then this function returns the component index.
(Inherited from GeometryBase.)
Protected Method
ConstructConstObject
Assigns a parent object and a sub-object index to this.
(Inherited from CommonObject.)
Public Method
Static Member
Create(Curve, Double, Boolean)
Creates an extrusion of a 3d curve (which must be planar) and a height.
Public Method
Static Member
Create(Curve, Plane, Double, Boolean)
Create an extrusion from a 3d curve, a plane and a height.
Public Method
Static Member
CreateBoxExtrusion
Gets an extrusion from a box.
Public Method
Static Member
CreateCylinderExtrusion
Gets an extrusion form of a cylinder.
Public Method
Static Member
CreatePipeExtrusion
Gets an extrusion form of a pipe.
Public Method
Code Example
CurvatureAt
Computes the curvature at the given UV coordinate.
(Inherited from Surface.)
Public Method
DataCRC
Returns a CRC calculated from the information that defines the object. This CRC can be used as a quick way to see if two objects are not identical.
(Inherited from GeometryBase.)
Public Method
Degree
Returns the maximum algebraic degree of any span (or a good estimate if curve spans are not algebraic).
(Inherited from Surface.)
Public Method
DeleteAllUserStrings
(Inherited from GeometryBase.)
Public Method
DeleteUserString
(Inherited from GeometryBase.)
Public Method
Dispose.
Actively reclaims unmanaged resources that this instance uses.
(Inherited from CommonObject.)
Protected Method
Dispose(Boolean)
Overridden in order to destroy local display cache information
(Inherited from GeometryBase.)
Public Method
Domain
Gets the domain in a direction.
(Inherited from Surface.)
Public Method
Duplicate
Constructs a deep (full) copy of this object.
(Inherited from GeometryBase.)
Public Method
DuplicateShallow
Constructs a light copy of this object. By “light”, it is meant that the same underlying data is used until something is done to attempt to change it. For example, you could have a shallow copy of a very heavy mesh object and the same underlying data will be used when doing things like inspecting the number of faces on the mesh. If you modify the location of one of the mesh vertices, the shallow copy will create a full duplicate of the underlying mesh data and the shallow copy will become a deep copy.
(Inherited from GeometryBase.)
Public Method
EnsurePrivateCopy
If you want to keep a copy of this class around by holding onto it in a variable after a command completes, call EnsurePrivateCopy to make sure that this class is not tied to the document. You can call this function as many times as you want.
(Inherited from CommonObject.)
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public Method
Evaluate
Evaluates a surface mathematically.
(Inherited from Surface.)
Public Method
Extend(Int32, Interval)
Analytically extends the surface to include the interval.
(Inherited from Surface.)
Public Method
Extend(IsoStatus, Double, Boolean)
Extends an untrimmed surface along one edge.
(Inherited from Surface.)
Protected Method
Finalize
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Inherited from CommonObject.)
Public Method
Fit
Fits a new surface through an existing surface.
(Inherited from Surface.)
Public Method
FitCurveToSurface
(Inherited from Surface.)
Public Method
Code Example
FrameAt
Computes the orient plane on a surface given a U and V parameter.
This is the simple evaluation call with no error handling.
(Inherited from Surface.)
Public Method
Code Example
GetBoundingBox(Boolean)
Bounding box solver. Gets the world axis aligned bounding box for the geometry.
(Inherited from GeometryBase.)
Public Method
Code Example
GetBoundingBox(Plane)
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.)
Public Method
GetBoundingBox(Transform)
Aligned Bounding box solver. Gets the world axis aligned bounding box for the transformed geometry.
(Inherited from GeometryBase.)
Public Method
GetBoundingBox(Plane, Box.)
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.)
Public Method
GetBrepFormComponentIndex
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).
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public Method
GetMesh
Obtains a reference to a specified type of mesh for this extrusion.
Public Method
GetNextDiscontinuity(Int32, Continuity, Double, Double, Double.)
Searches for a derivative, tangent, or curvature discontinuity.
(Inherited from Surface.)
Public Method
GetNextDiscontinuity(Int32, Continuity, Double, Double, Double, Double, Double.)
Searches for a derivative, tangent, or curvature discontinuity.
(Inherited from Surface.)
Public Method
GetNurbsFormParameterFromSurfaceParameter
Translates a parameter from the current surface to the parameter space of the surface returned by
ToNurbsSurface.
.(Inherited from Surface.)
Public Method
GetObjectData
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
(Inherited from CommonObject.)
Public Method
GetPathPlane
Gets the 3D plane perpendicular to the path at a normalized path parameter.
Public Method
GetProfilePlane
Gets the 3D plane containing the profile curve at a normalized path parameter.
Public Method
GetProfileTransformation
Gets the transformation that maps the XY profile curve to its 3d location.
Public Method
GetSpanVector
Gets array of span “knots”.
(Inherited from Surface.)
Public Method
GetSurfaceParameterFromNurbsFormParameter
Translates a parameter from a value on the surface returned by
ToNurbsSurface.
to the current surface.(Inherited from Surface.)
Public Method
Code Example
GetSurfaceSize
Gets an estimate of the size of the rectangle that would be created if the 3d surface where flattened into a rectangle.
(Inherited from Surface.)
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public Method
GetUserString
Gets user string from this geometry.
(Inherited from GeometryBase.)
Public Method
GetUserStrings
Gets a copy of all (user key string, user value string) pairs attached to this geometry.
(Inherited from GeometryBase.)
Public Method
GetWireframe
Constructs all the Wireframe curves for this Extrusion.
Public Method
HasNurbsForm
Is there a NURBS surface representation of this surface.
(Inherited from Surface.)
Public Method
InterpolatedCurveOnSurface
Constructs an interpolated curve on a surface, using 3D points.
(Inherited from Surface.)
Public Method
InterpolatedCurveOnSurfaceUV(IEnumerable.Point2d., Double)
Returns a curve that interpolates points on a surface. The interpolant lies on the surface.
(Inherited from Surface.)
Public Method
InterpolatedCurveOnSurfaceUV(IEnumerable.Point2d., Double, Boolean, Int32)
Returns a curve that interpolates points on a surface. The interpolant lies on the surface.
(Inherited from Surface.)
Public Method
IsAtSeam
Tests if a surface parameter value is at a seam.
(Inherited from Surface.)
Public Method
IsAtSingularity
Tests if a surface parameter value is at a singularity.
(Inherited from Surface.)
Public Method
IsClosed
Gets a value indicating if the surface is closed in a direction.
(Inherited from Surface.)
Public Method
IsCone.
Determines if the surface is a portion of a cone within RhinoMath.ZeroTolerance.
(Inherited from Surface.)
Public Method
IsCone(Double)
Determines if the surface is a portion of a cone within a given tolerance.
(Inherited from Surface.)
Public Method
IsContinuous
Tests continuity at a surface parameter value.
(Inherited from Surface.)
Public Method
IsCylinder.
Determines if the surface is a portion of a cylinder within RhinoMath.ZeroTolerance.
(Inherited from Surface.)
Public Method
IsCylinder(Double)
Determines if the surface is a portion of a cylinder within a given tolerance.
(Inherited from Surface.)
Public Method
IsIsoparametric(BoundingBox)
Determines if a 2d bounding box is isoparametric in the parameter space of this surface.
(Inherited from Surface.)
Public Method
IsIsoparametric(Curve)
Determines if a 2d curve is isoparametric in the parameter space of this surface.
(Inherited from Surface.)
Public Method
IsIsoparametric(Curve, Interval)
Determines if a 2D curve is isoparametric in the parameter space of this surface.
(Inherited from Surface.)
Public Method
Code Example
IsoCurve
Gets isoparametric curve.
(Inherited from Surface.)
Public Method
IsPeriodic
Gets a value indicating if the surface is periodic in a direction (default is false).
(Inherited from Surface.)
Public Method
Code Example
IsPlanar.
Tests a surface to see if it is planar to zero tolerance.
(Inherited from Surface.)
Public Method
IsPlanar(Double)
Tests a surface to see if it is planar to a given tolerance.
(Inherited from Surface.)
Public Method
IsSingular
true if surface side is collapsed to a point.
(Inherited from Surface.)
Public Method
IsSphere.
Determines if the surface is a portion of a sphere within RhinoMath.ZeroTolerance.
(Inherited from Surface.)
Public Method
IsSphere(Double)
Determines if the surface is a portion of a sphere within a given tolerance.
(Inherited from Surface.)
Public Method
IsTorus.
Determines if the surface is a portion of a torus within RhinoMath.ZeroTolerance.
(Inherited from Surface.)
Public Method
IsTorus(Double)
Determines if the surface is a portion of a torus within a given tolerance.
(Inherited from Surface.)
Public Method
IsValidWithLog
Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.
(Inherited from CommonObject.)
Public Method
LocalClosestPoint
Find parameters of the point on a surface that is locally closest to the testPoint. The search for a local close point starts at seed parameters.
(Inherited from Surface.)
Public Method
MakeDeformable
If possible, converts the object into a form that can be accurately modified with “squishy” transformations like projections, shears, an non-uniform scaling.
(Inherited from GeometryBase.)
Protected Method
MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public Method
MemoryEstimate
Computes an estimate of the number of bytes that this object is using in memory.
(Inherited from GeometryBase.)
Protected Method
NonConstOperation
Destroy cache handle
(Inherited from GeometryBase.)
Public Method
Code Example
NormalAt
Computes the surface normal at a point.
This is the simple evaluation call - it does not support error handling.
(Inherited from Surface.)
Public Method
Offset
Constructs a new surface which is offset from the current surface.
(Inherited from Surface.)
Protected Method
OnSwitchToNonConst
Is called when a non-constant operation occurs.
(Inherited from GeometryBase.)
Public Method
PathLineCurve
Gets the line-like curve that is the conceptual axis of the extrusion.
Public Method
PointAt
Evaluates a point at a given parameter.
(Inherited from Surface.)
Public Method
Profile3d(ComponentIndex)
Gets one of the profiles.
Public Method
Profile3d(Int32, Double)
Gets a transversal isocurve of the extruded profile.
Public Method
ProfileIndex
Gets the index of the profile curve at a domain related to a parameter.
Public Method
Pullback(Curve, Double)
Pulls a 3d curve back to the surface’s parameter space.
(Inherited from Surface.)
Public Method
Pullback(Curve, Double, Interval)
Pulls a 3d curve back to the surface’s parameter space.
(Inherited from Surface.)
Public Method
Pushup(Curve, Double)
Computes a 3d curve that is the composite of a 2d curve and the surface map.
(Inherited from Surface.)
Public Method
Pushup(Curve, Double, Interval)
Computes a 3d curve that is the composite of a 2d curve and the surface map.
(Inherited from Surface.)
Public Method
Rebuild
Rebuilds an existing surface to a given degree and point count.
(Inherited from Surface.)
Public Method
RebuildOneDirection
Rebuilds an existing surface with a new surface to a given point count in either the u or v directions independently.
(Inherited from Surface.)
Public Method
RefitSimplySplitSurface
This routine accepts a 3-d trim curve (trimCrv3d). The trim curve is assumed to run from one surface edge to the opposite edge; this is referred to as a “simple” trim curve, roughly parallel to one of the srf directions (either u or v). We refer to that parameter as the “trim parameter”. The routine splits the surface via the trim curve, and then refits either side (“upper” = “above the trim”, and “lower” = “below the trim”) as a set of untrimmed Nurbs surfaces. The idea is to retain, as much as possible, the Nurbs structure of srf, especially in the trim parameter.
(Inherited from Surface.)
Public Method
RefitSplit
Splits the surface into two and refits the split edge
(Inherited from Surface.)
Public Method
Reverse(Int32)
Reverses parameterization Domain changes from [a,b] to [-b,-a]
(Inherited from Surface.)
Public Method
Reverse(Int32, Boolean)
Same as Reverse, but if inPlace is set to true this Surface is modified instead of a new copy being created.
(Inherited from Surface.)
Public Method
Rotate
Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).
(Inherited from GeometryBase.)
Public Method
Scale
Scales the object by the specified factor. The scale is centered at the origin.
(Inherited from GeometryBase.)
Public Method
SetDomain
Sets the domain in a direction.
(Inherited from Surface.)
Public Method
SetMesh
Sets a specified type of mesh for this extrusion.
Public Method
SetOuterProfile
Sets the outer profile of the extrusion.
Public Method
SetPathAndUp
Allows to set the two points at the extremes and the up vector.
Public Method
SetUserString
Attach a user string (key,value combination) to this geometry.
(Inherited from GeometryBase.)
Public Method
ShortPath
Constructs a geodesic between 2 points, used by ShortPath command in Rhino.
(Inherited from Surface.)
Public Method
Smooth(Double, Boolean, Boolean, Boolean, Boolean, SmoothingCoordinateSystem)
Smooths a surface by averaging the positions of control points in a specified region.
(Inherited from Surface.)
Public Method
Smooth(Double, Boolean, Boolean, Boolean, Boolean, SmoothingCoordinateSystem, Plane)
Smooths a surface by averaging the positions of control points in a specified region.
(Inherited from Surface.)
Public Method
SpanCount
Gets number of smooth nonempty spans in the parameter direction.
(Inherited from Surface.)
Public Method
Split
Splits (divides) the surface into two parts at the specified parameter
(Inherited from Surface.)
Public Method
ToBrep.
Converts the surface into a Brep.
(Inherited from Surface.)
Public Method
ToBrep(Boolean)
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.
Public Method
ToJSON
Create a JSON string representation of this object
(Inherited from CommonObject.)
Public Method
ToNurbsSurface.
Gets a NURBS surface representation of this surface. Default tolerance of 0.0 is used.
(Inherited from Surface.)
Public Method
ToNurbsSurface(Double, Int32.)
Gets a NURBS surface representation of this surface.
(Inherited from Surface.)
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object.)
Public Method
Transform
Transforms the geometry. If the input Transform has a SimilarityType of OrientationReversing, you may want to consider flipping the transformed geometry after calling this function when it makes sense. For example, you may want to call Flip() on a Brep after transforming it.
(Inherited from GeometryBase.)
Public Method
Translate(Vector3d)
Translates the object along the specified vector.
(Inherited from GeometryBase.)
Public Method
Translate(Double, Double, Double)
Translates the object along the specified vector.
(Inherited from GeometryBase.)
Public Method
Transpose.
Transposes surface parameterization (swap U and V)
(Inherited from Surface.)
Public Method
Transpose(Boolean)
Transposes surface parameterization (swap U and V)
(Inherited from Surface.)
Public Method
Trim
Constructs a sub-surface that covers the specified UV trimming domain.
(Inherited from Surface.)
Public Method
TryGetCone(Cone.)
Tests a surface to see if it is a portion of a cone within RhinoMath.ZeroTolerance and return the cone.
(Inherited from Surface.)
Public Method
TryGetCone(Cone., Double)
Tests a surface to see if it is a portion of a cone and returns the cone.
(Inherited from Surface.)
Public Method
TryGetCylinder(Cylinder.)
Tests a surface to see if it is a portion of a cylinder within RhinoMath.ZeroTolerance and return the cylinder.
(Inherited from Surface.)
Public Method
TryGetCylinder(Cylinder., Double)
Tests a surface to see if it is a portion of a cylinder and return the infinite cylinder.
(Inherited from Surface.)
Public Method
TryGetFiniteCylinder
Tests a surface with the assumption that it might be a right circular cylinder and returns this geometry.
(Inherited from Surface.)
Public Method
TryGetPlane(Plane.)
Tests a surface for planarity and return the plane.
(Inherited from Surface.)
Public Method
Code Example
TryGetPlane(Plane., Double)
Tests a surface for planarity and return the plane.
(Inherited from Surface.)
Public Method
TryGetSphere(Sphere.)
Test a surface to see if it is a portion of a sphere and return the sphere.
(Inherited from Surface.)
Public Method
TryGetSphere(Sphere., Double)
Test a surface to see if it is a portion of a sphere and return the sphere.
(Inherited from Surface.)
Public Method
TryGetTorus(Torus.)
Tests a surface to see if it is a portion of a torus within RhinoMath.ZeroTolerance and returns the torus.
(Inherited from Surface.)
Public Method
TryGetTorus(Torus., Double)
Tests a surface to see if it is a portion of a torus and returns the torus.
(Inherited from Surface.)
Public Method
VariableOffset(Double, Double, Double, Double, Double)
Copies a surface so that all locations at the corners of the copied surface are specified distances from the original surface.
(Inherited from Surface.)
Public Method
VariableOffset(Double, Double, Double, Double, IEnumerable.Point2d., IEnumerable.Double., Double)
Copies a surface so that all locations at the corners, and from specified interior locations, of the copied surface are specified distances from the original surface.
(Inherited from Surface.)
Public Method
WallEdge
Gets one of the longitudinal curves along the beam or extrusion.
Public Method
WallSurface
Gets one of the longitudinal surfaces of the extrusion.