Brep
/// Boundary Representation. A surface or polysurface along with trim curve information.
Inheritance Hierarchy
System.Object
Rhino.Runtime.CommonObject
Rhino.Geometry.GeometryBase
Rhino.Geometry.Brep
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll)
Syntax
[SerializableAttribute]public class Brep : GeometryBase
The Brep type exposes the following members.
Constructors
Name
Description
Public Method
Brep.
Initializes a new empty brep
Protected Method
Brep(SerializationInfo, StreamingContext)
Protected constructor used in serialization.
Properties
Name
Description
Public Property
Curves2D
Parameter space trimming curves (used by trims)
Public Property
Curves3D
Pointers to 3d curves (used by edges)
Public Property
Disposed
Indicates if this object has been disposed or the document it originally belonged to has been disposed.
(Inherited from CommonObject.)
Public Property
Edges
Gets the brep edges list accessor.
Public Property
Faces
Gets the brep faces list accessor.
Public Property
HasBrepForm
Returns true if the Brep.TryConvertBrep function will be successful for this object
(Inherited from GeometryBase.)
Public Property
HasRegionTopology
Returns true if the Brep has region topology information, false otherwise.
Public Property
HasUserData
Gets true if this class has any custom information attached to it through UserData.
(Inherited from CommonObject.)
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
IsManifold
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 Property
Code Example
IsSolid
Determines whether this brep is a solid, or a closed oriented manifold.
Public Property
IsSurface
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 Property
IsValid
Tests an object to see if it is valid.
(Inherited from CommonObject.)
Public Property
Loops
Gets the brep loop list accessor.
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
SolidOrientation
Gets the solid orientation state of this Brep.
Public Property
Surfaces
Parametric surfaces used by faces
Public Property
Trims
Gets the brep trims list accessor.
Public Property
UserData
List of custom information that is attached to this class.
(Inherited from CommonObject.)
Public Property
UserDictionary
Dictionary of custom information attached to this class. The dictionary is actually user data provided as an easy to use shareable set of information.
(Inherited from CommonObject.)
Public Property
UserStringCount
Gets the amount of user strings.
(Inherited from GeometryBase.)
Public Property
Vertices
Gets the brep vertices list accessor.
Methods
Name
Description
Public Method
AddEdgeCurve
Add a 3d curve used by the brep edges
Public Method
AddSurface
Adds a 3D surface used by BrepFace.
Public Method
AddTrimCurve
Add a 2d curve used by the brep trims
Public Method
Append
Appends a copy of another brep to this and updates indices of appended brep parts. Duplicates are not removed
Public Method
CapPlanarHoles
Returns a new Brep that is equivalent to this Brep with all planar holes capped.
Public Method
Static Member
ChangeSeam
Change the seam of a closed trimmed surface.
Public Method
ClosestPoint(Point3d)
Finds a point on the brep that is closest to testPoint.
Public Method
ClosestPoint(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 Method
Compact
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 Method
ComponentIndex
If this piece of geometry is a component in something larger, like a BrepEdge in a Brep, then this function returns the component index.
(Inherited from GeometryBase.)
Protected Method
ConstructConstObject
Assigns a parent object and a sub-object index to this.
(Inherited from CommonObject.)
Public Method
Static Member
CopyTrimCurves
Copy all trims from a Brep face onto a surface.
Public Method
Static Member
CreateBaseballSphere
Creates a brep representation of the sphere with two similar trimmed NURBS surfaces, and no singularities.
Public Method
Static Member
CreateBlendShape
Makes a curve blend between points on two surface edges. The blend will be tangent to the surfaces and perpendicular to the edges.
Public Method
Static Member
CreateBlendSurface
Makes a surface blend between two surface edges.
Public Method
Static Member
CreateBooleanDifference(Brep, Brep, Double)
Compute the Solid Difference of two Breps.
Public Method
Static Member
Code Example
CreateBooleanDifference(IEnumerable.Brep., IEnumerable.Brep., Double)
Compute the Solid Difference of two sets of Breps.
Public Method
Static Member
CreateBooleanDifference(Brep, Brep, Double, Boolean)
Compute the Solid Difference of two Breps.
Public Method
Static Member
Code Example
CreateBooleanDifference(IEnumerable.Brep., IEnumerable.Brep., Double, Boolean)
Compute the Solid Difference of two sets of Breps.
Public Method
Static Member
CreateBooleanDifferenceWithIndexMap
Compute the solid difference between two sets of Breps.
Public Method
Static Member
CreateBooleanIntersection(Brep, Brep, Double)
Compute the Solid Intersection of two Breps.
Public Method
Static Member
CreateBooleanIntersection(IEnumerable.Brep., IEnumerable.Brep., Double)
Compute the Solid Intersection of two sets of Breps.
Public Method
Static Member
CreateBooleanIntersection(Brep, Brep, Double, Boolean)
Compute the Solid Intersection of two Breps.
Public Method
Static Member
CreateBooleanIntersection(IEnumerable.Brep., IEnumerable.Brep., Double, Boolean)
Compute the Solid Intersection of two sets of Breps.
Public Method
Static Member
CreateBooleanSplit(Brep, Brep, Double)
Splits shared areas of Breps and creates separate Breps from the shared and unshared parts.
Public Method
Static Member
CreateBooleanSplit(IEnumerable.Brep., IEnumerable.Brep., Double)
Splits shared areas of Breps and creates separate Breps from the shared and unshared parts.
Public Method
Static Member
CreateBooleanUnion(IEnumerable.Brep., Double)
Compute the Boolean Union of a set of Breps.
Public Method
Static Member
CreateBooleanUnion(IEnumerable.Brep., Double, Boolean)
Compute the Boolean Union of a set of Breps.
Public Method
Static Member
CreateBooleanUnion(IEnumerable.Brep., Double, Boolean, .Point3d.., .Point3d.., .Point3d..)
Compute the Boolean Union of a set of Breps.
Public Method
Static Member
CreateChamferSurface(BrepFace, Point2d, Double, BrepFace, Point2d, Double, Boolean, Double)
Creates a ruled surface as a bevel between two input surface edges.
Public Method
Static Member
CreateChamferSurface(BrepFace, Point2d, Double, BrepFace, Point2d, Double, Boolean, Boolean, Double, .Brep.., .Brep..)
Creates a ruled surface as a bevel between two input surface edges.
Public Method
Static Member
CreateContourCurves(Brep, Plane)
Constructs the contour curves for a brep, using a slicing plane.
Public Method
Static Member
Code Example
CreateContourCurves(Brep, Point3d, Point3d, Double)
Constructs the contour curves for a brep at a specified interval.
Public Method
Static Member
CreateCurvatureAnalysisMesh
Create an array of analysis meshes for the brep using the specified settings. Meshes aren’t set on the brep.
Public Method
Static Member
CreateDevelopableLoft(NurbsCurve, NurbsCurve, IEnumerable.Point2d.)
Creates a single developable surface between two curves.
Public Method
Static Member
CreateDevelopableLoft(Curve, Curve, Boolean, Boolean, Int32)
Creates a single developable surface between two curves.
Public Method
Static Member
Code Example
CreateEdgeSurface
Constructs a coons patch from 2, 3, or 4 curves.
Public Method
Static Member
CreateFilletEdges(Brep, IEnumerable.Int32., IEnumerable.Double., IEnumerable.Double., BlendType, RailType, Double)
Fillets, chamfers, or blends the edges of a brep.
Public Method
Static Member
CreateFilletEdges(Brep, IEnumerable.Int32., IEnumerable.Double., IEnumerable.Double., BlendType, RailType, Boolean, Double, Double)
Fillets, chamfers, or blends the edges of a brep.
Public Method
Static Member
CreateFilletEdgesVariableRadius
Fillets, chamfers, or blends the edges of a brep.
Public Method
Static Member
CreateFilletSurface(BrepFace, Point2d, BrepFace, Point2d, Double, Boolean, Double)
Creates a constant-radius round surface between two surfaces.
Public Method
Static Member
CreateFilletSurface(BrepFace, Point2d, BrepFace, Point2d, Double, Boolean, Boolean, Double, .Brep.., .Brep..)
Creates a constant-radius round surface between two surfaces.
Public Method
Static Member
Code Example
CreateFromBox(BoundingBox)
Constructs new brep that matches a bounding box.
Public Method
Static Member
CreateFromBox(Box)
Constructs new brep that matches an aligned box.
Public Method
Static Member
CreateFromBox(IEnumerable.Point3d.)
Constructs new brep from 8 corner points.
Public Method
Static Member
CreateFromCone
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 Method
Static Member
CreateFromCornerPoints(Point3d, Point3d, Point3d, Double)
Makes a Brep with one face from three corner points.
Public Method
Static Member
CreateFromCornerPoints(Point3d, Point3d, Point3d, Point3d, Double)
Makes a Brep with one face from four corner points.
Public Method
Static Member
CreateFromCylinder
Constructs a Brep definition of a cylinder.
Public Method
Static Member
CreateFromJoinedEdges
Joins two naked edges, or edges that are coincident or close together, from two Breps.
Public Method
Static Member
Code Example
CreateFromLoft(IEnumerable.Curve., Point3d, Point3d, LoftType, Boolean)
Constructs one or more Breps by lofting through a set of curves.
Public Method
Static Member
CreateFromLoft(IEnumerable.Curve., 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 Method
Static Member
CreateFromLoftRebuild
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 Method
Static Member
CreateFromLoftRefit
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 Method
Static Member
CreateFromMesh
Create a brep representation of a mesh
Public Method
Static Member
CreateFromOffsetFace
Offsets a face including trim information to create a new brep.
Public Method
Static Member
Code Example
CreateFromRevSurface
Constructs a brep form of a surface of revolution.
Public Method
Static Member
CreateFromSphere
Constructs a Brep definition of a sphere.
Public Method
Static Member
CreateFromSurface
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 Method
Static Member
CreateFromSweep(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 Method
Static Member
CreateFromSweep(Curve, IEnumerable.Curve., 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 Method
Static Member
CreateFromSweep(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 Method
Static Member
CreateFromSweep(Curve, Curve, IEnumerable.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 Method
Static Member
CreateFromSweep(Curve, Curve, IEnumerable.Curve., 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 Method
Static Member
CreateFromSweep(Curve, Curve, IEnumerable.Curve., 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 Method
Static Member
CreateFromSweep(Curve, IEnumerable.Curve., 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 Method
Static Member
CreateFromSweepInParts
Makes a 2 rail sweep. Like CreateFromSweep but the result is split where parameterization along a rail changes abruptly.
Public Method
Static Member
CreateFromSweepSegmented(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 Method
Static Member
CreateFromSweepSegmented(Curve, IEnumerable.Curve., 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 Method
Static Member
CreateFromSweepSegmented(Curve, IEnumerable.Curve., 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 Method
Static Member
CreateFromTaperedExtrude(Curve, Double, Vector3d, Point3d, Double, ExtrudeCornerType)
Obsolete.
Extrude a curve to a taper making a brep (potentially more than 1)
Public Method
Static Member
CreateFromTaperedExtrude(Curve, Double, Vector3d, Point3d, Double, ExtrudeCornerType, Double, Double)
Extrude a curve to a taper making a brep (potentially more than 1)
Public Method
Static Member
CreateFromTaperedExtrudeWithRef
Creates one or more Breps by extruding a curve a distance along an axis with draft angle.
Public Method
Static Member
CreateFromTorus
Constructs a Brep definition of a torus.
Public Method
Static Member
CreateOffsetBrep(Brep, Double, Boolean, Boolean, Double, .Brep.., .Brep..)
Offsets a Brep.
Public Method
Static Member
CreateOffsetBrep(Brep, Double, Boolean, Boolean, Boolean, Double, .Brep.., .Brep..)
Offsets a Brep.
Public Method
Static Member
CreatePatch(IEnumerable.GeometryBase., Surface, Double)
Constructs a brep patch.
This is the simple version of fit that uses a specified starting surface.
Public Method
Static Member
CreatePatch(IEnumerable.GeometryBase., 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 Method
Static Member
CreatePatch(IEnumerable.GeometryBase., Surface, Int32, Int32, Boolean, Boolean, Double, Double, Double, .Boolean., Double)
Constructs a brep patch using all controls
Public Method
Static Member
CreatePipe(Curve, Double, Boolean, PipeCapMode, Boolean, Double, Double)
Creates a single walled pipe.
Public Method
Static Member
CreatePipe(Curve, IEnumerable.Double., IEnumerable.Double., Boolean, PipeCapMode, Boolean, Double, Double)
Creates a single walled pipe.
Public Method
Static Member
CreatePlanarBreps(Curve)
Obsolete.
Constructs a set of planar breps as outlines by the loops.
Public Method
Static Member
CreatePlanarBreps(CurveList)
Obsolete.
Constructs a set of planar Breps as outlines by the loops.
Public Method
Static Member
CreatePlanarBreps(IEnumerable.Curve.)
Obsolete.
Constructs a set of planar breps as outlines by the loops.
Public Method
Static Member
CreatePlanarBreps(Curve, Double)
Constructs a set of planar breps as outlines by the loops.
Public Method
Static Member
CreatePlanarBreps(CurveList, Double)
Constructs a set of planar Breps as outlines by the loops.
Public Method
Static Member
CreatePlanarBreps(IEnumerable.Curve., Double)
Constructs a set of planar breps as outlines by the loops.
Public Method
Static Member
CreatePlanarDifference
CreatePlanarDifference
Public Method
Static Member
CreatePlanarIntersection
CreatePlanarIntersection
Public Method
Static Member
CreatePlanarUnion(IEnumerable.Brep., Plane, Double)
CreatePlanarUnion
Public Method
Static Member
CreatePlanarUnion(Brep, Brep, Plane, Double)
CreatePlanarUnion
Public Method
Static Member
CreateQuadSphere
Constructs a Brep definition of a quad sphere.
Public Method
Static Member
CreateShell
Creates a hollowed out shell from a solid Brep. Function only operates on simple, solid, manifold Breps.
Public Method
Static Member
CreateSolid
Constructs closed polysurfaces from surfaces and polysurfaces that bound a region in space.
Public Method
Static Member
CreateThickPipe(Curve, Double, Double, Boolean, PipeCapMode, Boolean, Double, Double)
Creates a double-walled pipe.
Public Method
Static Member
CreateThickPipe(Curve, IEnumerable.Double., IEnumerable.Double., IEnumerable.Double., Boolean, PipeCapMode, Boolean, Double, Double)
Creates a double-walled pipe.
Public Method
Static Member
CreateTrimmedPlane(Plane, Curve)
Create a Brep trimmed plane.
Public Method
Static Member
CreateTrimmedPlane(Plane, IEnumerable.Curve.)
Create a Brep trimmed plane.
Public Method
Static Member
CreateTrimmedSurface(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 Method
Static Member
CreateTrimmedSurface(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 Method
CullUnused2dCurves
Culls 3d curves not referenced by an edge.
Public Method
CullUnused3dCurves
Culls 2d curves not referenced by a trim.
Public Method
CullUnusedEdges
Culls edges with m_edge_index == -1.
Public Method
CullUnusedFaces
Culls faces with m_face_index == -1.
Public Method
CullUnusedLoops
Culls loops with m_loop_index == -1.
Public Method
CullUnusedSurfaces
Culls surfaces not referenced by a face.
Public Method
CullUnusedTrims
Culls trims with m_trim_index == -1.
Public Method
CullUnusedVertices
Culls vertices with m_vertex_index == -1.
Public Method
Static Member
CutUpSurface(Surface, IEnumerable.Curve., 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 Method
Static Member
CutUpSurface(Surface, IEnumerable.Curve., Boolean, Double, Double)
Splits, or cuts up, a surface. Designed to split the underlying surface of a Brep face with edge curves.
Public Method
DataCRC
Returns a CRC calculated from the information that defines the object. This CRC can be used as a quick way to see if two objects are not identical.
(Inherited from GeometryBase.)
Public Method
DeleteAllUserStrings
(Inherited from GeometryBase.)
Public Method
DeleteUserString
(Inherited from GeometryBase.)
Public Method
DestroyRegionTopology
Destroys a Brep’s region topology information.
Public Method
Dispose.
Actively reclaims unmanaged resources that this instance uses.
(Inherited from CommonObject.)
Protected Method
Dispose(Boolean)
Overridden in order to destroy local display cache information
(Inherited from GeometryBase.)
Public Method
Duplicate
Copies this brep.
(Overrides
GeometryBase.Duplicate.
.)Public Method
DuplicateBrep
Same as
Duplicate.
, but already performs a cast to a brep.This cast always succeeds.
Public Method
DuplicateEdgeCurves.
Duplicate all the edges of this Brep.
Public Method
Code Example
DuplicateEdgeCurves(Boolean)
Duplicate edges of this Brep.
Public Method
DuplicateNakedEdgeCurves
Duplicate naked edges of this Brep.
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
DuplicateSubBrep
Copy a subset of this Brep into another Brep.
Public Method
DuplicateVertices
Duplicate all the corner vertices of this Brep.
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
Static Member
ExtendBrepFacesToConnect(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 Method
Static Member
ExtendBrepFacesToConnect(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 Method
Finalize
Passively reclaims unmanaged resources when the class user did not explicitly call Dispose().
(Inherited from CommonObject.)
Public Method
FindCoincidentBrepComponents
Find the indices of all brep faces, edges and vertices that are within tolerance of a test-point.
Public Method
Flip
Reverses entire brep orientation of all faces.
Public Method
GetArea.
Compute the Area of the Brep. If you want proper Area data with moments and error information, use the AreaMassProperties class.
Public Method
GetArea(Double, Double)
Compute the Area of the Brep. If you want proper Area data with moments and error information, use the AreaMassProperties class.
Public Method
Code Example
GetBoundingBox(Boolean)
Bounding box solver. Gets the world axis aligned bounding box for the geometry.
(Inherited from GeometryBase.)
Public Method
Code Example
GetBoundingBox(Plane)
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.)
Public Method
GetBoundingBox(Transform)
Aligned Bounding box solver. Gets the world axis aligned bounding box for the transformed geometry.
(Inherited from GeometryBase.)
Public Method
GetBoundingBox(Plane, Box.)
Aligned Bounding box solver. Gets the plane aligned bounding box.
(Inherited from GeometryBase.)
Public Method
GetConnectedComponents
If this Brep has two or more connected components, then duplicates of the connected components are returned.
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public Method
GetObjectData
Populates a System.Runtime.Serialization.SerializationInfo with the data needed to serialize the target object.
(Inherited from CommonObject.)
Public Method
GetPointInside
Finds a point inside of a solid Brep.
Public Method
GetRegions
Gets an array containing all regions in this brep.
Public Method
GetTangentConnectedComponents
If this Brep has two or more components connected by tangent edges, then duplicates of the connected components are returned.
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
GetVolume.
Compute the Volume of the Brep. If you want proper Volume data with moments and error information, use the VolumeMassProperties class.
Public Method
GetVolume(Double, Double)
Compute the Volume of the Brep. If you want proper Volume data with moments and error information, use the VolumeMassProperties class.
Public Method
GetWireframe
Constructs all the Wireframe curves for this Brep.
Public Method
InsetFaces
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 Method
IsBox.
Verifies a Brep is in the form of a solid box.
Public Method
IsBox(Double)
Verifies a Brep is in the form of a solid box.
Public Method
IsDuplicate
See if this and other are same brep geometry.
Public Method
IsPointInside
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 Method
IsValidGeometry
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 Method
IsValidTolerancesAndFlags
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 Method
IsValidTopology
Tests the brep to see if its topology information is valid.
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
Join
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 Method
Static Member
JoinBreps(IEnumerable.Brep., 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 Method
Static Member
JoinBreps(IEnumerable.Brep., 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 Method
Static Member
JoinBreps(IEnumerable.Brep., Double, Double, List..Int32…)
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 Method
JoinEdges
Joins two naked edges, or edges that are coincident or close together.
Public Method
JoinNakedEdges
Joins naked edge pairs within the same brep that overlap within tolerance.
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.)
Public Method
MakeValidForV2
No support is available for this function.
Expert user function that converts all geometry in Brep to NURB form.
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.)
Public Method
Static Member
MergeBreps
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 Method
MergeCoplanarFaces(Double)
Merges adjacent coplanar faces into single faces.
Public Method
MergeCoplanarFaces(Double, Double)
Merges adjacent coplanar faces into single faces.
Public Method
MergeCoplanarFaces(Int32, Double, Double)
Merges coplanar faces adjacent to Brep face into a single face.
Public Method
MergeCoplanarFaces(Int32, Int32, Double, Double)
Merges two coplanar, adjacent Brep faces into a single face.
Public Method
Static Member
MergeSurfaces(Brep, Brep, Double, Double)
Merges two surfaces into one surface at untrimmed edges. Both surfaces must be untrimmed and share an edge.
Public Method
Static Member
MergeSurfaces(Surface, Surface, Double, Double)
Merges two surfaces into one surface at untrimmed edges.
Public Method
Static Member
MergeSurfaces(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 Method
NonConstOperation
Destroy cache handle
(Inherited from GeometryBase.)
Protected Method
OnSwitchToNonConst
Is called when a non-constant operation occurs.
(Inherited from GeometryBase.)
Public Method
RebuildTrimsForV2
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 Method
RemoveFins
Recursively removes any Brep face with a naked edge. This function is only useful for non-manifold Breps.
Public Method
RemoveHoles(Double)
Remove all inner loops, or holes, in a Brep.
Public Method
RemoveHoles(IEnumerable.ComponentIndex., Double)
Removes inner loops, or holes, in a Brep.
Public Method
Repair
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 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
SetTolerancesBoxesAndFlags.
Set tolerances and flags in a Brep.
Public Method
SetTolerancesBoxesAndFlags(Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean)
Set tolerances and flags in a Brep.
Public Method
SetTrimIsoFlags
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 Method
SetUserString
Attach a user string (key,value combination) to this geometry.
(Inherited from GeometryBase.)
Public Method
SetVertices
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 Method
Split(Brep, Double)
Splits a Brep into pieces using a Brep as a cutter.
Public Method
Split(IEnumerable.Brep., Double)
Splits a Brep into pieces using Breps as cutters.
Public Method
Split(IEnumerable.Curve., Double)
Splits a Brep into pieces using curves, at least partially on the Brep, as cutters.
Public Method
Split(Brep, Double, Boolean.)
Splits a Brep into pieces using a Brep as a cutter.
Public Method
Split(IEnumerable.GeometryBase., Vector3d, Boolean, Double)
Splits a Brep into pieces using a combination of curves, to be extruded, and Breps as cutters.
Public Method
Standardize
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 Method
ToJSON
Create a JSON string representation of this object
(Inherited from CommonObject.)
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
TransformComponent
Transform an array of Brep components, bend neighbors to match, and leave the rest fixed.
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
Trim(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 Method
Trim(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 Method
Static Member
TryConvertBrep
Attempts to convert a generic Geometry object into a Brep.
Public Method
UnjoinEdges
Un-joins, or separates, edges within the Brep. Note, seams in closed surfaces will not separate.