# Brep 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 Brep : GeometryBase
```

/// Boundary Representation. A surface or polysurface along with trim curve information.

## Constructors

- [Brep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/ctor.md): (2 overloads) Initializes a new empty brep

## Properties

- [Curves2D](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/curves2d.md): Parameter space trimming curves (used by trims)
- [Curves3D](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/curves3d.md): Pointers to 3d curves (used by edges)
- [Edges](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/edges.md): Gets the brep edges list accessor.
- [Faces](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/faces.md): Gets the brep faces list accessor.
- [HasRegionTopology](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/hasregiontopology.md): Returns true if the Brep has region topology information, false otherwise.
- [IsManifold](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/ismanifold.md): Gets a value indicating whether or not the Brep is manifold. Non manifold breps have at least one edge that is shared among three or more faces.
- [IsSolid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/issolid.md): Determines whether this brep is a solid, or a closed oriented manifold.
- [IsSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/issurface.md): Returns true if the Brep has a single face and that face is geometrically the same as the underlying surface. I.e., the face has trivial trimming. In this case, the surface is the first face surface. The flag Brep.Faces[0].OrientationIsReversed records the correspondence between the surface's natural parametric orientation and the orientation of the Brep. trivial trimming here means that there is only one loop curve in the brep and that loop curve is the same as the underlying surface boundary.
- [Loops](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/loops.md): Gets the brep loop list accessor.
- [SolidOrientation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/solidorientation.md): Gets the solid orientation state of this Brep.
- [Surfaces](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/surfaces.md): Parametric surfaces used by faces
- [Trims](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/trims.md): Gets the brep trims list accessor.
- [Vertices](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/vertices.md): Gets the brep vertices list accessor.

## Methods

- [AddEdgeCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/addedgecurve.md): Add a 3d curve used by the brep edges
- [AddSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/addsurface.md): Adds a 3D surface used by BrepFace.
- [AddTrimCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/addtrimcurve.md): Add a 2d curve used by the brep trims
- [Append](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/append.md): Appends a copy of another brep to this and updates indices of appended brep parts. Duplicates are not removed
- [CapPlanarHoles](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/capplanarholes.md): Returns a new Brep that is equivalent to this Brep with all planar holes capped.
- [ChangeSeam](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/changeseam.md): (static) Change the seam of a closed trimmed surface.
- [ClosestPoint](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/closestpoint.md): (2 overloads) Finds a point on the Brep that is closest to testPoint. The method searches all Brep faces looking for the one closest to testPoint. When found, if the closest point falls on the inactive region of the face, then the method finds the face's edge that is closest to testPoint.
- [Compact](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/compact.md): Deletes any unreferenced objects from arrays, re-indexes as needed, and shrinks arrays to minimum required size. Uses CUllUnused* members to delete any unreferenced objects from arrays.
- [ComputeDeviation](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/computedeviation.md): (2 overloads, static) Measures how far apart two Breps are where they overlap, such as a surface and its refit. See [BrepDeviationMeasure](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brepdeviationmeasure.md).
- [CopyTrimCurves](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/copytrimcurves.md): (static) Copy all trims from a Brep face onto a surface.
- [CreateBaseballSphere](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createbaseballsphere.md): (static) Creates a brep representation of the sphere with two similar trimmed NURBS surfaces, and no singularities.
- [CreateBlendShape](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createblendshape.md): (static) Makes a curve blend between points on two surface edges. The blend will be tangent to the surfaces and perpendicular to the edges.
- [CreateBlendSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createblendsurface.md): (2 overloads, static) Makes a surface blend between two surface edges.
- [CreateBooleanDifference](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createbooleandifference.md): (4 overloads, static) Compute the Solid Difference of two Breps.
- [CreateBooleanDifferenceWithIndexMap](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createbooleandifferencewithindexmap.md): (static) Compute the solid difference between two sets of Breps.
- [CreateBooleanIntersection](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createbooleanintersection.md): (4 overloads, static) Compute the Solid Intersection of two Breps.
- [CreateBooleanSplit](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createbooleansplit.md): (2 overloads, static) Splits shared areas of Breps and creates separate Breps from the shared and unshared parts.
- [CreateBooleanUnion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createbooleanunion.md): (3 overloads, static) Compute the Boolean Union of a set of Breps.
- [CreateBooleanUnionWithIndexMap](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createbooleanunionwithindexmap.md): (static) Compute the Boolean Union of a set of Breps, reporting which inputs produced each result.
- [CreateChamferSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createchamfersurface.md): (2 overloads, static, obsolete) Creates a ruled surface as a bevel between two input surface edges.
- [CreateContourCurves](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createcontourcurves.md): (2 overloads, static) Constructs the contour curves for a brep, using a slicing plane.
- [CreateCurvatureAnalysisMesh](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createcurvatureanalysismesh.md): (2 overloads, static) Creates an array of analysis meshes for the brep, one per face. The meshes are not set on the brep.
- [CreateDevelopableLoft](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createdevelopableloft.md): (2 overloads, static) Creates a single developable surface between two curves.
- [CreateEdgeSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createedgesurface.md): (static) Constructs a coons patch from 2, 3, or 4 curves.
- [CreateFilletEdges](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfilletedges.md): (2 overloads, static) Fillets, chamfers, or blends the edges of a brep.
- [CreateFilletEdgesVariableRadius](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfilletedgesvariableradius.md): (static) Fillets, chamfers, or blends the edges of a brep.
- [CreateFilletSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfilletsurface.md): (3 overloads, static) Create a fillet (rational arcs or non-rational arc approxiation or chamfered surface
- [CreateFilletSurfaceCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfilletsurfacecurve.md): (static) Create a fillet (rational arcs or non-rational arc approxiation or chamfered surface
- [CreateFromBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfrombox.md): (3 overloads, static) Constructs new brep that matches a bounding box.
- [CreateFromCone](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromcone.md): (static) Constructs a Brep representation of the cone with a single face for the cone, an edge along the cone seam, and vertices at the base and apex ends of this seam edge. The optional cap is a single face with one circular edge starting and ending at the base vertex.
- [CreateFromCornerPoints](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromcornerpoints.md): (2 overloads, static) Makes a Brep with one face from three corner points.
- [CreateFromCylinder](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromcylinder.md): (static) Constructs a Brep definition of a cylinder.
- [CreateFromJoinedEdges](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromjoinededges.md): (static) Joins two naked edges, or edges that are coincident or close together, from two Breps.
- [CreateFromLoft](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromloft.md): (3 overloads, static) Constructs one or more Breps by lofting through a set of curves, optionally matching start and end tangents of surfaces when first and/or last loft curves are surface edges
- [CreateFromLoftRebuild](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromloftrebuild.md): (2 overloads, static) Constructs one or more Breps by lofting through a set of curves. Input for the loft is simplified by rebuilding to a specified number of control points.
- [CreateFromLoftRefit](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromloftrefit.md): (2 overloads, static) Constructs one or more Breps by lofting through a set of curves. Input for the loft is simplified by refitting to a specified tolerance.
- [CreateFromMatch](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfrommatch.md): (2 overloads, static) Match an edge to the target curve using the settings provided
- [CreateFromMesh](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfrommesh.md): (static) Create a brep representation of a mesh
- [CreateFromOffsetFace](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromoffsetface.md): (static) Offsets a face including trim information to create a new brep.
- [CreateFromRevSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromrevsurface.md): (static) Constructs a brep form of a surface of revolution.
- [CreateFromSphere](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromsphere.md): (static) Constructs a Brep definition of a sphere.
- [CreateFromSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromsurface.md): (static) Constructs a Brep from a surface. The resulting Brep has an outer boundary made from four trims. The trims are ordered so that they run along the south, east, north, and then west side of the surface's parameter space.
- [CreateFromSweep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromsweep.md): (8 overloads, static) Sweep1 function that fits a surface through a profile curve that define the surface cross-sections and one curve that defines a surface edge.
- [CreateFromSweepInParts](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromsweepinparts.md): (static) Makes a 2 rail sweep. Like CreateFromSweep but the result is split where parameterization along a rail changes abruptly.
- [CreateFromSweepSegmented](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromsweepsegmented.md): (3 overloads, static) Sweep1 function that fits a surface through a profile curve that define the surface cross-sections and one curve that defines a surface edge. The Segmented version breaks the rail at curvature kinks and sweeps each piece separately, then put the results together into a Brep.
- [CreateFromTaperedExtrude](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromtaperedextrude.md): (2 overloads, static) Extrude a curve to a taper making a brep (potentially more than 1)
- [CreateFromTaperedExtrudeWithRef](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromtaperedextrudewithref.md): (static) Creates one or more Breps by extruding a curve a distance along an axis with draft angle.
- [CreateFromTorus](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createfromtorus.md): (static) Constructs a Brep definition of a torus.
- [CreateOffsetBrep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createoffsetbrep.md): (2 overloads, static) Offsets a Brep.
- [CreatePatch](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createpatch.md): (3 overloads, static) Constructs a brep patch. This is the simple version of fit that uses a plane with u x v spans. It makes a plane by fitting to the points from the input geometry to use as the starting surface. The surface has the specified u and v span count.
- [CreatePipe](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createpipe.md): (2 overloads, static) Creates a single walled pipe.
- [CreatePlanarBreps](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createplanarbreps.md): (6 overloads, static) Constructs a set of planar breps as outlines by the loops.
- [CreatePlanarBrepsWithIndexMap](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createplanarbrepswithindexmap.md): (static) Constructs a set of planar Breps as outlines by the loops, reporting which input curves bounded each Brep.
- [CreatePlanarDifference](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createplanardifference.md): (static) CreatePlanarDifference
- [CreatePlanarIntersection](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createplanarintersection.md): (static) CreatePlanarIntersection
- [CreatePlanarUnion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createplanarunion.md): (2 overloads, static) CreatePlanarUnion
- [CreateQuadSphere](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createquadsphere.md): (static) Constructs a Brep definition of a quad sphere.
- [CreateShell](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createshell.md): (static) Creates a hollowed out shell from a solid Brep. Function only operates on simple, solid, manifold Breps.
- [CreateSolid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createsolid.md): (static) Constructs closed polysurfaces from surfaces and polysurfaces that bound a region in space.
- [CreateThickPipe](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createthickpipe.md): (2 overloads, static) Creates a double-walled pipe.
- [CreateTrimmedPlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createtrimmedplane.md): (2 overloads, static) Create a Brep trimmed plane.
- [CreateTrimmedSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createtrimmedsurface.md): (2 overloads, static) Constructs a Brep using the trimming information of a brep face and a surface. Surface must be roughly the same shape and in the same location as the trimming brep face.
- [CreateVariationalPatch](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/createvariationalpatch.md): (2 overloads, static) Create a patch using variational approach
- [CullUnused2dCurves](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/cullunused2dcurves.md): Culls 3d curves not referenced by an edge.
- [CullUnused3dCurves](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/cullunused3dcurves.md): Culls 2d curves not referenced by a trim.
- [CullUnusedEdges](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/cullunusededges.md): Culls edges with m_edge_index == -1.
- [CullUnusedFaces](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/cullunusedfaces.md): Culls faces with m_face_index == -1.
- [CullUnusedLoops](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/cullunusedloops.md): Culls loops with m_loop_index == -1.
- [CullUnusedSurfaces](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/cullunusedsurfaces.md): Culls surfaces not referenced by a face.
- [CullUnusedTrims](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/cullunusedtrims.md): Culls trims with m_trim_index == -1.
- [CullUnusedVertices](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/cullunusedvertices.md): Culls vertices with m_vertex_index == -1.
- [CutUpSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/cutupsurface.md): (2 overloads, static) Splits, or cuts up, a surface. Designed to split the underlying surface of a Brep face with edge curves.
- [DestroyRegionTopology](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/destroyregiontopology.md): Destroys a Brep's region topology information.
- [Duplicate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/duplicate.md): Copies this brep.
- [DuplicateBrep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/duplicatebrep.md): Same as [Brep.Duplicate()](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/duplicate.md), but already performs a cast to a brep. This cast always succeeds.
- [DuplicateEdgeCurves](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/duplicateedgecurves.md): (2 overloads) Duplicate all the edges of this Brep.
- [DuplicateNakedEdgeCurves](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/duplicatenakededgecurves.md): Duplicate naked edges of this Brep.
- [DuplicateSubBrep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/duplicatesubbrep.md): Copy a subset of this Brep into another Brep.
- [DuplicateVertices](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/duplicatevertices.md): Duplicate all the corner vertices of this Brep.
- [ExtendBrepFacesToConnect](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/extendbrepfacestoconnect.md): (2 overloads, static) Extends Faces to meet and trims the faces to each other. If input faces intersect without extending, the selection point indicates the side to keep
- [FindCoincidentBrepComponents](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/findcoincidentbrepcomponents.md): Find the indices of all brep faces, edges and vertices that are within tolerance of a test-point.
- [Flip](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/flip.md): Reverses entire brep orientation of all faces.
- [GetArea](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/getarea.md): (2 overloads) Compute the Area of the Brep. If you want proper Area data with moments and error information, use the AreaMassProperties class.
- [GetConnectedComponents](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/getconnectedcomponents.md): If this Brep has two or more connected components, then duplicates of the connected components are returned.
- [GetPointInside](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/getpointinside.md): Finds a point inside of a solid Brep.
- [GetRegions](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/getregions.md): Gets an array containing all regions in this brep.
- [GetTangentConnectedComponents](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/gettangentconnectedcomponents.md): If this Brep has two or more components connected by tangent edges, then duplicates of the connected components are returned.
- [GetVolume](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/getvolume.md): (2 overloads) Compute the Volume of the Brep. If you want proper Volume data with moments and error information, use the VolumeMassProperties class.
- [GetWireframe](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/getwireframe.md): Constructs all the Wireframe curves for this Brep.
- [InsetFaces](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/insetfaces.md): Individually insets faces of a brep by offsetting the faces outer edges inward and inner edges out then splitting the face with the offset curves.
- [IsBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/isbox.md): (2 overloads) Verifies a Brep is in the form of a solid box.
- [IsDuplicate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/isduplicate.md): See if this and other are same brep geometry.
- [IsExtrusion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/isextrusion.md): (2 overloads) Determines if the Brep is a portion of an extrusion within RhinoMath.ZeroTolerance.
- [IsOrientedManifold](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/isorientedmanifold.md): Test a Brep to see if it is an oriented manifold. Non manifold Breps have at least one edge that is shared among three or more faces.
- [IsPointInside](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/ispointinside.md): Determines if point is inside a Brep. This question only makes sense when the brep is a closed and manifold. This function does not check for closed or manifold, so result is not valid in those cases. Intersects a line through point with brep, finds the intersection point Q closest to point, and looks at face normal at Q. If the point Q is on an edge or the intersection is not transverse at Q, then another line is used.
- [IsValidGeometry](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/isvalidgeometry.md): Expert user function that tests the brep to see if its geometry information is valid. The value of brep.IsValidTopology() must be true before brep.IsValidGeometry() can be safely called.
- [IsValidTolerancesAndFlags](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/isvalidtolerancesandflags.md): Expert user function that tests the brep to see if its tolerances and flags are valid. The values of brep.IsValidTopology() and brep.IsValidGeometry() must be true before brep.IsValidTolerancesAndFlags() can be safely called.
- [IsValidTopology](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/isvalidtopology.md): Tests the brep to see if its topology information is valid.
- [Join](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/join.md): If any edges of this brep overlap edges of otherBrep, merge a copy of otherBrep into this brep joining all edges that overlap within tolerance.
- [JoinBreps](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/joinbreps.md): (3 overloads, static) Joins the breps in the input array at any overlapping edges to form as few as possible resulting breps. There may be more than one brep in the result array.
- [JoinEdges](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/joinedges.md): Joins two naked edges, or edges that are coincident or close together.
- [JoinNakedEdges](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/joinnakededges.md): Joins naked edge pairs within the same brep that overlap within tolerance.
- [MakeValidForV2](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/makevalidforv2.md): No support is available for this function. Expert user function that converts all geometry in Brep to NURB form.
- [MergeBreps](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/mergebreps.md): (static) Combines two or more breps into one. A merge is like a boolean union that keeps the inside pieces. This function creates non-manifold Breps which in general are unusual in Rhino. You may want to consider using JoinBreps or CreateBooleanUnion functions instead.
- [MergeCoplanarFaces](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/mergecoplanarfaces.md): (4 overloads) Merges adjacent coplanar faces into single faces.
- [MergeSurfaces](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/mergesurfaces.md): (3 overloads, static) Merges two surfaces into one surface at untrimmed edges. Both surfaces must be untrimmed and share an edge.
- [PrepareForBooleans](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/prepareforbooleans.md): (2 overloads) Prepares this Brep for a Boolean or intersection operation by applying the same cleanup Rhino performs when a Brep is added to the document. Breps that have never been added to a document can fail these operations, or return unexpected results, without it.
- [PushPullExtend](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/pushpullextend.md): If the brep.Faces[faceIndex] is planar, and all the adjacent faces are planar, this function transforms brep.Faces[faceIndex] with the transform parameter and recomputes the adjacent faces. See the PushPull commands extend mode.
- [RebuildTrimsForV2](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/rebuildtrimsforv2.md): No support is available for this function. Expert user function used by MakeValidForV2 to convert trim curves from one surface to its NURBS form. After calling this function, you need to change the surface of the face to a NurbsSurface.
- [RemoveFins](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/removefins.md): Recursively removes any Brep face with a naked edge. This function is only useful for non-manifold Breps.
- [RemoveHoles](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/removeholes.md): (2 overloads) Remove all inner loops, or holes, in a Brep.
- [Repair](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/repair.md): Fills in missing or fixes incorrect component information from a Brep. Useful when reading Brep information from other file formats that do not provide as complete of a Brep definition as required by Rhino.
- [ReplaceEdge](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/replaceedge.md): Re-trims the given edges of this single-face Brep, replacing each deleted edge with new boundary geometry. This is the SDK equivalent of the ReplaceEdge command.
- [SetTolerancesBoxesAndFlags](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/settolerancesboxesandflags.md): (2 overloads) Set tolerances and flags in a Brep.
- [SetTrimIsoFlags](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/settrimisoflags.md): This function can be used to set the BrepTrim::m_iso flag. It is intended to be used when creating a Brep from a definition that does not include compatible parameter space type information.
- [SetVertices](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/setvertices.md): This function can be used to compute vertex information for a b-rep when everything but the Vertices array is properly filled in. It is intended to be used when creating a Brep from a definition that does not include explicit vertex information.
- [Split](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/split.md): (5 overloads) Splits a Brep into pieces using a Brep as a cutter.
- [SplitDisjointPieces](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/splitdisjointpieces.md): (2 overloads, static) Separates, or splits, a disjoint Brep into separate Breps.
- [Standardize](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/standardize.md): Standardizes all trims, edges, and faces in the brep. After standardizing, there may be unused curves and surfaces in the brep. Call Brep.Compact to remove these unused curves and surfaces.
- [TransformComponent](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/transformcomponent.md): Transform an array of Brep components, bend neighbors to match, and leave the rest fixed.
- [Trim](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/trim.md): (2 overloads) Trims a brep with an oriented cutter. The parts of the brep that lie inside (opposite the normal) of the cutter are retained while the parts to the outside (in the direction of the normal) are discarded. If the Cutter is closed, then a connected component of the Brep that does not intersect the cutter is kept if and only if it is contained in the inside of cutter. That is the region bounded by cutter opposite from the normal of cutter, If cutter is not closed all these components are kept.
- [TryConvertBrep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/tryconvertbrep.md): (static) Attempts to convert a generic Geometry object into a Brep.
- [TryGetExtrusion](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/trygetextrusion.md): (2 overloads) Tests a Brep to see if it is an extrusion and returns the extrusion.
- [UnjoinEdges](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/unjoinedges.md): Un-joins, or separates, edges within the Brep. Note, seams in closed surfaces will not separate.
- [UntrimFace](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/untrimface.md): Untrims a face completely, expanding it back to its underlying surface: the outer boundary is untrimmed and all inner loops (holes) are removed.
- [UntrimOuterLoop](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/untrimouterloop.md): Untrims the outer boundary of a face, expanding the face back to the boundary of its underlying surface. Inner loops (holes) are left in place. The outer boundary is only untrimmed when all of its edges are naked; otherwise the operation fails to avoid corrupting adjacent faces.
- [WireCut](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.brep/wirecut.md): (2 overloads) Cuts this solid brep with a single open cutting curve. The curve is extruded along direction into a sheet, then along trimDirection to close the sheet into a solid cutter.

## Inherited Members

- 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), [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)
