Click or drag to resize

Brep Class

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

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
[SerializableAttribute]
public class Brep : GeometryBase

The Brep type exposes the following members.

Constructors
  NameDescription
Public methodBrep
Initializes a new empty brep
Protected methodBrep(SerializationInfo, StreamingContext)
Protected constructor used in serialization.
Top
Properties
  NameDescription
Public propertyCurves2D
Parameter space trimming curves (used by trims)
Public propertyCurves3D
Pointers to 3d curves (used by edges)
Public propertyDisposed
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
(Inherited from CommonObject.)
Public propertyEdges
Gets the brep edges list accessor.
Public propertyFaces
Gets the brep faces list accessor.
Public propertyHasBrepForm
Returns true if the Brep.TryConvertBrep function will be successful for this object
(Inherited from GeometryBase.)
Public propertyHasRegionTopology
Returns true if the Brep has region topology information, false otherwise.
Public propertyHasUserData
Gets true if this class has any custom information attached to it through UserData.
(Inherited from CommonObject.)
Public propertyIsDeformable
true if object can be accurately modified with "squishy" transformations like projections, shears, and non-uniform scaling.
(Inherited from GeometryBase.)
Public propertyIsDocumentControlled
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 propertyIsManifold
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.
Public propertyCode exampleIsSolid
Determines whether this brep is a solid, or a closed oriented manifold.
Public propertyIsSurface
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.

Public propertyIsValid
Tests an object to see if it is valid.
(Inherited from CommonObject.)
Public propertyLoops
Gets the brep loop list accessor.
Public propertyObjectType
Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.
(Inherited from GeometryBase.)
Public propertySolidOrientation
Gets the solid orientation state of this Brep.
Public propertySurfaces
Parametric surfaces used by faces
Public propertyTrims
Gets the brep trims list accessor.
Public propertyUserData
List of custom information that is attached to this class.
(Inherited from CommonObject.)
Public propertyUserDictionary
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 propertyUserStringCount
Gets the amount of user strings.
(Inherited from GeometryBase.)
Public propertyVertices
Gets the brep vertices list accessor.
Top
Methods
  NameDescription
Public methodAddEdgeCurve
Add a 3d curve used by the brep edges
Public methodAddSurface
Adds a 3D surface used by BrepFace.
Public methodAddTrimCurve
Add a 2d curve used by the brep trims
Public methodAppend
Appends a copy of another brep to this and updates indices of appended brep parts. Duplicates are not removed
Public methodCapPlanarHoles
Returns a new Brep that is equivalent to this Brep with all planar holes capped.
Public methodStatic memberChangeSeam
Change the seam of a closed trimmed surface.
Public methodClosestPoint(Point3d)
Finds a point on the brep that is closest to testPoint.
Public methodClosestPoint(Point3d, Point3d, ComponentIndex, Double, Double, Double, Vector3d)
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.
Public methodCompact
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.
Public methodComponentIndex
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 methodConstructConstObject
Assigns a parent object and a sub-object index to this.
(Inherited from CommonObject.)
Public methodStatic memberCopyTrimCurves
Copy all trims from a Brep face onto a surface.
Public methodStatic memberCreateBaseballSphere
Creates a brep representation of the sphere with two similar trimmed NURBS surfaces, and no singularities.
Public methodStatic memberCreateBlendShape
Makes a curve blend between points on two surface edges. The blend will be tangent to the surfaces and perpendicular to the edges.
Public methodStatic memberCreateBlendSurface
Makes a surface blend between two surface edges.
Public methodStatic memberCreateBooleanDifference(Brep, Brep, Double)
Compute the Solid Difference of two Breps.
Public methodStatic memberCode exampleCreateBooleanDifference(IEnumerableBrep, IEnumerableBrep, Double)
Compute the Solid Difference of two sets of Breps.
Public methodStatic memberCreateBooleanDifference(Brep, Brep, Double, Boolean)
Compute the Solid Difference of two Breps.
Public methodStatic memberCode exampleCreateBooleanDifference(IEnumerableBrep, IEnumerableBrep, Double, Boolean)
Compute the Solid Difference of two sets of Breps.
Public methodStatic memberCreateBooleanDifferenceWithIndexMap
Compute the solid difference between two sets of Breps.
Public methodStatic memberCreateBooleanIntersection(Brep, Brep, Double)
Compute the Solid Intersection of two Breps.
Public methodStatic memberCreateBooleanIntersection(IEnumerableBrep, IEnumerableBrep, Double)
Compute the Solid Intersection of two sets of Breps.
Public methodStatic memberCreateBooleanIntersection(Brep, Brep, Double, Boolean)
Compute the Solid Intersection of two Breps.
Public methodStatic memberCreateBooleanIntersection(IEnumerableBrep, IEnumerableBrep, Double, Boolean)
Compute the Solid Intersection of two sets of Breps.
Public methodStatic memberCreateBooleanSplit(Brep, Brep, Double)
Splits shared areas of Breps and creates separate Breps from the shared and unshared parts.
Public methodStatic memberCreateBooleanSplit(IEnumerableBrep, IEnumerableBrep, Double)
Splits shared areas of Breps and creates separate Breps from the shared and unshared parts.
Public methodStatic memberCreateBooleanUnion(IEnumerableBrep, Double)
Compute the Boolean Union of a set of Breps.
Public methodStatic memberCreateBooleanUnion(IEnumerableBrep, Double, Boolean)
Compute the Boolean Union of a set of Breps.
Public methodStatic memberCreateBooleanUnion(IEnumerableBrep, Double, Boolean, Point3d, Point3d, Point3d)
Compute the Boolean Union of a set of Breps.
Public methodStatic memberCreateChamferSurface(BrepFace, Point2d, Double, BrepFace, Point2d, Double, Boolean, Double)
Creates a ruled surface as a bevel between two input surface edges.
Public methodStatic memberCreateChamferSurface(BrepFace, Point2d, Double, BrepFace, Point2d, Double, Boolean, Boolean, Double, Brep, Brep)
Creates a ruled surface as a bevel between two input surface edges.
Public methodStatic memberCreateContourCurves(Brep, Plane)
Constructs the contour curves for a brep, using a slicing plane.
Public methodStatic memberCode exampleCreateContourCurves(Brep, Point3d, Point3d, Double)
Constructs the contour curves for a brep at a specified interval.
Public methodStatic memberCreateCurvatureAnalysisMesh
Create an array of analysis meshes for the brep using the specified settings. Meshes aren't set on the brep.
Public methodStatic memberCreateDevelopableLoft(NurbsCurve, NurbsCurve, IEnumerablePoint2d)
Creates a single developable surface between two curves.
Public methodStatic memberCreateDevelopableLoft(Curve, Curve, Boolean, Boolean, Int32)
Creates a single developable surface between two curves.
Public methodStatic memberCode exampleCreateEdgeSurface
Constructs a coons patch from 2, 3, or 4 curves.
Public methodStatic memberCreateFilletEdges(Brep, IEnumerableInt32, IEnumerableDouble, IEnumerableDouble, BlendType, RailType, Double)
Fillets, chamfers, or blends the edges of a brep.
Public methodStatic memberCreateFilletEdges(Brep, IEnumerableInt32, IEnumerableDouble, IEnumerableDouble, BlendType, RailType, Boolean, Double, Double)
Fillets, chamfers, or blends the edges of a brep.
Public methodStatic memberCreateFilletEdgesVariableRadius
Fillets, chamfers, or blends the edges of a brep.
Public methodStatic memberCreateFilletSurface(BrepFace, Point2d, BrepFace, Point2d, Double, Boolean, Double)
Creates a constant-radius round surface between two surfaces.
Public methodStatic memberCreateFilletSurface(BrepFace, Point2d, BrepFace, Point2d, Double, Boolean, Boolean, Double, Brep, Brep)
Creates a constant-radius round surface between two surfaces.
Public methodStatic memberCode exampleCreateFromBox(BoundingBox)
Constructs new brep that matches a bounding box.
Public methodStatic memberCreateFromBox(Box)
Constructs new brep that matches an aligned box.
Public methodStatic memberCreateFromBox(IEnumerablePoint3d)
Constructs new brep from 8 corner points.
Public methodStatic memberCreateFromCone
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.
Public methodStatic memberCreateFromCornerPoints(Point3d, Point3d, Point3d, Double)
Makes a Brep with one face from three corner points.
Public methodStatic memberCreateFromCornerPoints(Point3d, Point3d, Point3d, Point3d, Double)
Makes a Brep with one face from four corner points.
Public methodStatic memberCreateFromCylinder
Constructs a Brep definition of a cylinder.
Public methodStatic memberCreateFromJoinedEdges
Joins two naked edges, or edges that are coincident or close together, from two Breps.
Public methodStatic memberCode exampleCreateFromLoft(IEnumerableCurve, Point3d, Point3d, LoftType, Boolean)
Constructs one or more Breps by lofting through a set of curves.
Public methodStatic memberCreateFromLoft(IEnumerableCurve, Point3d, Point3d, Boolean, Boolean, BrepTrim, BrepTrim, LoftType, Boolean)
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
Public methodStatic memberCreateFromLoftRebuild
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.
Public methodStatic memberCreateFromLoftRefit
Constructs one or more Breps by lofting through a set of curves. Input for the loft is simplified by refitting to a specified tolerance.
Public methodStatic memberCreateFromMesh
Create a brep representation of a mesh
Public methodStatic memberCreateFromOffsetFace
Offsets a face including trim information to create a new brep.
Public methodStatic memberCode exampleCreateFromRevSurface
Constructs a brep form of a surface of revolution.
Public methodStatic memberCreateFromSphere
Constructs a Brep definition of a sphere.
Public methodStatic memberCreateFromSurface
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.
Public methodStatic memberCreateFromSweep(Curve, Curve, Boolean, Double)
Sweep1 function that fits a surface through a profile curve that define the surface cross-sections and one curve that defines a surface edge.
Public methodStatic memberCreateFromSweep(Curve, IEnumerableCurve, Boolean, Double)
Sweep1 function that fits a surface through profile curves that define the surface cross-sections and one curve that defines a surface edge.
Public methodStatic memberCreateFromSweep(Curve, Curve, Curve, Boolean, Double)
General 2 rail sweep. If you are not producing the sweep results that you are after, then use the SweepTwoRail class with options to generate the swept geometry.
Public methodStatic memberCreateFromSweep(Curve, Curve, IEnumerableCurve, Boolean, Double)
General 2 rail sweep. If you are not producing the sweep results that you are after, then use the SweepTwoRail class with options to generate the swept geometry.
Public methodStatic memberCreateFromSweep(Curve, Curve, IEnumerableCurve, Point3d, Point3d, Boolean, Double, SweepRebuild, Int32, Double, Boolean)
Sweep2 function that fits a surface through profile curves that define the surface cross-sections and two curves that defines the surface edges.
Public methodStatic memberCreateFromSweep(Curve, Curve, IEnumerableCurve, Point3d, Point3d, Boolean, Double, SweepRebuild, Int32, Double, Boolean, Boolean)
Sweep2 function that fits a surface through profile curves that define the surface cross-sections and two curves that defines the surface edges.
Public methodStatic memberCreateFromSweep(Curve, IEnumerableCurve, Point3d, Point3d, SweepFrame, Vector3d, Boolean, SweepBlend, SweepMiter, Double, SweepRebuild, Int32, Double)
Sweep1 function that fits a surface through a series of profile curves that define the surface cross-sections and one curve that defines a surface edge.
Public methodStatic memberCreateFromSweepInParts
Makes a 2 rail sweep. Like CreateFromSweep but the result is split where parameterization along a rail changes abruptly.
Public methodStatic memberCreateFromSweepSegmented(Curve, Curve, Boolean, Double)
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.
Public methodStatic memberCreateFromSweepSegmented(Curve, IEnumerableCurve, Boolean, Double)
Sweep1 function that fits a surface through a series of profile curves 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.
Public methodStatic memberCreateFromSweepSegmented(Curve, IEnumerableCurve, Point3d, Point3d, SweepFrame, Vector3d, Boolean, SweepBlend, SweepMiter, Double, SweepRebuild, Int32, Double)
Sweep1 function that fits a surface through a series of profile curves 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.
Public methodStatic memberCreateFromTaperedExtrude(Curve, Double, Vector3d, Point3d, Double, ExtrudeCornerType) Obsolete.
Extrude a curve to a taper making a brep (potentially more than 1)
Public methodStatic memberCreateFromTaperedExtrude(Curve, Double, Vector3d, Point3d, Double, ExtrudeCornerType, Double, Double)
Extrude a curve to a taper making a brep (potentially more than 1)
Public methodStatic memberCreateFromTaperedExtrudeWithRef
Creates one or more Breps by extruding a curve a distance along an axis with draft angle.
Public methodStatic memberCreateFromTorus
Constructs a Brep definition of a torus.
Public methodStatic memberCreateOffsetBrep(Brep, Double, Boolean, Boolean, Double, Brep, Brep)
Offsets a Brep.
Public methodStatic memberCreateOffsetBrep(Brep, Double, Boolean, Boolean, Boolean, Double, Brep, Brep)
Offsets a Brep.
Public methodStatic memberCreatePatch(IEnumerableGeometryBase, Surface, Double)
Constructs a brep patch.

This is the simple version of fit that uses a specified starting surface.

Public methodStatic memberCreatePatch(IEnumerableGeometryBase, Int32, Int32, Double)
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.

Public methodStatic memberCreatePatch(IEnumerableGeometryBase, Surface, Int32, Int32, Boolean, Boolean, Double, Double, Double, Boolean, Double)
Constructs a brep patch using all controls
Public methodStatic memberCreatePipe(Curve, Double, Boolean, PipeCapMode, Boolean, Double, Double)
Creates a single walled pipe.
Public methodStatic memberCreatePipe(Curve, IEnumerableDouble, IEnumerableDouble, Boolean, PipeCapMode, Boolean, Double, Double)
Creates a single walled pipe.
Public methodStatic memberCreatePlanarBreps(Curve) Obsolete.
Constructs a set of planar breps as outlines by the loops.
Public methodStatic memberCreatePlanarBreps(CurveList) Obsolete.
Constructs a set of planar Breps as outlines by the loops.
Public methodStatic memberCreatePlanarBreps(IEnumerableCurve) Obsolete.
Constructs a set of planar breps as outlines by the loops.
Public methodStatic memberCreatePlanarBreps(Curve, Double)
Constructs a set of planar breps as outlines by the loops.
Public methodStatic memberCreatePlanarBreps(CurveList, Double)
Constructs a set of planar Breps as outlines by the loops.
Public methodStatic memberCreatePlanarBreps(IEnumerableCurve, Double)
Constructs a set of planar breps as outlines by the loops.
Public methodStatic memberCreatePlanarDifference
CreatePlanarDifference
Public methodStatic memberCreatePlanarIntersection
CreatePlanarIntersection
Public methodStatic memberCreatePlanarUnion(IEnumerableBrep, Plane, Double)
CreatePlanarUnion
Public methodStatic memberCreatePlanarUnion(Brep, Brep, Plane, Double)
CreatePlanarUnion
Public methodStatic memberCreateQuadSphere
Constructs a Brep definition of a quad sphere.
Public methodStatic memberCreateShell
Creates a hollowed out shell from a solid Brep. Function only operates on simple, solid, manifold Breps.
Public methodStatic memberCreateSolid
Constructs closed polysurfaces from surfaces and polysurfaces that bound a region in space.
Public methodStatic memberCreateThickPipe(Curve, Double, Double, Boolean, PipeCapMode, Boolean, Double, Double)
Creates a double-walled pipe.
Public methodStatic memberCreateThickPipe(Curve, IEnumerableDouble, IEnumerableDouble, IEnumerableDouble, Boolean, PipeCapMode, Boolean, Double, Double)
Creates a double-walled pipe.
Public methodStatic memberCreateTrimmedPlane(Plane, Curve)
Create a Brep trimmed plane.
Public methodStatic memberCreateTrimmedPlane(Plane, IEnumerableCurve)
Create a Brep trimmed plane.
Public methodStatic memberCreateTrimmedSurface(BrepFace, Surface) Obsolete.
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.
Public methodStatic memberCreateTrimmedSurface(BrepFace, Surface, Double)
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.
Public methodCullUnused2dCurves
Culls 3d curves not referenced by an edge.
Public methodCullUnused3dCurves
Culls 2d curves not referenced by a trim.
Public methodCullUnusedEdges
Culls edges with m_edge_index == -1.
Public methodCullUnusedFaces
Culls faces with m_face_index == -1.
Public methodCullUnusedLoops
Culls loops with m_loop_index == -1.
Public methodCullUnusedSurfaces
Culls surfaces not referenced by a face.
Public methodCullUnusedTrims
Culls trims with m_trim_index == -1.
Public methodCullUnusedVertices
Culls vertices with m_vertex_index == -1.
Public methodStatic memberCutUpSurface(Surface, IEnumerableCurve, Boolean, Double)
Takes a surface and a set of all 3D curves that define a single trimmed surface, and splits the surface with the curves, keeping the piece that uses all of the curves.
Public methodStatic memberCutUpSurface(Surface, IEnumerableCurve, Boolean, Double, Double)
Splits, or cuts up, a surface. Designed to split the underlying surface of a Brep face with edge curves.
Public methodDataCRC
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 methodDeleteAllUserStrings (Inherited from GeometryBase.)
Public methodDeleteUserString (Inherited from GeometryBase.)
Public methodDestroyRegionTopology
Destroys a Brep's region topology information.
Public methodDispose
Actively reclaims unmanaged resources that this instance uses.
(Inherited from CommonObject.)
Protected methodDispose(Boolean)
Overridden in order to destroy local display cache information
(Inherited from GeometryBase.)
Public methodDuplicate
Copies this brep.
(Overrides GeometryBaseDuplicate.)
Public methodDuplicateBrep
Same as Duplicate, but already performs a cast to a brep.

This cast always succeeds.

Public methodDuplicateEdgeCurves
Duplicate all the edges of this Brep.
Public methodCode exampleDuplicateEdgeCurves(Boolean)
Duplicate edges of this Brep.
Public methodDuplicateNakedEdgeCurves
Duplicate naked edges of this Brep.
Public methodDuplicateShallow
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 methodDuplicateSubBrep
Copy a subset of this Brep into another Brep.
Public methodDuplicateVertices
Duplicate all the corner vertices of this Brep.
Public methodEnsurePrivateCopy
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 methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodStatic memberExtendBrepFacesToConnect(BrepFace, Point3d, BrepFace, Point3d, Double, Double, Brep, Brep)
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
Public methodStatic memberExtendBrepFacesToConnect(BrepFace, Int32, BrepFace, Int32, Double, Double, Brep, Brep)
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
Protected methodFinalize
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Inherited from CommonObject.)
Public methodFindCoincidentBrepComponents
Find the indices of all brep faces, edges and vertices that are within tolerance of a test-point.
Public methodFlip
Reverses entire brep orientation of all faces.
Public methodGetArea
Compute the Area of the Brep. If you want proper Area data with moments and error information, use the AreaMassProperties class.
Public methodGetArea(Double, Double)
Compute the Area of the Brep. If you want proper Area data with moments and error information, use the AreaMassProperties class.
Public methodCode exampleGetBoundingBox(Boolean)
Bounding box solver. Gets the world axis aligned bounding box for the geometry.
(Inherited from GeometryBase.)
Public methodCode exampleGetBoundingBox(Plane)
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.)
Public methodGetBoundingBox(Transform)
Aligned Bounding box solver. Gets the world axis aligned bounding box for the transformed geometry.
(Inherited from GeometryBase.)
Public methodGetBoundingBox(Plane, Box)
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.)
Public methodGetConnectedComponents
If this Brep has two or more connected components, then duplicates of the connected components are returned.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetObjectData
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
(Inherited from CommonObject.)
Public methodGetPointInside
Finds a point inside of a solid Brep.
Public methodGetRegions
Gets an array containing all regions in this brep.
Public methodGetTangentConnectedComponents
If this Brep has two or more components connected by tangent edges, then duplicates of the connected components are returned.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetUserString
Gets user string from this geometry.
(Inherited from GeometryBase.)
Public methodGetUserStrings
Gets a copy of all (user key string, user value string) pairs attached to this geometry.
(Inherited from GeometryBase.)
Public methodGetVolume
Compute the Volume of the Brep. If you want proper Volume data with moments and error information, use the VolumeMassProperties class.
Public methodGetVolume(Double, Double)
Compute the Volume of the Brep. If you want proper Volume data with moments and error information, use the VolumeMassProperties class.
Public methodGetWireframe
Constructs all the Wireframe curves for this Brep.
Public methodInsetFaces
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.
Public methodIsBox
Verifies a Brep is in the form of a solid box.
Public methodIsBox(Double)
Verifies a Brep is in the form of a solid box.
Public methodIsDuplicate
See if this and other are same brep geometry.
Public methodIsPointInside
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.
Public methodIsValidGeometry
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.
Public methodIsValidTolerancesAndFlags
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.
Public methodIsValidTopology
Tests the brep to see if its topology information is valid.
Public methodIsValidWithLog
Determines if an object is valid. Also provides a report on errors if this object happens not to be valid.
(Inherited from CommonObject.)
Public methodJoin
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.
Public methodStatic memberJoinBreps(IEnumerableBrep, Double)
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.
Public methodStatic memberJoinBreps(IEnumerableBrep, Double, Double)
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.
Public methodStatic memberJoinBreps(IEnumerableBrep, Double, Double, ListInt32)
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.
Public methodJoinEdges
Joins two naked edges, or edges that are coincident or close together.
Public methodJoinNakedEdges
Joins naked edge pairs within the same brep that overlap within tolerance.
Public methodMakeDeformable
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.)
Public methodMakeValidForV2
No support is available for this function.

Expert user function that converts all geometry in Brep to NURB form.

Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodMemoryEstimate
Computes an estimate of the number of bytes that this object is using in memory.
(Inherited from GeometryBase.)
Public methodStatic memberMergeBreps
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.
Public methodMergeCoplanarFaces(Double)
Merges adjacent coplanar faces into single faces.
Public methodMergeCoplanarFaces(Double, Double)
Merges adjacent coplanar faces into single faces.
Public methodMergeCoplanarFaces(Int32, Double, Double)
Merges coplanar faces adjacent to Brep face into a single face.
Public methodMergeCoplanarFaces(Int32, Int32, Double, Double)
Merges two coplanar, adjacent Brep faces into a single face.
Public methodStatic memberMergeSurfaces(Brep, Brep, Double, Double)
Merges two surfaces into one surface at untrimmed edges. Both surfaces must be untrimmed and share an edge.
Public methodStatic memberMergeSurfaces(Surface, Surface, Double, Double)
Merges two surfaces into one surface at untrimmed edges.
Public methodStatic memberMergeSurfaces(Brep, Brep, Double, Double, Point2d, Point2d, Double, Boolean)
Merges two surfaces into one surface at untrimmed edges. Both surfaces must be untrimmed and share an edge.
Protected methodNonConstOperation
Destroy cache handle
(Inherited from GeometryBase.)
Protected methodOnSwitchToNonConst
Is called when a non-constant operation occurs.
(Inherited from GeometryBase.)
Public methodRebuildTrimsForV2
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.

Public methodRemoveFins
Recursively removes any Brep face with a naked edge. This function is only useful for non-manifold Breps.
Public methodRemoveHoles(Double)
Remove all inner loops, or holes, in a Brep.
Public methodRemoveHoles(IEnumerableComponentIndex, Double)
Removes inner loops, or holes, in a Brep.
Public methodRepair
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.
Public methodRotate
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 methodScale
Scales the object by the specified factor. The scale is centered at the origin.
(Inherited from GeometryBase.)
Public methodSetTolerancesBoxesAndFlags
Set tolerances and flags in a Brep.
Public methodSetTolerancesBoxesAndFlags(Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean)
Set tolerances and flags in a Brep.
Public methodSetTrimIsoFlags
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.
Public methodSetUserString
Attach a user string (key,value combination) to this geometry.
(Inherited from GeometryBase.)
Public methodSetVertices
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.
Public methodSplit(Brep, Double)
Splits a Brep into pieces using a Brep as a cutter.
Public methodSplit(IEnumerableBrep, Double)
Splits a Brep into pieces using Breps as cutters.
Public methodSplit(IEnumerableCurve, Double)
Splits a Brep into pieces using curves, at least partially on the Brep, as cutters.
Public methodSplit(Brep, Double, Boolean)
Splits a Brep into pieces using a Brep as a cutter.
Public methodSplit(IEnumerableGeometryBase, Vector3d, Boolean, Double)
Splits a Brep into pieces using a combination of curves, to be extruded, and Breps as cutters.
Public methodStandardize
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.
Public methodToJSON
Create a JSON string representation of this object
(Inherited from CommonObject.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public methodTransform
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 methodTransformComponent
Transform an array of Brep components, bend neighbors to match, and leave the rest fixed.
Public methodTranslate(Vector3d)
Translates the object along the specified vector.
(Inherited from GeometryBase.)
Public methodTranslate(Double, Double, Double)
Translates the object along the specified vector.
(Inherited from GeometryBase.)
Public methodTrim(Brep, Double)
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.
Public methodTrim(Plane, Double)
Trims a Brep with an oriented cutter. The parts of 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. A connected component of 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, or in the case of a Plane cutter the half space opposite from the plane normal.
Public methodStatic memberTryConvertBrep
Attempts to convert a generic Geometry object into a Brep.
Public methodUnjoinEdges
Un-joins, or separates, edges within the Brep. Note, seams in closed surfaces will not separate.
Top
See Also