RhinoCommon API

## BrepFace Class |

Provides strongly-typed access to brep faces.

A Brep face is composed of one surface and trimming curves.

Inheritance Hierarchy

SystemObject

Rhino.RuntimeCommonObject

Rhino.GeometryGeometryBase

Rhino.GeometrySurface

Rhino.GeometrySurfaceProxy

Rhino.GeometryBrepFace

Rhino.RuntimeCommonObject

Rhino.GeometryGeometryBase

Rhino.GeometrySurface

Rhino.GeometrySurfaceProxy

Rhino.GeometryBrepFace

Syntax

The BrepFace type exposes the following members.

Properties

Name | Description | |
---|---|---|

Brep |
Gets the Brep that owns this face.
| |

Disposed |
Indicates if this object has been disposed or the
document it originally belonged to has been disposed.
(Inherited from CommonObject.) | |

FaceIndex | Index of face in Brep.Faces array. | |

HasBrepForm |
Returns true if the Brep.TryConvertBrep function will be successful for this object
(Inherited from GeometryBase.) | |

HasUserData |
Gets true if this class has any custom information attached to it through UserData.
(Inherited from CommonObject.) | |

IsDeformable |
true if object can be accurately modified with "squishy" transformations like
projections, shears, and non-uniform scaling.
(Inherited from GeometryBase.) | |

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.) | |

IsSolid |
Gets a values indicating whether a surface is solid.
(Inherited from Surface.) | |

IsSubDFriendly |
Returns true if the surface is a non-rational, uniform, natural or periodic, cubic NURBS surface. Otherwise, false is returend.
(Inherited from Surface.) | |

IsSurface |
Gets a value indicating whether the face is synonymous with the underlying surface.
If a Face has no trimming curves then it is considered a Surface.
| |

IsValid | Tests an object to see if it is valid. (Inherited from CommonObject.) | |

Loops |
Loops in this face.
| |

MaterialChannelIndex |
This face's rendering material channel index.
| |

ObjectType |
Useful for switch statements that need to differentiate between
basic object types like points, curves, surfaces, and so on.
(Inherited from GeometryBase.) | |

OrientationIsReversed |
true if face orientation is opposite of natural surface orientation.
| |

OuterLoop |
Every face has a single outer loop.
| |

PerFaceColor |
If per-face color is "Empty", then this face does not have a custom color
| |

SurfaceIndex |
Surface index of the 3d surface geometry used by this face or -1
| |

UserData |
List of custom information that is attached to this class.
(Inherited from CommonObject.) | |

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.) | |

UserStringCount |
Gets the amount of user strings.
(Inherited from GeometryBase.) |

Methods

Name | Description | |
---|---|---|

AdjacentEdges |
Gets the indices of all the BrepEdges that delineate this Face.
| |

AdjacentFaces |
Gets the indices of all the BrepFaces that surround (are adjacent to) this face.
| |

ChangeSurface |
Expert user tool that replaces the 3d surface geometry use by the face.
| |

ClearMaterialChannelIndex |
Clear this face's rendering material channel index.
| |

ClosestPoint |
Input the parameters of the point on the surface that is closest to testPoint.
(Inherited from Surface.) | |

ClosestSide |
Gets the side that is closest, in terms of 3D-distance, to a U and V parameter.
(Inherited from Surface.) | |

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.) | |

ConstructConstObject |
Assigns a parent object and a sub-object index to this.
(Inherited from CommonObject.) | |

CreateExtrusion |
Extrude a face in a Brep.
| |

CurvatureAt |
Computes the curvature at the given UV coordinate.
(Inherited from Surface.) | |

Degree |
Returns the maximum algebraic degree of any span
(or a good estimate if curve spans are not algebraic).
(Inherited from Surface.) | |

Dispose |
Actively reclaims unmanaged resources that this instance uses.
(Inherited from CommonObject.) | |

Dispose(Boolean) |
Overridden in order to destroy local display cache information
(Inherited from GeometryBase.) | |

Domain | Gets the domain in a direction. (Inherited from Surface.) | |

DraftAnglePoint |
Returns the surface draft angle and point at a parameter.
| |

Duplicate |
Constructs a deep (full) copy of this object.
(Inherited from GeometryBase.) | |

DuplicateFace |
Duplicate a face from the brep to create new single face brep.
| |

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.) | |

DuplicateSurface |
Gets a copy to the untrimmed surface that this face is based on.
| |

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.) | |

Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |

Evaluate |
Evaluates a surface mathematically.
(Inherited from Surface.) | |

Extend(Int32, Interval) |
Analytically extends the surface to include the interval.
(Inherited from Surface.) | |

Extend(IsoStatus, Double, Boolean) |
Extends an untrimmed surface along one edge.
(Inherited from Surface.) | |

Finalize |
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Inherited from CommonObject.) | |

Fit | Fits a new surface through an existing surface. (Inherited from Surface.) | |

FrameAt |
Computes the orient plane on a surface given a U and V parameter.
(Inherited from Surface.)This is the simple evaluation call with no error handling. | |

GetBoundingBox(Boolean) |
Bounding box solver. Gets the world axis aligned bounding box for the geometry.
(Inherited from GeometryBase.) | |

GetBoundingBox(Plane) |
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.) | |

GetBoundingBox(Transform) |
Aligned Bounding box solver. Gets the world axis aligned bounding box for the transformed geometry.
(Inherited from GeometryBase.) | |

GetBoundingBox(Plane, Box) |
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.) | |

GetHashCode | Serves as the default hash function. (Inherited from Object.) | |

GetMesh |
Obtains a reference to a specified type of mesh for this brep face.
| |

GetNextDiscontinuity(Int32, Continuity, Double, Double, Double) |
Searches for a derivative, tangent, or curvature discontinuity.
(Inherited from Surface.) | |

GetNextDiscontinuity(Int32, Continuity, Double, Double, Double, Double, Double) |
Searches for a derivative, tangent, or curvature discontinuity.
(Inherited from Surface.) | |

GetNurbsFormParameterFromSurfaceParameter |
Translates a parameter from the current surface to the parameter space of the surface returned by ToNurbsSurface.
(Inherited from Surface.) | |

GetObjectData |
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
(Inherited from CommonObject.) | |

GetSpanVector |
Gets array of span "knots".
(Inherited from Surface.) | |

GetSurfaceParameterFromNurbsFormParameter |
Translates a parameter from a value on the surface returned by ToNurbsSurface to the current surface.
(Inherited from Surface.) | |

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.) | |

GetType | Gets the Type of the current instance. (Inherited from Object.) | |

GetUserString |
Gets user string from this geometry.
(Inherited from GeometryBase.) | |

GetUserStrings |
Gets a copy of all (user key string, user value string) pairs attached to this geometry.
(Inherited from GeometryBase.) | |

HasNurbsForm |
Is there a NURBS surface representation of this surface.
(Inherited from Surface.) | |

InterpolatedCurveOnSurface |
Constructs an interpolated curve on a surface, using 3D points.
(Inherited from Surface.) | |

InterpolatedCurveOnSurfaceUV(IEnumerablePoint2d, Double) |
Returns a curve that interpolates points on a surface. The interpolant lies on the surface.
(Inherited from Surface.) | |

InterpolatedCurveOnSurfaceUV(IEnumerablePoint2d, Double, Boolean, Int32) |
Returns a curve that interpolates points on a surface. The interpolant lies on the surface.
(Inherited from Surface.) | |

IsAtSeam |
Tests if a surface parameter value is at a seam.
(Inherited from Surface.) | |

IsAtSingularity |
Tests if a surface parameter value is at a singularity.
(Inherited from Surface.) | |

IsClosed |
Gets a value indicating if the surface is closed in a direction.
(Inherited from Surface.) | |

IsCone |
Determines if the surface is a portion of a cone within RhinoMath.ZeroTolerance.
(Inherited from Surface.) | |

IsCone(Double) | Determines if the surface is a portion of a cone within a given tolerance. (Inherited from Surface.) | |

IsContinuous |
Tests continuity at a surface parameter value.
(Inherited from Surface.) | |

IsCylinder |
Determines if the surface is a portion of a cylinder within RhinoMath.ZeroTolerance.
(Inherited from Surface.) | |

IsCylinder(Double) | Determines if the surface is a portion of a cylinder within a given tolerance. (Inherited from Surface.) | |

IsIsoparametric(BoundingBox) |
Determines if a 2d bounding box is isoparametric in the parameter space of this surface.
(Inherited from Surface.) | |

IsIsoparametric(Curve) |
Determines if a 2d curve is isoparametric in the parameter space of this surface.
(Inherited from Surface.) | |

IsIsoparametric(Curve, Interval) |
Determines if a 2D curve is isoparametric in the parameter space of this surface.
(Inherited from Surface.) | |

IsoCurve | Gets isoparametric curve. (Inherited from Surface.) | |

IsPeriodic |
Gets a value indicating if the surface is periodic in a direction (default is false).
(Inherited from Surface.) | |

IsPlanar |
Tests a surface to see if it is planar to zero tolerance.
(Inherited from Surface.) | |

IsPlanar(Double) |
Tests a surface to see if it is planar to a given tolerance.
(Inherited from Surface.) | |

IsPointOnFace(Double, Double) |
Tests if a parameter space point is in the active region of a face.
| |

IsPointOnFace(Double, Double, Double) |
Tests if a parameter space point is in the active region of a face.
| |

IsSingular |
true if surface side is collapsed to a point.
(Inherited from Surface.) | |

IsSphere |
Determines if the surface is a portion of a sphere within RhinoMath.ZeroTolerance.
(Inherited from Surface.) | |

IsSphere(Double) |
Determines if the surface is a portion of a sphere within a given tolerance.
(Inherited from Surface.) | |

IsTorus | Determines if the surface is a portion of a torus within RhinoMath.ZeroTolerance. (Inherited from Surface.) | |

IsTorus(Double) | Determines if the surface is a portion of a torus within a given tolerance. (Inherited from Surface.) | |

IsValidWithLog |
Determines if an object is valid. Also provides a report on errors if this
object happens not to be valid.
(Inherited from CommonObject.) | |

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.) | |

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.) | |

MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |

MemoryEstimate |
Computes an estimate of the number of bytes that this object is using in memory.
(Inherited from GeometryBase.) | |

NonConstOperation |
Destroy cache handle
(Inherited from GeometryBase.) | |

NormalAt |
Computes the surface normal at a point.
(Inherited from Surface.)This is the simple evaluation call - it does not support error handling. | |

Offset |
Constructs a new surface which is offset from the current surface.
(Inherited from Surface.) | |

OnSwitchToNonConst |
Is called when a non-constant operation occurs.
(Inherited from GeometryBase.) | |

PointAt |
Evaluates a point at a given parameter.
(Inherited from Surface.) | |

Pullback(Curve, Double) |
Pulls a 3d curve back to the surface's parameter space.
(Inherited from Surface.) | |

Pullback(Curve, Double, Interval) |
Pulls a 3d curve back to the surface's parameter space.
(Inherited from Surface.) | |

PullPointsToFace |
Pulls one or more points to a brep face.
| |

Pushup(Curve, Double) |
Computes a 3d curve that is the composite of a 2d curve and the surface map.
(Inherited from Surface.) | |

Pushup(Curve, Double, Interval) |
Computes a 3d curve that is the composite of a 2d curve and the surface map.
(Inherited from Surface.) | |

Rebuild |
Rebuilds an existing surface to a given degree and point count.
(Inherited from Surface.) | |

RebuildEdges |
Rebuild the edges used by a face so they lie on the surface.
| |

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.) | |

RefitTrim | ||

RemoveHoles |
Remove all inner loops, or holes, from a Brep face.
| |

Reverse(Int32) |
Reverses parameterization Domain changes from [a,b] to [-b,-a]
(Inherited from Surface.) | |

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.) | |

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.) | |

Scale |
Scales the object by the specified factor. The scale is centered at the origin.
(Inherited from GeometryBase.) | |

SetDomain |
Sets the surface domain of this face.
(Overrides SurfaceSetDomain(Int32, Interval).) | |

SetMesh |
Sets a reference to a specified type of mesh for this brep face.
| |

SetUserString |
Attach a user string (key,value combination) to this geometry.
(Inherited from GeometryBase.) | |

ShortPath |
Constructs a geodesic between 2 points, used by ShortPath command in Rhino.
(Inherited from Surface.) | |

ShrinkFace |
Shrinks the underlying untrimmed surface of this Brep face close to trimming boundaries.
Shrinking a surface is like extending smoothly, only backwards. knot of full multiplicity
are added where you want the surface to be cut off. Then the remaining control points are
thrown away.
| |

ShrinkSurfaceToEdge |
Shrinks the underlying untrimmed surface of this Brep face right to the trimming boundaries.
Note, shrinking the trimmed surface can sometimes cause problems later since having
the edges so close to the trimming boundaries can cause commands that use the surface
edges as input to fail.
| |

Smooth(Double, Boolean, Boolean, Boolean, Boolean, SmoothingCoordinateSystem) |
Smooths a surface by averaging the positions of control points in a specified region.
(Inherited from Surface.) | |

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.) | |

SpanCount |
Gets number of smooth nonempty spans in the parameter direction.
(Inherited from Surface.) | |

Split(Int32, Double) |
Splits (divides) the surface into two parts at the specified parameter
(Inherited from Surface.) | |

Split(IEnumerableCurve, Double) |
Split this face using 3D trimming curves.
| |

ToBrep |
Converts the surface into a Brep.
(Inherited from Surface.) | |

ToJSON |
Create a JSON string representation of this object
(Inherited from CommonObject.) | |

ToNurbsSurface |
Gets a NURBS surface representation of this surface. Default
tolerance of 0.0 is used.
(Inherited from Surface.) | |

ToNurbsSurface(Double, Int32) |
Gets a NURBS surface representation of this surface.
(Inherited from Surface.) | |

ToString | Returns a string that represents the current object. (Inherited from Object.) | |

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.) | |

Translate(Vector3d) | Translates the object along the specified vector. (Inherited from GeometryBase.) | |

Translate(Double, Double, Double) | Translates the object along the specified vector. (Inherited from GeometryBase.) | |

Transpose |
Transposes surface parameterization (swap U and V)
(Inherited from Surface.) | |

Transpose(Boolean) |
Transposes surface parameterization (swap U and V)
(Inherited from Surface.) | |

Trim |
Constructs a sub-surface that covers the specified UV trimming domain.
(Inherited from Surface.) | |

TrimAwareIsoCurve |
Similar to IsoCurve function, except this function pays attention to trims on faces
and may return multiple curves.
| |

TrimAwareIsoIntervals |
Gets intervals where the iso curve exists on a BrepFace (trimmed surface)
| |

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.) | |

TryGetCone(Cone, Double) | Tests a surface to see if it is a portion of a cone and returns the cone. (Inherited from Surface.) | |

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.) | |

TryGetCylinder(Cylinder, Double) | Tests a surface to see if it is a portion of a cylinder and return the infinite cylinder. (Inherited from Surface.) | |

TryGetFiniteCylinder | Tests a surface with the assumption that it might be a right circular cylinder and returns this geometry. (Inherited from Surface.) | |

TryGetPlane(Plane) | Tests a surface for planarity and return the plane. (Inherited from Surface.) | |

TryGetPlane(Plane, Double) | Tests a surface for planarity and return the plane. (Inherited from Surface.) | |

TryGetSphere(Sphere) | Test a surface to see if it is a portion of a sphere and return the sphere. (Inherited from Surface.) | |

TryGetSphere(Sphere, Double) | Test a surface to see if it is a portion of a sphere and return the sphere. (Inherited from Surface.) | |

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.) | |

TryGetTorus(Torus, Double) | Tests a surface to see if it is a portion of a torus and returns the torus. (Inherited from Surface.) | |

UnderlyingSurface |
Gets the untrimmed surface that is the base of this face.
| |

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.) | |

VariableOffset(Double, Double, Double, Double, IEnumerablePoint2d, IEnumerableDouble, 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.) |

See Also