Skip to content

T_Rhino_Geometry_Extrusion

Will Pearson edited this page Aug 12, 2016 · 2 revisions

Extrusion Class

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) Version: Rhino 6.0

Syntax

C#

[SerializableAttribute]
public class Extrusion : Surface

VB

<SerializableAttribute>
Public Class Extrusion
	Inherits 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.
  Back to Top

Properties

 

Name Description
Public property CapCount Gets the amount of capping surfaces.
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 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 sharable set of information. (Inherited from CommonObject.)
Public property UserStringCount Gets the amount of user strings. (Inherited from GeometryBase.)
  Back to Top

Methods

 

Name Description
Public method AddInnerProfile Adds an inner profile.
Public methodCode 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 subobject index to this. (Inherited from CommonObject.)
Public methodStatic member Create Creates an extrusion of a 3d curve (which must be planar) and a height.
Public methodStatic member CreateCylinderExtrusion Gets an extrusion form of a cylinder.
Public methodStatic member CreatePipeExtrusion Gets an extrusion form of a pipe.
Public methodCode example CurvatureAt Computes the curvature at the given UV coordinate. (Inherited from Surface.)
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 Dispose() Actively reclaims unmanaged resources that this instance uses. (Inherited from CommonObject.)
Protected method Dispose(Boolean) For derived class implementers. This method is called with argument true when class user calls Dispose(), while with argument false when the Garbage Collector invokes the finalizer, or Finalize() method.

You must reclaim all used unmanaged resources in both cases, and can use this chance to call Dispose on disposable fields if the argument is true.

Also, you must call the base virtual method within your overriding method.

(Inherited from CommonObject.)

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 Extends an untrimmed surface along one edge. (Inherited from Surface.)
Protected method Finalize() Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
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 methodCode 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 methodCode example GetBoundingBox(Boolean) Boundingbox solver. Gets the world axis aligned boundingbox for the geometry. (Inherited from GeometryBase.)
Public methodCode example GetBoundingBox(Plane) Aligned Boundingbox solver. Gets the plane aligned boundingbox. (Inherited from GeometryBase.)
Public method GetBoundingBox(Transform) Aligned Boundingbox solver. Gets the world axis aligned boundingbox for the transformed geometry. (Inherited from GeometryBase.)
Public method GetBoundingBox(Plane, Box) Aligned Boundingbox solver. Gets the plane aligned boundingbox. (Inherited from GeometryBase.)
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 Searches for a derivative, tangent, or curvature discontinuity. (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 methodCode 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 Constructs an interpolated curve on a surface, using 2D surface points. (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 iso-parameteric in the parameter space of this surface. (Inherited from Surface.)
Public method IsIsoparametric(Curve) Determines if a 2d curve is iso-parameteric in the parameter space of this surface. (Inherited from Surface.)
Public method IsIsoparametric(Curve, Interval) Determines if a 2D curve is iso-parameteric in the parameter space of this surface. (Inherited from Surface.)
Public methodCode example IsoCurve Gets isoparametric curve. (Inherited from Surface.)
Public method IsPeriodic Gets a value indicating if thr surface is periodic in a direction (default is false). (Inherited from Surface.)
Public methodCode 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 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 For derived classes implementers. Defines the necessary implementation to free the instance from being const.

(Inherited from CommonObject.)

Public methodCode 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-const 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 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 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 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 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 cylinder. (Inherited from Surface.)
Public method TryGetPlane(Plane) Tests a surface for planarity and return the plane. (Inherited from Surface.)
Public methodCode 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 WallEdge Gets one of the longitudinal curves along the beam or extrusion.
Public method WallSurface Gets one of the longitudinal surfaces of the extrusion.
  Back to Top

Version Information

Supported in: 6.0.16224.21491, 5D58w

See Also

Reference

Rhino.Geometry Namespace

Clone this wiki locally